13.5. Cluster API マシンの設定オプション
13.5.1. Amazon Web Services の Cluster API 設定オプション リンクのコピーリンクがクリップボードにコピーされました!
Cluster API を使用したマシン管理は、テクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat テクノロジープレビュー機能のサポート範囲の詳細は、次のリンクを参照してください。
Cluster API カスタムリソースマニフェストの値を更新することで、Amazon Web Services (AWS) Cluster API マシンの設定を変更できます。
13.5.1.1. Amazon Web Services クラスターを設定するサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
次の YAML ファイルの例は、Amazon Web Services クラスターの設定を示しています。
13.5.1.1.1. Amazon Web Services 上の Cluster API インフラストラクチャーリソースのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
インフラストラクチャーリソースはプロバイダー固有であり、リージョンやサブネットなど、クラスター内のすべてのコンピュートマシンセットで共有されるプロパティーを定義します。コンピュートマシンセットは、マシン作成時にこのリソースを参照します。
apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
kind: AWSCluster
metadata:
name: <cluster_name>
namespace: openshift-cluster-api
spec:
controlPlaneEndpoint:
host: <control_plane_endpoint_address>
port: 6443
region: <region>
13.5.1.1.2. Amazon Web Services の Cluster API マシンテンプレートリソースのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
マシンテンプレートリソースはプロバイダー固有であり、コンピュートマシンセットが作成するマシンの基本的なプロパティーを定義します。コンピュートマシンセットは、マシン作成時にこのテンプレートを参照します。
apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
kind: AWSMachineTemplate
metadata:
name: <template_name>
namespace: openshift-cluster-api
spec:
template:
spec:
uncompressedUserData: true
iamInstanceProfile: # ...
instanceType: m5.large
ignition:
storageType: UnencryptedUserData
version: "3.2"
ami:
id: # ...
subnet:
filters:
- name: tag:Name
values:
- # ...
additionalSecurityGroups:
- filters:
- name: tag:Name
values:
- # ...
13.5.1.1.3. Amazon Web Services の Cluster API コンピューティングマシンセットリソースのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
コンピュートマシンセットリソースは、作成するマシンの追加プロパティーを定義します。コンピュートマシンセットは、マシン作成時にインフラストラクチャーリソースとマシンテンプレートも参照します。
apiVersion: cluster.x-k8s.io/v1beta1
kind: MachineSet
metadata:
name: <machine_set_name>
namespace: openshift-cluster-api
spec:
clusterName: <cluster_name>
replicas: 1
selector:
matchLabels:
test: example
template:
metadata:
labels:
test: example
spec:
bootstrap:
dataSecretName: worker-user-data
clusterName: <cluster_name>
infrastructureRef:
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: AWSMachineTemplate
name: <template_name>
13.5.2. Google Cloud の Cluster API 設定オプション リンクのコピーリンクがクリップボードにコピーされました!
Cluster API を使用したマシン管理は、テクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat テクノロジープレビュー機能のサポート範囲の詳細は、次のリンクを参照してください。
Cluster API カスタムリソースマニフェストの値を更新することで、Google Cloud Cluster API マシンの設定を変更できます。
13.5.2.1. Google Cloud クラスターを設定するためのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
次の YAML ファイルの例は、Google Cloud クラスターの設定を示しています。
13.5.2.1.1. Google Cloud Platform 上の Cluster API インフラストラクチャーリソースのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
インフラストラクチャーリソースはプロバイダー固有であり、リージョンやサブネットなど、クラスター内のすべてのコンピュートマシンセットで共有されるプロパティーを定義します。コンピュートマシンセットは、マシン作成時にこのリソースを参照します。
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: GCPCluster
metadata:
name: <cluster_name>
spec:
controlPlaneEndpoint:
host: <control_plane_endpoint_address>
port: 6443
network:
name: <cluster_name>-network
project: <project>
region: <region>
13.5.2.1.2. Google Cloud 上の Cluster API マシンテンプレートリソースのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
マシンテンプレートリソースはプロバイダー固有であり、コンピュートマシンセットが作成するマシンの基本的なプロパティーを定義します。コンピュートマシンセットは、マシン作成時にこのテンプレートを参照します。
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: GCPMachineTemplate
metadata:
name: <template_name>
namespace: openshift-cluster-api
spec:
template:
spec:
rootDeviceType: pd-ssd
rootDeviceSize: 128
instanceType: n1-standard-4
image: projects/rhcos-cloud/global/images/rhcos-411-85-202203181601-0-gcp-x86-64
subnet: <cluster_name>-worker-subnet
serviceAccounts:
email: <service_account_email_address>
scopes:
- https://www.googleapis.com/auth/cloud-platform
additionalLabels:
kubernetes-io-cluster-<cluster_name>: owned
additionalNetworkTags:
- <cluster_name>-worker
ipForwarding: Disabled
13.5.2.1.3. Google Cloud 上の Cluster API コンピュートマシンセットリソースのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
コンピュートマシンセットリソースは、作成するマシンの追加プロパティーを定義します。コンピュートマシンセットは、マシン作成時にインフラストラクチャーリソースとマシンテンプレートも参照します。
apiVersion: cluster.x-k8s.io/v1beta1
kind: MachineSet
metadata:
name: <machine_set_name>
namespace: openshift-cluster-api
spec:
clusterName: <cluster_name>
replicas: 1
selector:
matchLabels:
test: example
template:
metadata:
labels:
test: example
spec:
bootstrap:
dataSecretName: worker-user-data
clusterName: <cluster_name>
infrastructureRef:
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: GCPMachineTemplate
name: <template_name>
failureDomain: <failure_domain>
13.5.3. Red Hat OpenStack Platform の Cluster API 設定オプション リンクのコピーリンクがクリップボードにコピーされました!
Cluster API を使用したマシン管理は、テクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat テクノロジープレビュー機能のサポート範囲の詳細は、次のリンクを参照してください。
Cluster API カスタムリソースマニフェストの値を更新することで、Red Hat OpenStack Platform (RHOSP) Cluster API マシンの設定を変更できます。
13.5.3.1. RHOSP クラスターを設定するためのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
次の YAML ファイルの例は、RHOSP クラスターの設定を示しています。
13.5.3.1.1. RHOSP 上の Cluster API インフラストラクチャークラスターリソースのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
インフラストラクチャーリソースはプロバイダー固有であり、リージョンやサブネットなど、クラスター内のすべてのコンピュートマシンセットで共有されるプロパティーを定義します。コンピュートマシンセットは、マシン作成時にこのリソースを参照します。
以下の例のパラメーターのみが、OpenShift Container Platform と互換性があることが検証されます。アップストリームの Cluster API Provider OpenStack ガイドに記載されている他のパラメーターにより、望ましくない動作が発生する可能性があります。
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: OpenStackCluster
metadata:
name: <cluster_name>
namespace: openshift-cluster-api
labels:
cluster.x-k8s.io/cluster-name: <cluster_name>
spec:
controlPlaneEndpoint: <control_plane_endpoint_address>
disableAPIServerFloatingIP: true
tags:
- openshiftClusterID=<cluster_name>
network:
id: <api_service_network_id>
externalNetwork:
id: <floating_network_id>
identityRef:
cloudName: openstack
name: openstack-cloud-credentials
- 1
- クラスターのインフラストラクチャーの種類を指定します。この値は、プラットフォームの値と一致する必要があります。
- 2
- クラスターの名前としてクラスター ID を指定します。
- 3
- コントロールプレーンエンドポイントの IP アドレスと、それにアクセスするために使用するポートを指定します。
- 4
- ポートを指定しないマシンに使用するデフォルトネットワークの UUID を指定します。注記
この機能は今後のリリースで削除される可能性があります。この機能が削除されたための問題を防ぐには、この機能のみに依存するのではなく、マシン仕様に少なくとも 1 つのポートを指定します。
- 5
- 外部ネットワークの UUID を指定します。外部 Floating IP アドレスの割り当てに使用されるネットワーク、またはエグレスに使用されるネットワークを指定できます。注記
インフラストラクチャークラスターリソースにはこのフィールドが必要ですが、現在この値は使用されていません。この要件は、今後のリリースで削除される予定です。
13.5.3.1.2. RHOSP 上の Cluster API マシンテンプレートリソースのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
マシンテンプレートリソースはプロバイダー固有であり、コンピュートマシンセットが作成するマシンの基本的なプロパティーを定義します。コンピュートマシンセットは、マシン作成時にこのテンプレートを参照します。
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: OpenStackMachineTemplate
metadata:
name: <template_name>
namespace: openshift-cluster-api
spec:
template:
spec:
flavor: <openstack_node_machine_flavor>
image:
filter:
name: <openstack_image>
13.5.3.1.3. RHOSP 上の Cluster API コンピュートマシンセットリソースのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
コンピュートマシンセットリソースは、作成するマシンの追加プロパティーを定義します。コンピュートマシンセットは、マシン作成時にインフラストラクチャーリソースとマシンテンプレートも参照します。
apiVersion: cluster.x-k8s.io/v1beta1
kind: MachineSet
metadata:
name: <machine_set_name>
namespace: openshift-cluster-api
spec:
clusterName: <cluster_name>
replicas: 1
selector:
matchLabels:
test: example
cluster.x-k8s.io/cluster-name: <cluster_name>
cluster.x-k8s.io/set-name: <machine_set_name>
template:
metadata:
labels:
test: example
cluster.x-k8s.io/cluster-name: <cluster_name>
cluster.x-k8s.io/set-name: <machine_set_name>
node-role.kubernetes.io/<role>: ""
spec:
bootstrap:
dataSecretName: worker-user-data
clusterName: <cluster_name>
infrastructureRef:
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: OpenStackMachineTemplate
name: <template_name>
failureDomain: <nova_availability_zone>
- 1
- コンピュートマシンセットの名前を指定します。
- 2
- クラスターの名前としてクラスター ID を指定します。
- 3
- テクノロジープレビューの Cluster API では、Operator は
openshift-machine-apinamespace のワーカーユーザーデータシークレットを使用できます。 - 4
- マシンテンプレートの種類を指定します。この値は、プラットフォームの値と一致する必要があります。
- 5
- マシンテンプレート名を指定します。
- 6
- オプション: マシンを作成するマシンセットの Nova アベイラビリティーゾーンの名前を指定します。値を指定しない場合、マシンは特定のアベイラビリティーゾーンに制限されません。
13.5.4. VMware vSphere の Cluster API 設定オプション リンクのコピーリンクがクリップボードにコピーされました!
Cluster API を使用したマシン管理は、テクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat テクノロジープレビュー機能のサポート範囲の詳細は、次のリンクを参照してください。
Cluster API カスタムリソースマニフェストの値を更新することで、VMware vSphere Cluster API マシンの設定を変更できます。
13.5.4.1. VMware vSphere クラスターを設定するためのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
次の YAML ファイルの例は、VMware vSphere クラスターの設定を示しています。
13.5.4.1.1. VMware vSphere 上の Cluster API インフラストラクチャーリソースのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
インフラストラクチャーリソースはプロバイダー固有であり、リージョンやサブネットなど、クラスター内のすべてのコンピュートマシンセットで共有されるプロパティーを定義します。コンピュートマシンセットは、マシン作成時にこのリソースを参照します。
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: VSphereCluster
metadata:
name: <cluster_name>
spec:
controlPlaneEndpoint:
host: <control_plane_endpoint_address>
port: 6443
identityRef:
kind: Secret
name: <cluster_name>
server: <vsphere_server>
- 1
- クラスターのインフラストラクチャーの種類を指定します。この値は、プラットフォームの値と一致する必要があります。
- 2
- クラスターの名前としてクラスター ID を指定します。
- 3
- コントロールプレーンエンドポイントの IP アドレスと、それにアクセスするために使用するポートを指定します。
- 4
- クラスターの vSphere サーバーを指定します。次のコマンドを実行すると、既存の vSphere クラスターでこの値を見つけることができます。
$ oc get infrastructure cluster \ -o jsonpath="{.spec.platformSpec.vsphere.vcenters[0].server}"
13.5.4.1.2. VMware vSphere 上の Cluster API マシンテンプレートリソースのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
マシンテンプレートリソースはプロバイダー固有であり、コンピュートマシンセットが作成するマシンの基本的なプロパティーを定義します。コンピュートマシンセットは、マシン作成時にこのテンプレートを参照します。
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: VSphereMachineTemplate
metadata:
name: <template_name>
namespace: openshift-cluster-api
spec:
template:
spec:
template: <vm_template_name>
server: <vcenter_server_ip>
diskGiB: 128
cloneMode: linkedClone
datacenter: <vcenter_data_center_name>
datastore: <vcenter_datastore_name>
folder: <vcenter_vm_folder_path>
resourcePool: <vsphere_resource_pool>
numCPUs: 4
memoryMiB: 16384
network:
devices:
- dhcp4: true
networkName: "<vm_network_name>"
- 1
- マシンテンプレートの種類を指定します。この値は、プラットフォームの値と一致する必要があります。
- 2
- マシンテンプレートの名前を指定します。
- 3
- 環境の詳細を指定します。ここに示す値はサンプルです。
- 4
user-5ddjd-rhcosなどの使用する vSphere 仮想マシンテンプレートを指定します。- 5
- vCenter サーバーの IP または完全修飾ドメイン名を指定します。
- 6
- 使用する仮想マシンクローンのタイプを指定します。次の値が有効です。
-
fullClone -
linkedClone
linkedCloneタイプを使用する場合、ディスクサイズはdiskGiB値を使用するのではなく、クローンソースと同じになります。詳細は、仮想マシンのクローンタイプに関する vSphere のドキュメントを参照してください。 -
- 7
- コンピュートマシンセットをデプロイする vCenter データセンターを指定します。
- 8
- コンピュートマシンセットをデプロイする vCenter データストアを指定します。
- 9
/dc1/vm/user-inst-5ddjdなどの vCenter の vSphere 仮想マシンフォルダーへのパスを指定します。- 10
- 仮想マシンの vSphere リソースプールを指定します。
- 11
- コンピュートマシンセットをデプロイする vSphere 仮想マシンネットワークを指定します。この仮想マシンネットワークは、他のコンピューティングマシンがクラスター内に存在する場所である必要があります。
13.5.4.1.3. VMware vSphere 上の Cluster API コンピュートマシンセットリソースのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
コンピュートマシンセットリソースは、作成するマシンの追加プロパティーを定義します。コンピュートマシンセットは、マシン作成時にインフラストラクチャーリソースとマシンテンプレートも参照します。
apiVersion: cluster.x-k8s.io/v1beta1
kind: MachineSet
metadata:
name: <machine_set_name>
namespace: openshift-cluster-api
spec:
clusterName: <cluster_name>
replicas: 1
selector:
matchLabels:
test: example
template:
metadata:
labels:
test: example
spec:
bootstrap:
dataSecretName: worker-user-data
clusterName: <cluster_name>
infrastructureRef:
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: VSphereMachineTemplate
name: <template_name>
failureDomain:
- name: <failure_domain_name>
region: <region_a>
zone: <zone_a>
server: <vcenter_server_name>
topology:
datacenter: <region_a_data_center>
computeCluster: "</region_a_data_center/host/zone_a_cluster>"
resourcePool: "</region_a_data_center/host/zone_a_cluster/Resources/resource_pool>"
datastore: "</region_a_data_center/datastore/datastore_a>"
networks:
- port-group
- 1
- コンピュートマシンセットの名前を指定します。
- 2
- クラスターの名前としてクラスター ID を指定します。
- 3
- テクノロジープレビューの Cluster API では、Operator は
openshift-machine-apinamespace のワーカーユーザーデータシークレットを使用できます。 - 4
- マシンテンプレートの種類を指定します。この値は、プラットフォームの値と一致する必要があります。
- 5
- マシンテンプレート名を指定します。
- 6
- 障害ドメイン設定の詳細を指定します。注記
Cluster API を使用する vSphere クラスターで複数のリージョンとゾーンを使用することは、検証済みの設定ではありません。