第13章 Cluster API によるマシンの管理
13.1. Cluster API について
Cluster API を使用したマシン管理は、テクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Cluster API は、Amazon Web Services (AWS) および Google Cloud Platform (GCP) のテクノロジープレビューとして OpenShift Container Platform に統合されるアップストリームプロジェクトです。
13.1.1. Cluster API の概要
Cluster API を使用すると、OpenShift Container Platform クラスター内のコンピュートマシンセットとコンピュートマシンを作成および管理できます。この機能は、Machine API を使用してマシンを管理するための追加または代替の機能になります。
OpenShift Container Platform 4.15 クラスターの場合、Cluster API を使用して、クラスターのインストールが完了した後にノードホストのプロビジョニング管理アクションを実行できます。このシステムにより、パブリックまたはプライベートクラウドインフラストラクチャー上で柔軟かつ動的な方法でプロビジョニングできます。
Cluster API テクノロジープレビューを使用すると、サポートされているプロバイダーの OpenShift Container Platform クラスター上にコンピュートマシンおよびコンピュートマシンセットを作成できます。Machine API では利用できない可能性がある、この実装によって有効になる機能も確認できます。
13.1.1.1. Cluster API の利点
Cluster API を使用すると、OpenShift Container Platform のユーザーと開発者は次の利点を得ることができます。
- Machine API でサポートされていない可能性のあるアップストリームコミュニティーの Cluster API インフラストラクチャープロバイダーを使用する選択肢。
- インフラストラクチャープロバイダーのマシンコントローラーを保守するサードパーティーと協力する機会。
- OpenShift Container Platform でのインフラストラクチャー管理に一連の同じ Kubernetes ツールを使用する機能。
- Machine API では利用できない機能をサポートする Cluster API を使用してコンピュートマシンセットを作成する機能。
13.1.1.2. Cluster API の制限
Cluster API を使用したマシン管理はテクノロジープレビュー機能であり、次の制限があります。
この機能を使用するには、
TechPreviewNoUpgrade
機能セットを有効にする必要があります。重要この機能セットを有効にすると元に戻すことができなくなり、マイナーバージョン更新ができなくなります。
- Cluster API を使用できるのは AWS および GCP クラスターのみです。
- Cluster API に必要なプライマリーリソースを手動で作成する必要があります。詳細は、「Cluster API の使用開始」を参照してください。
- Cluster API を使用してコントロールプレーンマシンを管理することはできません。
- Machine API によって作成された既存のマシンセットの、Cluster API コンピュートマシンセットへの移行はサポートされていません。
- Machine API との完全な機能パリティーは利用できません。
Cluster API を使用するクラスターの場合、OpenShift CLI (
oc
) コマンドで、Machine API オブジェクトよりも Cluster API オブジェクトが優先されます。この動作は、Cluster API と Machine API の両方で表されるオブジェクトに対して動作するoc
コマンドに影響します。この問題の詳細と回避策は、トラブルシューティングコンテンツの「CLI 使用時に目的のオブジェクトを参照する」を参照してください。
13.1.2. Cluster API アーキテクチャー
アップストリーム Cluster API の OpenShift Container Platform 統合は、Cluster CAPI Operator によって実装および管理されます。Cluster CAPI Operator とそのオペランドは、openshift-machine-api
namespace を使用する Machine API とは対照的に、openshift-cluster-api
namespace でプロビジョニングされます。
13.1.2.1. Cluster CAPI Operator
Cluster CAPI Operator は、Cluster API リソースのライフサイクルを維持する OpenShift Container Platform Operator です。この Operator は、OpenShift Container Platform クラスター内での Cluster API プロジェクトのデプロイに関連するすべての管理タスクを行います。
Cluster API の使用を許可するようにクラスターが正しく設定されている場合、Cluster CAPI Operator は Cluster API コンポーネントをクラスターにインストールします。
詳細は、クラスター Operator リファレンス の「クラスター CAPI Operator」を参照してください。
13.1.2.2. Cluster API のプライマリーリソース
Cluster API は、次のプライマリーリソースで構成されています。この機能のテクノロジープレビュー版では、openshift-cluster-api
namespace でこれらのリソースを手動で作成する必要があります。
- クラスター
- Cluster API によって管理されるクラスターを表す基本単位。
- インフラストラクチャー
- リージョンやサブネットなど、クラスター内のすべてのコンピュートマシンセットで共有されるプロパティーを定義するプロバイダー固有のリソース。
- マシンテンプレート
- コンピュートマシンセットが作成するマシンのプロパティーを定義するプロバイダー固有のテンプレート。
- マシンセット
マシンのグループ。
コンピュートマシンセットは、レプリカセットと Pod の関係としてマシンに対して行われます。マシンを追加したりスケールダウンしたりするには、コンピュートマシンの
replicas
フィールドを変更して、コンピュートニーズに合わせてカスタムリソースを設定します。Cluster API を使用すると、コンピュートマシンセットは
Cluster
オブジェクトとプロバイダー固有のマシンテンプレートを参照します。- マシン
ノードのホストを記述する基本的なユニットです。
Cluster API は、マシンテンプレートの設定に基づいてマシンを作成します。