6.3. Cloud Credential Operator 유틸리티를 사용하여 클라우드 공급자 리소스 업데이트


CCO 유틸리티(ccoctl)를 사용하여 구성된 OpenShift Container Platform 클러스터를 업그레이드하는 프로세스는 설치 중에 클라우드 공급자 리소스를 생성하는 것과 유사합니다.

참고

기본적으로 ccoctl은 명령이 실행되는 디렉터리에 오브젝트를 생성합니다. 다른 디렉터리에 오브젝트를 생성하려면 --output-dir 플래그를 사용합니다. 이 절차에서는 & lt;path_to_ccoctl_output_dir >을 사용하여 이 디렉터리를 참조합니다.

AWS 클러스터에서 일부 ccoctl 명령은 AWS API를 호출하여 AWS 리소스를 생성하거나 수정합니다. --dry-run 플래그를 사용하여 API 호출을 방지할 수 있습니다. 이 플래그를 사용하면 로컬 파일 시스템에 JSON 파일이 생성됩니다. JSON 파일을 검토 및 수정한 다음 --cli-input-json 매개변수를 사용하여 AWS CLI 툴로 적용할 수 있습니다.

전제 조건

  • 업그레이드할 버전의 OpenShift Container Platform 릴리스 이미지를 가져옵니다.
  • 릴리스 이미지에서 ccoctl 바이너리를 추출하고 준비합니다.

프로세스

  1. 다음 명령을 실행하여 OpenShift Container Platform 릴리스 이미지에서 CredentialsRequest CR(사용자 정의 리소스) 목록을 추출합니다.

    $ oc adm release extract --credentials-requests \
      --cloud=<provider_type> \
      --to=<path_to_directory_with_list_of_credentials_requests>/credrequests \
      quay.io/<path_to>/ocp-release:<version>

    다음과 같습니다.

    • <provider_type >은 클라우드 공급자의 값입니다. 유효한 값은 alibabacloud,aws,gcp,ibmcloud, nutanix 입니다.
    • credrequestsCredentialsRequest 오브젝트 목록이 저장되는 디렉터리입니다. 이 명령은 디렉터리가 없는 경우 해당 디렉터리를 생성합니다.
  2. 릴리스 이미지의 각 CredentialsRequest CR에 대해 spec.secretRef.namespace 필드의 텍스트와 일치하는 네임스페이스가 클러스터에 있는지 확인합니다. 이 필드에는 인증 정보 구성을 보유하는 생성된 시크릿이 저장됩니다.

    샘플 AWS CredentialsRequest 오브젝트

    apiVersion: cloudcredential.openshift.io/v1
    kind: CredentialsRequest
    metadata:
      name: cloud-credential-operator-iam-ro
      namespace: openshift-cloud-credential-operator
    spec:
      providerSpec:
        apiVersion: cloudcredential.openshift.io/v1
        kind: AWSProviderSpec
        statementEntries:
        - effect: Allow
          action:
          - iam:GetUser
          - iam:GetUserPolicy
          - iam:ListAccessKeys
          resource: "*"
      secretRef:
        name: cloud-credential-operator-iam-ro-creds
        namespace: openshift-cloud-credential-operator 1

    1
    이 필드는 생성된 시크릿을 보유하기 위해 존재해야 하는 네임스페이스를 나타냅니다.

    다른 플랫폼의 CredentialsRequest CR에는 다른 플랫폼별 값이 있는 유사한 형식이 있습니다.

  3. 클러스터에 spec.secretRef.namespace 에 지정된 이름이 있는 네임스페이스가 아직 없는 CredentialsRequest CR에 대해 다음 명령을 실행하여 네임스페이스를 생성합니다.

    $ oc create namespace <component_namespace>
  4. ccoctl 툴을 사용하여 클라우드 공급자에 대한 명령을 실행하여 credrequests 디렉터리의 모든 CredentialsRequest 오브젝트를 처리합니다. 다음 명령은 CredentialsRequest 오브젝트를 처리합니다.

    • CloudEvent Cloud: ccoctl alibabacloud create-ram-users
    • Amazon Web Services (AWS): ccoctl aws create-iam-roles
    • GCP(Google Cloud Platform): ccoctl gcp create-all
    • IBM Cloud: ccoctl ibmcloud create-service-id
    • Nutanix: ccoctl nutanix create-shared-secrets
    중요

    필요한 인수 및 특수 고려 사항에 대한 중요한 플랫폼별 세부 사항은 클라우드 공급자의 설치 콘텐츠의 ccoctl 유틸리티 지침을 참조하십시오.

    CredentialsRequest 오브젝트에 대해 ccoctl 은 OpenShift Container Platform 릴리스 이미지의 각 CredentialsRequest 오브젝트에 정의된 대로 필요한 공급자 리소스 및 권한 정책을 생성합니다.

  5. 다음 명령을 실행하여 클러스터에 보안을 적용합니다.

    $ ls <path_to_ccoctl_output_dir>/manifests/*-credentials.yaml | xargs -I{} oc apply -f {}

검증

클라우드 공급자를 쿼리하여 필요한 공급자 리소스 및 권한 정책이 생성되었는지 확인할 수 있습니다. 자세한 내용은 역할 또는 서비스 계정 나열에 대한 클라우드 공급자 설명서를 참조하십시오.

다음 단계

  • upgradeable-to 주석을 업데이트하여 클러스터를 업그레이드할 준비가 되었음을 나타냅니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.