2.2.5. クラウドプロバイダーのリソースを手動で更新する
手動でメンテナンスされる認証情報でクラスターをアップグレードする前に、アップグレードするリリースイメージ用に新しい認証情報のシークレットを作成する必要があります。また、既存の認証情報に必要なアクセス許可を確認し、それらのコンポーネントの新しいリリースでの新しいアクセス許可要件に対応する必要があります。
前提条件
-
OpenShift Container Platform リリースイメージから
CredentialsRequestカスタムリソース (CR) を抽出し、spec.secretRef.namespaceフィールドのテキストと一致する namespace がクラスター内に存在している。
手順
新しいリリースイメージで追加される
CredentialsRequestカスタムリソースのシークレットを含む YAML ファイルを作成します。シークレットは、それぞれのCredentialsRequestオブジェクトに、spec.secretRefに定義される namespace およびシークレット名を使用して保存する必要があります。例2.6 サンプル AWS YAML ファイル
シークレットを含むサンプル AWS
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: AWSProviderSpec statementEntries: - effect: Allow action: - s3:CreateBucket - s3:DeleteBucket resource: "*" ... secretRef: name: <component_secret> namespace: <component_namespace> ...サンプル AWS
SecretオブジェクトapiVersion: v1 kind: Secret metadata: name: <component_secret> namespace: <component_namespace> data: aws_access_key_id: <base64_encoded_aws_access_key_id> aws_secret_access_key: <base64_encoded_aws_secret_access_key>例2.7 サンプル Azure YAML ファイル
注記Global Azure と Azure Stack Hub は、同じ
CredentialsRequestオブジェクトとシークレット形式を使用します。シークレットを含むサンプル Azure
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> ...サンプル Azure
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>例2.8 サンプル Google Cloud YAML ファイル
シークレットを含む Google Cloud
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: GCPProviderSpec predefinedRoles: - roles/iam.securityReviewer - roles/iam.roleViewer skipServiceCheck: true ... secretRef: name: <component_secret> namespace: <component_namespace> ...サンプル Google Cloud
SecretオブジェクトapiVersion: v1 kind: Secret metadata: name: <component_secret> namespace: <component_namespace> data: service_account.json: <base64_encoded_gcp_service_account_file>-
シークレットに保存される既存の認証情報の
CredentialsRequestカスタムリソースにパーミッション要件を変更した場合は、必要に応じてパーミッションを更新します。
次のステップ
-
upgradeable-toアノテーションを更新して、クラスターをアップグレードする準備ができていることを示します。