Cluster API

Verrazzanoを使用した新しいクラスタの作成および管理

Cluster API (CAPI)プロジェクトはKubernetesのサブプロジェクトとして開発され、クラスタ管理用の一連のKubernetesスタイルのAPIを標準化するよう努めています。外部組織は、これらの標準APIに基づいて、カスタム・クラスタ管理ソリューションを開発できます。

CAPIの詳細は、Kubernetes Cluster APIのドキュメントを参照してください。

VerrazzanoにはclusterAPIコンポーネントを介してCAPI機能が組み込まれており、これにより、クラスタを迅速に設計およびデプロイし、そのライフサイクルを通じてクラスタを管理し続ける機能を、すべてVerrazzano内から提供します。

CAPIでは、クラスタ管理の役割をプロバイダと呼ばれる3つの主要コンポーネントに分離しています:

  • インフラストラクチャ・プロバイダは、クラスタまたはマシンに必要なインフラストラクチャまたは計算リソースをプロビジョニングすることで、ホスト環境を標準化します。

  • ブートストラップ・プロバイダは、サーバーをKubernetesノードに変換することで、ノード作成プロセスを合理化します。

  • コントロール・プレーン・プロバイダは、Kubernetes APIと連携してクラスタを調整し、常に望ましい状態になるよう努めています。

現在、Verrazzanoは、ブートストラップ・プロバイダとコントロール・プレーン・プロバイダをバンドルし、Oracle Cloud Infrastructure (OCI)が提供するCAPOCIインフラストラクチャ・プロバイダと連携するCAPI provider for Oracle Cloud Native Environment (CAPOCNE)をサポートしています。

設定プロセス中に、ブートストラップ・プロバイダはクラスタを管理クラスタ(他の下位または管理対象クラスタを制御するKubernetesクラスタ)に変換します。証明書を生成し、追加のノードの作成を開始および管理し、コントロール・プレーン・ノードおよびワーカー・ノードのクラスタへの追加を処理します。

次に、CAPIインフラストラクチャ・プロバイダは、クラウド・プロバイダ上に最初のインスタンスをプロビジョニングし、プロバイダIDを生成します。プロバイダIDは、将来のノードとクラスタがインスタンスに関連付けるために使用する一意の識別子です。kubeconfigファイルも作成されます。これらの作成後に、最初のコントロール・プレーン・ノードの準備が整います。

管理クラスタが稼働した後、clusterAPIコンポーネントを使用して、追加の管理対象クラスタを作成できます。