2
1

Kubectlのconfig設定について

Last updated at Posted at 2023-11-17

Kubectlの話

Kubernetes ClusterはMaster Node と Worker Nodeで構成されています.

Kubernetes-Architecture.png

引用元
https://lutaverse.com/blog-details/the-evolution-of-containerization-revolutionizing-software-development-and-deployment

ここで注意が必要です
Master Nodeで作業もできるのですが,セキュリティやNode内にファイルが散乱するなど,おすすめできません.
この図の左下のようにCLI(Kubectl)を外部の環境に用意することが必要です.
なので,今回はkubectlのインストールからkubectlのkubernetesクラスタへの接続方法について記述します.

kubectlのインストール

ここではUbuntu OSを前提とした内容となっています.
curlコマンドを使用してkubectlをインストールします.この方法は公式ドキュメントにも記されています.
https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/
実施コマンド

curl -LO "https://dl.k8s.io/release/$(curl -LS https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

実行結果

 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   138  100   138    0     0    666      0 --:--:-- --:--:-- --:--:--   666
100     7  100     7    0     0     16      0 --:--:-- --:--:-- --:--:--    16
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
"config" 0L, 0B                                                                                   0,0-1         All
apiVersion: v1
100   138  100   138    0     0    719      0 --:--:-- --:--:-- --:--:--   718
100 47.5M  100 47.5M    0     0  43.3M      0  0:00:01  0:00:01 --:--:-- 44.2M

これで無事kubectlのインストールが完了しました.
次に実行権限の付与(chmod)とkubectlをバイナリーPATHに移動させます

kubectlへの実行権限

このままだとkubectlコマンドが使えません.
まず実行権限を与えます.

chmod +x ./kubectl

そして次にバイナリーPATHに移動させます.

sudo mv ./kubectl /usr/local/bin/kubectl

configファイルの設定

今回はすでにconfigファイルがあることを前提とした内容となっています.
ホームディレクトリ直下に「./kube」ディレクトリを作成します

mkdir ~/.kube

「./kube」ディレクトリ直下に「config」を作成します.

touch ~/.kube/config

この作成したconfigに事前に用意したconfigの内容を記述します(コピペでOK)

vim ~/.kube/config

以下がconfigの例(一部消しています)

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: 
    server: https://
  name: default
contexts:
- context:
    cluster: default
    user: default
  name: default
current-context: default
kind: Config
preferences: {}
users:
- name: default
  user:
    client-certificate-data: LS0tLS1CRUdJTiBDRV
    client-key-data: 

これでconfigの作成は終了です.
次はkubectlの実行パスを通す作業に移ります.

kubectlのパス設定

先程設定したconfigを使用するためにkubectlのパスを設定します.
と思ったのですが,kubectlは初期設定で「.kube/config」を参照しに行くので,設定が必要ありません.
というのは誤りでした 11月3日早朝に気づく
インストールした後に実行権限を与えバイナリパスに移動させる必要が有りました!!
すでにインストール後の作業に追記済み

ログインの度にkubectlが使えない人へ

ログイン時に自動的にkubectlのconfig参照先を設定します.

configの所有者を変更し,参照先を固定することで解決できます.

所有者の変更

sudo chown $(id -u):$(id -g) ~/.kube/config

参照先の固定

echo 'export KUBECONFIG=~/.kube/config' >> ~/.bashrc
source ~/.bashrc

これで無事解決!!!!!!

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1