Kubernetes構成ファイルの作成
Compute Cloud@Customerでは、作業するOKEクラスタごとにKubernetes構成ファイルを設定できます。Kubernetes構成ファイルを使用すると、kubectl
コマンドおよびKubernetes Dashboardを使用してOKEクラスタにアクセスできます。
Kubernetes構成ファイルは、クラスタ、ユーザー、ネームスペースおよび認証メカニズムに関する情報を編成します。コンテキストを定義して、クラスタとネームスペースを簡単に切り替えることができます。kubectl
ツールは、Kubernetes構成ファイルを使用して、クラスタを選択し、クラスタのAPIサーバーと通信するために必要な情報を検索します。
Kubernetesコマンドライン・ツールのインストール
Kubernetesコマンドライン・ツールkubectl
をインストールして構成します。kubectl
ツールを使用すると、アプリケーションのデプロイ、クラスタ・リソースの検査と管理、ログの表示などのOKEクラスタに対する操作を実行できます。
kubectl
をインストールするには、Kubernetesインストール・ツールを参照してください。kubectl
バージョンは、OKEクラスタKubernetesバージョンの1マイナー・バージョン以内である必要があります。たとえば、v1.29クライアントは、v1.28、v1.29およびv1.30コントロール・プレーンと通信できます。サポートされているKubernetesのバージョンを参照してください。
kubectl
操作の完全なリストなどの詳細は、https://kubernetes.io/docs/reference/kubectl/のリファレンス・ページを参照してください。
Kubernetes構成ファイルの作成
CLIを使用して、Kubernetes構成ファイルを作成します。
-
クラスタのOCIDを取得します:
oci ce cluster list
-
構成ファイルを作成するには、説明に従ってoci ce cluster create-kubeconfigコマンドを実行します:
--cluster-id
オプションは必須です。--file
オプションのデフォルト値は~/.kube/config
です。指定された場所にすでにファイルがあり、それを置き換える場合は、--overwrite
オプションを使用します。複数の構成ファイルを保持するには、KUBECONFIG
環境変数または--kubeconfig
オプションを使用して別のファイルを選択します。--kube-endpoint
オプションの値は、PUBLIC_ENDPOINT
である必要があります。--profile
オプションを指定しない場合、OCI_CLI_PROFILE
環境変数の現在の値が使用されます。ベスト・プラクティスは、この値を指定することです。指定する場合は、
--token-version
オプションの値を2.0.0にする必要があります。次に例を示します:
次のコマンドを使用して、パブリック・エンドポイントを使用して、指定したクラスタのKubernetes構成ファイルを構成します:
$ oci ce cluster create-kubeconfig --cluster-id ocid1.cluster.unique_ID \ --file $HOME/.kube/config --kube-endpoint PUBLIC_ENDPOINT --profile profile-name New config written to the Kubeconfig file /home/username/.kube/config
Kubernetes構成ファイルには、認証トークンを動的に生成し、
kubectl
コマンドの実行時に挿入するCLIコマンドが含まれています。デフォルトでは、Kubernetes構成ファイルのCLIコマンドは、認証トークンの生成時に現在のCLIプロファイルを使用します。CLI構成ファイルに複数のプロファイルを定義した場合は、次のいずれかの方法を使用して、認証トークンの生成時に使用するプロファイルを指定します。profile-name
の値は、CLI構成ファイル内のプロファイルの名前です。-
OCI_CLI_PROFILE
環境変数が、ocid1.cluster.unique_ID
が存在するテナンシのプロファイルに設定されていることを確認します。この設定は、Kubernetes構成ファイルでこのクラスタのプロファイルを指定するために次のいずれかの方法が使用された場合、無視されます。 -
前述のコマンド例に示すように、
create-kubeconfig
コマンドラインで--profile
オプションを指定します。 -
次の例に示すように、生成された構成ファイルを編集します。
user: exec: apiVersion: client.authentication.k8s.io/v1beta1 args: - ce - cluster - generate-token - --cluster-id - cluster ocid - --profile - profile-name command: oci env: []
次のコマンドを使用して、
KUBECONFIG
環境変数を、前のコマンドで作成または更新したKubernetes構成ファイルに設定します:$ export KUBECONFIG=$HOME/.kube/config
次のコマンドは、新しいYAML構成ファイルの内容を表示します。
$ kubectl config view
別のクラスタOCIDでコマンドを再度実行すると、新しい情報が既存の情報とマージされます。次のメッセージが表示されます:
Existing Kubeconfig file found at /home/username/.kube/config and new config merged into it
-
次の手順:
クラスタ・アクセスの検証
kubectl
コマンドを実行する前に、OCI_CLI_PROFILE
環境変数が、OCI構成ファイルで定義されているプロファイルの名前に設定されていることを確認します:
$ export OCI_CLI_PROFILE=<profile-name>
次のコマンドを実行して、クラスタにアクセスできることを確認します。
$ kubectl cluster-info
すべてのKubernetesネームスペースには、少なくとも1つのServiceAccount (そのネームスペースのデフォルトServiceAccount) (default
という名前)が含まれます。ポッドの作成時にServiceAccountを指定しない場合、OKEサービスによって、そのネームスペースにdefault
という名前のServiceAccountが自動的に割り当てられます。
Pod内で実行されているアプリケーションは、自動的にマウントされたサービス・アカウント資格証明を使用してKubernetes APIにアクセスできます。
次の手順:
Kubernetes Dashboardの作成
ダッシュボードは、クラスタの管理、およびクラスタで実行されているアプリケーションの管理とトラブルシューティングに役立ちます。
Kubernetesサイトで、Kubernetes Dashboardのデプロイおよびアクセスを参照してください
次の手順: