2.2.5. 클라우드 공급자 리소스 수동 업데이트
수동으로 유지 관리되는 인증 정보를 사용하여 클러스터를 업그레이드하기 전에 업그레이드하려는 릴리스 이미지의 새 인증 정보에 대한 시크릿을 생성해야 합니다. 기존 인증 정보에 필요한 권한을 검토하고 해당 구성 요소의 새 릴리스에 새 권한 요구 사항을 충족해야 합니다.
사전 요구 사항
-
OpenShift Container Platform 릴리스 이미지에서
CredentialsRequestCR(사용자 정의 리소스)을 추출하여spec.secretRef.namespace필드의 텍스트와 일치하는 네임스페이스가 클러스터에 있는지 확인했습니다.
프로세스
새 릴리스 이미지가 추가하는
CredentialsRequest사용자 정의 리소스에 대한 시크릿을 사용하여 YAML 파일을 생성합니다. 시크릿은 각CredentialsRequest오브젝트의spec.secretRef에 정의된 네임 스페이스 및 시크릿 이름을 사용하여 저장해야 합니다.예 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 파일 샘플
참고글로벌 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주석을 업데이트하여 클러스터를 업그레이드할 준비가 되었음을 나타냅니다.