Kubectlの話
Kubernetes ClusterはMaster Node と Worker Nodeで構成されています.
ここで注意が必要です
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
これで無事解決!!!!!!