Oracle Linux Cloud Native Environmentを使用すると、オペレータ・ノードから複数の環境を作成できます。そのため、kubectlコマンドは、Kubernetesクラスタ内のマスター・ノードで使用することをお薦めします。オペレータ・ノードからkubectlコマンドを使用すると、複数の環境をデプロイしていた場合、誤って予定していないKubernetesクラスタを管理してしまう可能性があります。オペレータ・ノードでkubectlコマンドを実行するように設定するには、そのように構成する必要があります。
デフォルトでは、kubectlコマンドはオペレータ・ノードからKubernetesに接続するように設定されません。オペレータ・ノードのkubectlコマンドを設定する場合は、Kubernetes構成ファイルのローカル・コピーを作成し、そのファイルを使用してクラスタに接続します。
通常ユーザーとしてkubectlコマンドを実行するには、オペレータ・ノードで次のステップを実行します。
オペレータ・ノードでkubectlを設定するには:
Kubernetes構成を取得して、その構成をオペレータ・ノードのローカル・ファイルにコピーします。olcnectl module property getコマンドを使用して、
kubernetes
モジュールのkubecfg
プロパティからKubernetes構成を取得します。次に例を示します。$
olcnectl --api-server 127.0.0.1:8091 module property get \ --environment-name myenvironment --name mycluster \ --property kubecfg | base64 -d > kubeconfig.yaml
kubeconfig.yaml
ファイルは、--kubeconfig
オプションを使用することでkubectlの実行時に直接使用できます。次に例を示します。$
kubectl get pods -n kube-system --kubeconfig kubeconfig.yaml
また、Kubernetes構成を保存すると、
--kubeconfig
オプションを使用する必要がなくなります。ホーム・ディレクトリ内に、.kube
サブディレクトリを作成します。$
mkdir -p $HOME/.kube
Kubernetes
kubeconfig.yaml
ファイルを.kube
ディレクトリにコピーします。$
cp kubeconfig.yaml $HOME/.kube/config
このファイルへのパスを
KUBECONFIG
環境変数にエクスポートします。$
export KUBECONFIG=$HOME/.kube/config
この環境変数を永続的に設定するには、その変数を
.bashrc
ファイルに追加します。$
echo 'export KUBECONFIG=$HOME/.kube/config' >> $HOME/.bashrc
kubectlコマンドが使用できることを確認します。
Kubernetesでは、多数のサービスを実行して、クラスタ構成をKubernetesポッドとして実行するコンテナとして管理しています。それらは、マスター・ノードで次のコマンドを実行することで確認できます。
$
kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE coredns-5bc65d7f4b-qzfcc 1/1 Running 0 23h coredns-5bc65d7f4b-z64f2 1/1 Running 0 23h etcd-master1.example.com 1/1 Running 0 23h kube-apiserver-master1.example.com 1/1 Running 0 23h kube-controller-master1.example.com 1/1 Running 0 23h kube-flannel-ds-2sjbx 1/1 Running 0 23h kube-flannel-ds-njg9r 1/1 Running 0 23h kube-proxy-m2rt2 1/1 Running 0 23h kube-proxy-tbkxd 1/1 Running 0 23h kube-scheduler-master1.example.com 1/1 Running 0 23h kubernetes-dashboard-7646bf6898-d6x2m 1/1 Running 0 23h