OCIでのクラスタの作成
OCIでKubernetesクラスタを作成する方法を学習します。
oci
プロバイダを使用してクラスタを作成すると、次のようになります:
-
CLIは、管理クラスタが使用可能かどうかを検出します。 そうでない場合は、エフェメラル・クラスタを起動して管理クラスタとして機能します。 エフェメラル・クラスタの起動に必要なすべてのリソースがフェッチされ、インストールされます。
-
管理クラスタが使用可能な場合、構成されたOCIコンパートメントで、互換性のあるコンピュートOracle Container Host for Kubernetes (OCK)イメージがチェックされます。 使用可能なOCKイメージがない場合は、それらが生成され、OCI Object Storageバケットにアップロードされて、管理クラスタにインポートされます。 OCKイメージは、Qcow2形式からブート可能なコンピュート・イメージに変換され、カスタム・コンピュート・イメージとして保存されます。
-
このプロセスが完了すると、すべてのKubernetesクラスタAPIプロバイダが管理クラスタにインストールされます。
-
KubernetesクラスタAPIプロバイダが起動すると、KubernetesクラスタAPIリソースが管理クラスタにインストールされます。
-
管理クラスタの準備が完了すると、コンピュート・インスタンス、ネットワーキングおよびネットワーク・ロード・バランサを含むOCIクラスタが作成および設定されます。
-
OCIクラスタが自己管理に設定されている場合は、クラスタAPIリソースがワークロード・クラスタに移行されます。
OCIクラスタの作成
oci
プロバイダを使用して、OCIにKubernetesクラスタを作成します。
oci
プロバイダを使用してOCIにKubernetesクラスタを作成するには、まずlibvirt
プロバイダを使用してエフェメラル・クラスタを作成するようにlocalhostを設定するか、クラスタを管理クラスタとして使用できるようにする必要があります。 管理クラスタの詳細は、「OCIプロバイダ」を参照してください。
また、OCI CLIをlocalhostにインストールおよび構成して、クラスタが作成されているOCIコンパートメントへのアクセスを有効にする必要があります。
オプションで、クラスタ構成ファイルを使用して、コントロール・プレーンおよびワーカー・ノードの数、クラスタAPI CRを含むクラスタ定義ファイル、オブジェクト・ストレージ・バケット名(ocne-images
のデフォルトが使用されていない場合)、またはその他の数の構成オプションなどのクラスタ情報を指定できます。
クラスタ構成ファイル・オプションで設定が指定されていないが、クラスタAPIプロバイダで使用可能な場合は、クラスタのCRを含むクラスタ・テンプレート・ファイルを作成します。 その後、「クラスタAPI」オプションを使用してこれらのCRを手動で編集し、テンプレートをクラスタ構成ファイルに含めることができます。
重要:
高可用性のスプリット・イン・シナリオを回避するには、コントロール・プレーン・ノードの数を奇数(1、3、5など)にする必要があります。 デフォルトは1つのコントロール・プレーン・ノードと0つのワーカー・ノードです。
クラスタ・インストールのモニタリング
KubernetesクラスタAPIポッドのログを表示して、OCIでのKubernetesクラスタの作成を監視します。
OCIでのKubernetesクラスタのデプロイメントを監視するには、管理クラスタで作成された複数のKubernetesクラスタAPIポッドのログを確認します。
ヒント:
クラスタを自己管理に設定した場合、デプロイメントが成功すると、エフェメラル・クラスタは削除されます。 エフェメラル・クラスタの削除後にログを表示するには、次のように、クラスタのkubeconfig
ファイルをOCIで実行されているワークロード・クラスタに設定します:
export KUBECONFIG=$(ocne cluster show --cluster-name cluster-name)
ここで、cluster_nameはワークロード・クラスタの名前です。