1.11.6. Cluster API を使用して Red Hat OpenShift Service on AWS with Hosted Control Planes クラスターを作成する
Red Hat OpenShift Service on AWS with Hosted Control Planes クラスターは、クラスターコントロールプレーンが Red Hat Amazon Web Services (AWS) (classic) アカウントでホストおよび管理される、Red Hat OpenShift Service on AWS のデプロイメントモデルです。Cluster API を使用して Red Hat OpenShift Service on AWS with Hosted Control Planes クラスターを作成するには、次のトピックの手順を完了します。
必要なアクセス権: クラスター管理者
前提条件
- Red Hat OpenShift Service on AWS with Hosted Control Planes クラスターを作成する前に準備を完了する。Cluster API を使用して Red Hat OpenShift Service on AWS with Hosted Control Plane クラスターを作成するための準備 に記載されている手順を完了します。
手順
サービスアカウントを作成し、AWS 認証情報を設定して、OpenShift Cluster Manager 認証情報を認証した後、次の手順を実行して Red Hat OpenShift Service on AWS with Hosted Control Planes クラスターを作成します。
AWSClusterControllerIdentityリソースを作成します。次の YAML ファイルサンプルを参照します。apiVersion: infrastructure.cluster.x-k8s.io/v1beta2 kind: AWSClusterControllerIdentity metadata: name: "default" spec: allowedNamespaces: {}ROSARoleConfigリソースを作成します。次の YAML ファイルサンプルを参照します。apiVersion: infrastructure.cluster.x-k8s.io/v1beta2 kind: ROSARoleConfig metadata: name: "role-config" namespace: "ns-rosa-hcp" spec: accountRoleConfig: prefix: "rosa" version: "4.20.0" operatorRoleConfig: prefix: "rosa" credentialsSecretRef: name: rosa-creds-secret oidcProviderType: ManagedROSANetworkリソースを作成します。次の YAML ファイルサンプルを参照します。apiVersion: infrastructure.cluster.x-k8s.io/v1beta2 kind: ROSANetwork metadata: name: "rosa-vpc" namespace: "ns-rosa-hcp" spec: region: "us-west-2" stackName: "rosa-hcp-net" availabilityZones: - "us-west-2a" - "us-west-2b" - "us-west-2c" cidrBlock: 10.0.0.0/16 identityRef: kind: AWSClusterControllerIdentity name: defaultROSARoleConfigリソースが作成されたことを確認します。ROSARoleConfigステータスにaccountRolesRef、oidcID、oidcProviderARN、およびoperatorRolesRefが含まれていることを確認します。以下のコマンドを実行します。oc get rosaroleconfig -n ns-rosa-hcp role-config -o yamlROSANetworkリソースが作成されたことを確認します。ROSANetworkステータスには、作成されたサブネットが含まれます。以下のコマンドを実行します。oc get rosanetwork -n ns-rosa-hcp rosa-vpc -o yamlROSAControlPlaneリソースに必要なカスタムリソースを作成します。次の YAML ファイルの内容で
ManagedClusterリソースを作成します。apiVersion: cluster.open-cluster-management.io/v1 kind: ManagedCluster metadata: name: rosa-hcp-1 spec: hubAcceptsClient: true次の YAML ファイルの内容で
Clusterリソースを作成します。apiVersion: cluster.x-k8s.io/v1beta1 kind: Cluster metadata: name: "rosa-hcp-1" namespace: "ns-rosa-hcp" spec: clusterNetwork: pods: cidrBlocks: ["192.168.0.0/16"] infrastructureRef: apiVersion: infrastructure.cluster.x-k8s.io/v1beta2 kind: ROSACluster name: "rosa-hcp-1" namespace: "ns-rosa-hcp" controlPlaneRef: apiVersion: controlplane.cluster.x-k8s.io/v1beta2 kind: ROSAControlPlane name: "rosa-cp-1" namespace: "ns-rosa-hcp"
次の YAML ファイルの内容で
ROSAClusterリソースを作成します。apiVersion: infrastructure.cluster.x-k8s.io/v1beta2 kind: ROSACluster metadata: name: "rosa-hcp-1" namespace: "ns-rosa-hcp" spec: {}次の YAML ファイルの内容で
ROSAControlPlaneリソースを作成します。regionが、ROSANetworkリソースの作成に使用した AWS リージョンと一致していることを確認します。apiVersion: controlplane.cluster.x-k8s.io/v1beta2 kind: ROSAControlPlane metadata: name: "rosa-cp-1" namespace: "ns-rosa-hcp" spec: credentialsSecretRef: name: rosa-creds-secret rosaClusterName: rosa-hcp-1 domainPrefix: rosa-hcp rosaRoleConfigRef: name: role-config version: "4.20.0" region: "us-west-2" rosaNetworkRef: name: "rosa-vpc" network: machineCIDR: "10.0.0.0/16" podCIDR: "10.128.0.0/14" serviceCIDR: "172.30.0.0/16" defaultMachinePoolSpec: instanceType: "m5.xlarge" autoscaling: maxReplicas: 6 minReplicas: 3 additionalTags: env: "demo" profile: "hcp"ROSAControlPlaneのステータスを確認します。以下のコマンドを実行します。READY列がtrueになっていることを確認します。oc get ROSAControlPlane rosa-cp-1 -n ns-rosa-hcp注記: Red Hat OpenShift Service on AWS と Hosted Control Plane クラスターを完全にプロビジョニングするには、最大 40 分かかる場合があります。
ROSAControlPlaneリソースのプロビジョニングが完了したら、ROSAMachinePoolが作成されたことを確認します。以下のコマンドを実行します。oc get ROSAMachinePool -n ns-rosa-hcp次の出力が表示される場合があります。
NAMESPACE NAME READY REPLICAS ns-rosa-hcp workers-0 true 1 ns-rosa-hcp workers-1 true 1 ns-rosa-hcp workers-2 true 1注記: デフォルトで利用可能な
ROSAMachinePoolsの数は、割り当てられたアベイラビリティーゾーンに基づいています。
関連情報
-
サービスアカウントで AWS IAM ロールを使用して
capa-controller-managerを認証する場合は、Cluster API マネージドクラスターで AWS 認証情報から IAM ロールに切り替える (テクノロジープレビュー) の手順を完了します。