19.4. 수동 모드 사용

수동 모드는 Alibaba Cloud, AWS(Amazon Web Services), Microsoft Azure, IBM Cloud 및 GCP(Google Cloud Platform)에서 지원됩니다.

수동 모드에서 사용자는 CCO(Cloud Credential Operator) 대신 클라우드 인증 정보를 관리합니다. 이 모드를 사용하려면 실행 또는 설치 중인 OpenShift Container Platform 버전의 릴리스 이미지에서 CredentialsRequest CR을 검사하고, 기본 클라우드 공급자에 해당 자격 증명을 생성한 다음, 클러스터 클라우드 공급자에 대한 모든 CredentialsRequest CR을 충족하기 위해 올바른 네임스페이스에 Kubernetes 보안을 생성해야 합니다.

수동 모드를 사용하면 각 클러스터 구성 요소에는 클러스터에 관리자 수준 인증 정보를 저장하지 않고 필요한 권한만 보유할 수 있습니다. 이 모드에서도 AWS 공용 IAM 끝점에 연결할 필요가 없습니다. 그러나 업그레이드할 때마다 새 릴리스 이미지로 권한을 수동으로 조정해야 합니다.

수동 모드를 사용하도록 클라우드 공급자를 구성하는 방법에 대한 자세한 내용은 클라우드 공급자의 수동 인증 정보 관리 옵션을 참조하십시오.

19.4.1. 클러스터 외부에서 클라우드 인증 정보를 생성 및 관리하는 수동 모드

수동 모드를 사용하는 AWS 또는 GCP 클러스터는 AWS STS(Security Token Service) 또는 GCP 워크로드 ID를 사용하여 클러스터 외부에서 클라우드 인증 정보를 생성하고 관리하도록 구성할 수 있습니다. 이 구성을 통해 CCO는 다른 구성 요소에 임시 인증 정보를 사용합니다.

자세한 내용은 Amazon Web Services 보안 토큰 서비스에서 수동 모드 사용 또는 GCP 워크로드 ID에서 수동 모드 사용을 참조하십시오.

19.4.2. 수동으로 유지 관리되는 인증 정보로 클라우드 공급자 리소스 업데이트

수동으로 유지 관리되는 인증 정보로 클러스터를 업그레이드하기 전에 업그레이드할 릴리스 이미지에 대한 새 인증 정보를 생성해야 합니다. 기존 인증 정보에 필요한 권한을 검토하고 해당 구성 요소의 새 릴리스에 새 권한 요구 사항을 충족해야 합니다.

절차

  1. 새 릴리스에 대한 CredentialsRequest 사용자 지정 리소스를 추출하고 검사합니다.

    클라우드 공급자의 설치 콘텐츠의 "Manually creating IAM" 섹션은 클라우드에 필요한 인증 정보를 얻고 사용하는 방법을 설명합니다.

  2. 클러스터에서 수동으로 유지 관리되는 인증 정보를 업데이트합니다.

    • 새 릴리스 이미지에서 추가한 CredentialsRequest 사용자 정의 리소스에 대한 새 시크릿을 생성합니다.
    • 시크릿에 저장된 기존 인증 정보에 대한 CredentialsRequest 사용자 정의 리소스에 변경된 권한 요구 사항이 있는 경우 필요에 따라 권한을 업데이트합니다.
  3. 클러스터에서 클러스터 기능을 사용하여 하나 이상의 선택적 구성 요소를 비활성화하는 경우 비활성화된 구성 요소에 대한 CredentialsRequest 사용자 정의 리소스를 삭제합니다.

    AWS의 OpenShift Container Platform 4.12의 credrequests 디렉터리 내용 예

    0000_30_machine-api-operator_00_credentials-request.yaml 1
    0000_50_cloud-credential-operator_05-iam-ro-credentialsrequest.yaml 2
    0000_50_cluster-image-registry-operator_01-registry-credentials-request.yaml 3
    0000_50_cluster-ingress-operator_00-ingress-credentials-request.yaml 4
    0000_50_cluster-network-operator_02-cncc-credentials.yaml 5
    0000_50_cluster-storage-operator_03_credentials_request_aws.yaml 6

    1
    Machine API Operator CR이 필요합니다.
    2
    Cloud Credential Operator CR이 필요합니다.
    3
    Image Registry Operator CR이 필요합니다.
    4
    Ingress Operator CR이 필요합니다.
    5
    Network Operator CR이 필요합니다.
    6
    Storage Operator CR은 선택적 구성 요소이며 클러스터에서 비활성화될 수 있습니다.

    GCP의 OpenShift Container Platform 4.12의 credrequests 디렉터리 내용 예

    0000_26_cloud-controller-manager-operator_16_credentialsrequest-gcp.yaml 1
    0000_30_machine-api-operator_00_credentials-request.yaml 2
    0000_50_cloud-credential-operator_05-gcp-ro-credentialsrequest.yaml 3
    0000_50_cluster-image-registry-operator_01-registry-credentials-request-gcs.yaml 4
    0000_50_cluster-ingress-operator_00-ingress-credentials-request.yaml 5
    0000_50_cluster-network-operator_02-cncc-credentials.yaml 6
    0000_50_cluster-storage-operator_03_credentials_request_gcp.yaml 7

    1
    Cloud Controller Manager Operator CR이 필요합니다.
    2
    Machine API Operator CR이 필요합니다.
    3
    Cloud Credential Operator CR이 필요합니다.
    4
    Image Registry Operator CR이 필요합니다.
    5
    Ingress Operator CR이 필요합니다.
    6
    Network Operator CR이 필요합니다.
    7
    Storage Operator CR은 선택적 구성 요소이며 클러스터에서 비활성화될 수 있습니다.

다음 단계

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

19.4.2.1. 클러스터를 업그레이드할 준비가 되었음을 나타냅니다.

CCO(Cloud Credential Operator) 수동으로 유지 관리되는 인증 정보가 있는 클러스터의 Upgradable 상태는 기본적으로 False 입니다.

사전 요구 사항

  • 업그레이드할 릴리스 이미지의 경우 새 인증 정보를 수동으로 처리하거나 Cloud Credential Operator 유틸리티(ccoctl)를 사용하여 처리했습니다.
  • OpenShift CLI(oc)가 설치되어 있습니다.

절차

  1. cluster-admin 역할의 사용자로 클러스터에서 oc 에 로그인합니다.
  2. CloudCredential 리소스를 편집하여 다음 명령을 실행하여 metadata 필드 내에 upgradeable-to 주석을 추가합니다.

    $ oc edit cloudcredential cluster

    추가할 텍스트

    ...
      metadata:
        annotations:
          cloudcredential.openshift.io/upgradeable-to: <version_number>
    ...

    여기서 <version_number >는 x.y.z 형식으로 업그레이드할 버전입니다. 예를 들어 OpenShift Container Platform 4.12.2 에는 4.12.2를 사용합니다.

    주석을 추가한 후 업그레이드 가능 상태가 변경되는 데 몇 분이 소요될 수 있습니다.

검증

  1. 웹 콘솔의 관리자 화면에서 관리자클러스터 설정으로 이동합니다.
  2. CCO 상태 세부 정보를 보려면 Cluster Operators 목록에서 cloud-credential을 클릭합니다.

    • Conditions 섹션의 Upgradeable 상태가 False인 경우 upgradeable-to 주석에 오타 오류가 없는지 확인합니다.
  3. Conditions 섹션의 Upgradeable 상태가 True 인 경우 OpenShift Container Platform 업그레이드를 시작합니다.

19.4.3. 추가 리소스