3.7. クラウドクレデンシャルの手動管理
Cloud Credential Operator (CCO) は、手動モードのクラウドプロバイダーのみをサポートします。そのため、クラウドプロバイダーの ID およびアクセス管理 (IAM) シークレットを指定する必要があります。
手順
インストールプログラムが含まれているディレクトリーから次のコマンドを実行して、マニフェストを生成します。
$ openshift-install create manifests --dir <installation_directory>ここで、
<installation_directory>は、インストールプログラムがファイルを作成するディレクトリーに置き換えます。インストールプログラムが含まれるディレクトリーから、以下のコマンドを実行して、
openshift-installバイナリーがビルドされている OpenShift Container Platform リリースイメージの詳細を取得します。$ openshift-install version出力例
release image quay.io/openshift-release-dev/ocp-release:4.y.z-x86_64以下のコマンドを実行して、デプロイするクラウドをターゲットとするリリースイメージですべての
CredentialsRequestオブジェクトを見つけます。$ oc adm release extract quay.io/openshift-release-dev/ocp-release:4.y.z-x86_64 \ --credentials-requests \ --cloud=azureこのコマンドにより、それぞれの
CredentialsRequestオブジェクトに YAML ファイルが作成されます。サンプル
CredentialsRequestオブジェクトapiVersion: cloudcredential.openshift.io/v1 kind: CredentialsRequest metadata: name: <component-credentials-request> namespace: openshift-cloud-credential-operator ... spec: providerSpec: apiVersion: cloudcredential.openshift.io/v1 kind: AzureProviderSpec roleBindings: - role: Contributor ...以前に生成した
openshift-installマニフェストディレクトリーにシークレットの YAML ファイルを作成します。シークレットは、それぞれのCredentialsRequestオブジェクトについてspec.secretRefに定義される namespace およびシークレット名を使用して保存する必要があります。シークレットを含む
CredentialsRequestオブジェクトのサンプルapiVersion: cloudcredential.openshift.io/v1 kind: CredentialsRequest metadata: name: <component-credentials-request> namespace: openshift-cloud-credential-operator ... spec: providerSpec: apiVersion: cloudcredential.openshift.io/v1 kind: AzureProviderSpec roleBindings: - role: Contributor ... secretRef: name: <component-secret> namespace: <component-namespace> ...サンプル
SecretオブジェクトapiVersion: v1 kind: Secret metadata: name: <component-secret> namespace: <component-namespace> data: azure_subscription_id: <base64_encoded_azure_subscription_id> azure_client_id: <base64_encoded_azure_client_id> azure_client_secret: <base64_encoded_azure_client_secret> azure_tenant_id: <base64_encoded_azure_tenant_id> azure_resource_prefix: <base64_encoded_azure_resource_prefix> azure_resourcegroup: <base64_encoded_azure_resourcegroup> azure_region: <base64_encoded_azure_region>重要リリースイメージには、
TechPreviewNoUpgrade機能セットによって有効になるテクノロジープレビュー機能のCredentialsRequestオブジェクトが含まれています。これらのオブジェクトは、release.openshift.io/feature-set: TechPreviewNoUpgradeアノテーションを使用して識別できます。- これらの機能を使用していない場合は、これらのオブジェクトのシークレットを作成しないでください。使用していないテクノロジープレビュー機能のシークレットを作成すると、インストールが失敗する可能性があります。
- これらの機能のいずれかを使用している場合は、対応するオブジェクトのシークレットを作成する必要があります。
TechPreviewNoUpgradeアノテーションを持つCredentialsRequestオブジェクトを見つけるには、次のコマンドを実行します。$ grep "release.openshift.io/feature-set" *出力例
0000_30_capi-operator_00_credentials-request.yaml: release.openshift.io/feature-set: TechPreviewNoUpgrade
重要手動でメンテナンスされる認証情報を使用するクラスターをアップグレードする前に、CCO がアップグレード可能な状態であることを確認します。