7.10. IAM を手動で作成する
クラスターをインストールするには、Cloud Credential Operator (CCO) が手動モードで動作する必要があります。インストールプログラムは CCO を手動モードに設定しますが、クラウドプロバイダーの ID とアクセス管理シークレットを指定する必要があります。
Cloud Credential Operator (CCO) ユーティリティー (ccoctl
) を使用して、必要な IBM Cloud VPC リソースを作成できます。
前提条件
-
ccoctl
バイナリーを設定している。 -
既存の
install-config.yaml
ファイルがある。
手順
install-config.yaml
設定ファイルを編集し、credentialsMode
パラメーターがManual
に設定されるようにします。サンプル
install-config.yaml
設定ファイルapiVersion: v1 baseDomain: cluster1.example.com credentialsMode: Manual 1 compute: - architecture: amd64 hyperthreading: Enabled
- 1
- この行は、
credentialsMode
パラメーターをManual
に設定するために追加されます。
マニフェストを生成するには、インストールプログラムが含まれるディレクトリーから以下のコマンドを実行します。
$ ./openshift-install create manifests --dir <installation_directory>
インストールプログラムが含まれているディレクトリーから、
openshift-install
バイナリーが使用するようにビルドされている OpenShift Container Platform リリースイメージを取得します。$ RELEASE_IMAGE=$(./openshift-install version | awk '/release image/ {print $3}')
OpenShift Container Platform リリースイメージから
CredentialsRequest
オブジェクトを抽出します。$ oc adm release extract \ --from=$RELEASE_IMAGE \ --credentials-requests \ --cloud=<provider_name> \1 --to=<path_to_credential_requests_directory> 2
このコマンドにより、それぞれの
CredentialsRequest
オブジェクトに YAML ファイルが作成されます。サンプル
CredentialsRequest
オブジェクトapiVersion: cloudcredential.openshift.io/v1 kind: CredentialsRequest metadata: labels: controller-tools.k8s.io: "1.0" name: openshift-image-registry-ibmcos namespace: openshift-cloud-credential-operator spec: secretRef: name: installer-cloud-credentials namespace: openshift-image-registry providerSpec: apiVersion: cloudcredential.openshift.io/v1 kind: IBMCloudProviderSpec policies: - attributes: - name: serviceName value: cloud-object-storage roles: - crn:v1:bluemix:public:iam::::role:Viewer - crn:v1:bluemix:public:iam::::role:Operator - crn:v1:bluemix:public:iam::::role:Editor - crn:v1:bluemix:public:iam::::serviceRole:Reader - crn:v1:bluemix:public:iam::::serviceRole:Writer - attributes: - name: resourceType value: resource-group roles: - crn:v1:bluemix:public:iam::::role:Viewer
クラスターでクラスター機能を使用して 1 つ以上のオプションコンポーネントを無効にする場合は、無効なコンポーネントの
CredentialsRequest
カスタムリソースを削除します。IBM Cloud VPC 上の OpenShift Container Platform 4.13 の
credrequests
ディレクトリーの内容の例0000_26_cloud-controller-manager-operator_15_credentialsrequest-ibm.yaml 1 0000_30_machine-api-operator_00_credentials-request.yaml 2 0000_50_cluster-image-registry-operator_01-registry-credentials-request-ibmcos.yaml 3 0000_50_cluster-ingress-operator_00-ingress-credentials-request.yaml 4 0000_50_cluster-storage-operator_03_credentials_request_ibm.yaml 5
各認証情報リクエストのサービス ID を作成し、定義されたポリシーを割り当て、API キーを作成し、シークレットを生成します。
$ ccoctl ibmcloud create-service-id \ --credentials-requests-dir <path_to_credential_requests_directory> \1 --name <cluster_name> \2 --output-dir <installation_directory> \ --resource-group-name <resource_group_name> 3
注記クラスターで
TechPreviewNoUpgrade
機能セットによって有効化されたテクノロジープレビュー機能を使用している場合は、--enable-tech-preview
パラメーターを含める必要があります。間違ったリソースグループ名が指定された場合、ブートストラップフェーズ中にインストールが失敗します。正しいリソースグループ名を見つけるには、次のコマンドを実行します。
$ grep resourceGroupName <installation_directory>/manifests/cluster-infrastructure-02-config.yml
検証
-
クラスターの
manifests
ディレクトリーに適切なシークレットが生成されていることを確認してください。