7 OCIプロバイダ
ociプロバイダを使用して、Oracle Cloud Infrastructure (OCI)にKubernetesクラスタを作成します。
               
Kubernetesクラスタは、ociプロバイダを使用してOCIにデプロイされます。 ociプロバイダは、OCIのKubernetesクラスタAPIプロバイダを使用してデプロイメントを実行します。 これは、KubernetesクラスタAPIの実装です。 KubernetesクラスタAPIは、Kubernetesクラスタで実行されているアプリケーションによってサービスされるKubernetesカスタム・リソース(CR)として実装されます。 KubernetesクラスタAPIには大きなインタフェースがあり、アップストリームのドキュメントで説明されています。 KubernetesクラスタAPIの詳細は、「KubernetesクラスタAPIドキュメント」を参照してください。 OCIのクラスタAPI実装の詳細は、「OCI KubernetesクラスタAPIプロバイダ」のドキュメントを参照してください。  
               
OCIにクラスタを作成するには、既存のテナンシに資格証明を指定する必要があります。 必要な権限は、作成されたクラスタの構成によって異なります。 デプロイメントによっては、コンピュート・インスタンスを作成および破棄する権限を持つだけで十分である場合があります。 その他のデプロイメントでは、より多くの権限が必要になる場合があります。
クラスタは、特定のコンパートメントにデプロイされます。 ociプロバイダでは、コンパートメントが使用可能である必要があります。 コンパートメントは、Oracle Cloud識別子(OCID)またはコンパートメント階層のパス(parentcompartment/mycompartmentなど)で指定できます。 
               
KubernetesクラスタAPIを実装するコントローラは、Kubernetesクラスタ内で実行されます。 これらのクラスタは、「管理クラスタ」と呼ばれます。 管理クラスタは、「ワークロード・クラスタ」と呼ばれる他のクラスタのライフサイクルを制御します。 ワークロード・クラスタは、独自の管理クラスタにすることができます。
KubernetesクラスタAPIを使用してOCIにクラスタをデプロイするには、Kubernetesクラスタを管理クラスタとして使用できる必要があります。 実行中の任意のクラスタを使用できます。 管理クラスタを設定するには、KUBECONFIG環境変数を設定するか、ocneコマンドの--kubeconfigオプションを使用します。 構成ファイルを使用してこのクラスタを設定することもできます。 使用可能な管理クラスタがない場合は、デフォルトの構成でlibvirtプロバイダを使用してクラスタが自動的に作成されます。  
               
ワークロード・クラスタがデプロイされると、管理クラスタ内のKubernetesクラスタAPIリソースを使用して管理されます。
ワークロード・クラスタは、独自の管理クラスタにすることができます。 これは、「自己管理クラスタ」と呼ばれます。 自己管理クラスタでは、ワークロード・クラスタがデプロイされると、クラスタAPIリソースがワークロード・クラスタに移行されます。
図7-1 OCIクラスタ

OCIクラスタ・アーキテクチャには、次のコンポーネントがあります:
- 
                     
                     CLI: Kubernetesクラスタの作成および管理に使用されるCLI。 ocneコマンド。
- 
                     
                     デフォルト構成: すべての ocneコマンドの構成を含むYAMLファイル。
- 
                     
                     クラスタ構成: 特定のKubernetesクラスタの構成を含むYAMLファイル。 
- 
                     
                     クラスタAPIテンプレート: クラスタを作成するためのKubernetesクラスタAPIのクラスタ・リソースを含むYAMLファイル。 
- 
                     
                     OCI CLI: OCI CLIは、テナンシおよびコンパートメントに対して読取りおよび書込みを行う構成を含め、localhostにインストールされます。 
- 
                     
                     コンテナ・レジストリ: Kubernetesクラスタ内のノードの作成に使用されるイメージのプルに使用されるコンテナ・レジストリ。 デフォルトはOracle Container Registryです。 
- 
                     
                     OCI OCKイメージ: CLIは、コンテナ・レジストリからプルされたOCKイメージに基づいて、このイメージを作成するために使用されます。 CLIを使用して、このイメージをOCIにアップロードします。 
- 
                     
                     エフェメラル・クラスタまたは管理クラスタ: CLIコマンドの実行に使用されるKubernetesクラスタ。 このクラスタは、クラスタ・サービスの起動やクラスタの管理にも使用できます。 
- 
                     
                     コンパートメント: クラスタが作成されるOCIコンパートメント。 
- 
                     
                     OCKイメージ: OCKイメージは、オブジェクト・ストレージ・バケットにロードされます。 アップロードが完了すると、OCKイメージからカスタム・コンピュート・イメージが作成されます。 
- 
                     
                     カスタム・コンピュート・イメージ: OCKイメージはカスタム・コンピュート・イメージとして使用でき、Kubernetesクラスタにコンピュート・ノードを作成するために使用できます。 
- 
                     
                     コントロール・プレーン・ロード・バランサ: コントロール・プレーン・ノードの高可用性(HA)に使用されるネットワーク・ロード・バランサ。 
- 
                     
                     コントロール・プレーン・ノード: Kubernetesクラスタ内のコントロール・プレーン・ノードを実行しているコンピュート・インスタンス。 
- 
                     
                     ワーカー・ノード: Kubernetesクラスタ内のワーカー・ノードを実行しているコンピュート・インスタンス。