19.3. passthrough 모드의 Cloud Credential Operator


Passthrough 모드는 AWS(Amazon Web Services), Microsoft Azure, GCP(Google Cloud Platform), RHOSP(Red Hat OpenStack Platform) 및 VMware vSphere에서 지원됩니다.

Passthrough 모드에서 CCO(Cloud Credential Operator)는 제공된 클라우드 인증 정보를 클라우드 인증 정보를 요청하는 구성 요소에 전달합니다. 인증 정보에는 설치를 수행하고 클러스터의 구성 요소에 필요한 작업을 완료할 수 있는 권한이 있어야 하지만 새 인증 정보를 생성할 필요가 없습니다. CCO는 passthrough 모드로 추가 제한된 범위 인증 정보를 생성하지 않습니다.

참고

수동 모드는 Microsoft Azure Stack Hub에서 지원되는 유일한 CCO 구성입니다.

19.3.1. Passthrough 모드 권한 요구사항

Passthrough 모드에서 CCO를 사용하는 경우 제공한 인증 정보가 OpenShift Container Platform을 실행 중이거나 설치하는 클라우드의 요구 사항을 충족하는지 확인하십시오. 제공된 인증 정보에서 CCO가 CredentialsRequest CR을 생성하는 구성 요소에 충분하지 않으면 구성 요소가 권한이 없는 API를 호출하려고 할 때 오류를 보고합니다.

19.3.1.1. AWS(Amazon Web Services) 권한

AWS에서 passthrough 모드로 제공하는 인증 정보에는 실행 또는 설치 중인 OpenShift Container Platform 버전에 필요한 모든 CredentialsRequest CR에 대한 요청된 권한이 있어야 합니다.

필요한 CredentialsRequest CR을 찾으려면 AWS에 대한 장기 인증 정보 수동 생성 을 참조하십시오.

19.3.1.2. Microsoft Azure 권한

Azure에서 passthrough 모드에 제공하는 인증 정보에는 실행 중 또는 설치 중인 OpenShift Container Platform 버전에 필요한 모든 CredentialsRequest CR에 대한 요청된 권한이 있어야 합니다.

필요한 CredentialsRequest CR을 찾으려면 Azure에 대한 장기 인증 정보 수동 생성 을 참조하십시오.

19.3.1.3. GCP(Google Cloud Platform) 권한

GCP에서 passthrough 모드로 제공하는 인증 정보에는 실행 중 또는 설치 중인 OpenShift Container Platform 버전에 필요한 모든 CredentialsRequest CR에 대한 요청된 권한이 있어야 합니다.

필요한 CredentialsRequest CR을 찾으려면 GCP에 대한 장기 인증 정보 수동 생성 을 참조하십시오.

19.3.1.4. RHOSP(Red Hat OpenStack Platform) 권한

RHOSP에 OpenShift Container Platform 클러스터를 설치하려면 CCO에 member 사용자 역할의 권한이 있는 인증 정보가 필요합니다.

19.3.1.5. VMware vSphere 권한

VMware vSphere에 OpenShift Container Platform 클러스터를 설치하려면 CCO에 다음 vSphere 권한이 있는 인증 정보가 필요합니다.

표 19.2. 필수 vSphere 권한
카테고리권한

데이터 저장소

공간 할당

폴더

폴더 생성, 폴더 삭제

vSphere 태그 지정

모든 권한

네트워크

네트워크 할당

리소스 이름

리소스 풀에 가상 머신 할당

프로필 중심 스토리지

모든 권한

vApp

모든 권한

가상 머신

모든 권한

19.3.2. 관리자 인증 정보 루트 시크릿 형식

각 클라우드 공급자는 규칙에 따라 kube-system 네임 스페이스의 인증 정보 루트 시크릿을 사용하며, 이를 통해 모든 인증 정보 요청을 충족하고 해당 암호를 만드는 데 사용됩니다. 이 작업은 mint 모드를 사용하여 새 인증 정보를 생성하거나 패스스루 모드를 사용하여 인증 정보 루트 시크릿을 복사하여 수행됩니다.

시크릿의 형식은 클라우드에 따라 다르며 각 CredentialsRequest 시크릿에도 사용됩니다.

Amazon Web Services (AWS) 시크릿 형식

apiVersion: v1
kind: Secret
metadata:
  namespace: kube-system
  name: aws-creds
stringData:
  aws_access_key_id: <base64-encoded_access_key_id>
  aws_secret_access_key: <base64-encoded_secret_access_key>

Microsoft Azure 시크릿 형식

apiVersion: v1
kind: Secret
metadata:
  namespace: kube-system
  name: azure-credentials
stringData:
  azure_subscription_id: <base64-encoded_subscription_id>
  azure_client_id: <base64-encoded_client_id>
  azure_client_secret: <base64-encoded_client_secret>
  azure_tenant_id: <base64-encoded_tenant_id>
  azure_resource_prefix: <base64-encoded_resource_prefix>
  azure_resourcegroup: <base64-encoded_resource_group>
  azure_region: <base64-encoded_region>

Microsoft Azure에서 인증 정보 시크릿 형식에는 각 클러스터 설치에 대해 임의로 생성된 클러스터의 인프라 ID를 포함해야 하는 두 가지 속성이 포함되어 있습니다. 이 값은 매니페스트 생성을 실행한 후에 찾을 수 있습니다.

$ cat .openshift_install_state.json | jq '."*installconfig.ClusterID".InfraID' -r

출력 예

mycluster-2mpcn

이 값은 다음과 같이 시크릿 데이터에 사용됩니다.

azure_resource_prefix: mycluster-2mpcn
azure_resourcegroup: mycluster-2mpcn-rg

Google Cloud Platform (GCP) 시크릿 형식

apiVersion: v1
kind: Secret
metadata:
  namespace: kube-system
  name: gcp-credentials
stringData:
  service_account.json: <base64-encoded_service_account>

RHOSP(Red Hat OpenStack Platform) 시크릿 형식

apiVersion: v1
kind: Secret
metadata:
  namespace: kube-system
  name: openstack-credentials
data:
  clouds.yaml: <base64-encoded_cloud_creds>
  clouds.conf: <base64-encoded_cloud_creds_init>

VMware vSphere 시크릿 형식

apiVersion: v1
kind: Secret
metadata:
  namespace: kube-system
  name: vsphere-creds
data:
 vsphere.openshift.example.com.username: <base64-encoded_username>
 vsphere.openshift.example.com.password: <base64-encoded_password>

19.3.3. Passthrough 모드 인증 정보 유지 관리

클러스터가 업그레이드되어 CredentialsRequest CR이 시간이 지남에 따라 변경되는 경우 요구사항을 충족하도록 passthrough 모드 인증 정보를 수동으로 업데이트해야 합니다. 업그레이드 중 인증 정보 문제가 발생하지 않도록 하려면 업그레이드 전에 새 OpenShift Container Platform 버전에 대해 릴리스 이미지의 CredentialsRequest CR을 확인하십시오. 클라우드 공급자에 필요한 CredentialsRequest CR을 찾으려면 AWS,Azure 또는 GCP 에 대한 장기 인증 정보 수동 생성 을 참조하십시오.

19.3.3.1. 클라우드 공급자 인증 정보 유지 관리

어떠한 이유로 클라우드 공급자 인증 정보가 변경되면 CCO(Cloud Credential Operator)에서 클라우드 공급자 인증 정보를 관리하기 위해 사용하는 시크릿을 수동으로 업데이트해야 합니다.

클라우드 인증 정보를 교체하는 프로세스는 CCO가 사용하도록 구성된 모드에 따라 달라집니다. Mint 모드를 사용하는 클러스터의 인증 정보를 교체한 후 삭제된 인증 정보를 통해 생성된 구성 요소 인증 정보를 수동으로 제거해야 합니다.

사전 요구 사항

  • 클러스터는 다음을 사용하는 CCO 모드로 클라우드 인증 정보 교체를 수동으로 지원하는 플랫폼에 설치됩니다.

    • Passthrough 모드의 경우 AWS(Amazon Web Services), Microsoft Azure, GCP(Google Cloud Platform), RHOSP(Red Hat OpenStack Platform) 및 VMware vSphere가 지원됩니다.
  • 클라우드 공급자와 인터페이스에 사용되는 인증 정보를 변경했습니다.
  • 새 인증 정보에는 클러스터에서 사용할 수 있도록 구성된 모드 CCO에 대한 충분한 권한이 있습니다.

프로세스

  1. 웹 콘솔의 관리자 화면에서 워크로드 시크릿 으로 이동합니다.
  2. Secrets 페이지의 표에서 클라우드 공급자의 루트 시크릿을 찾습니다.

    플랫폼시크릿 이름

    AWS

    aws-creds

    Azure

    azure-credentials

    GCP

    gcp-credentials

    RHOSP

    openstack-credentials

    VMware vSphere

    vsphere-creds

  3. 시크릿과 동일한 행에서 옵션 메뉴 kebab 를 클릭하고 시크릿 편집을 선택합니다.
  4. Value 필드의 내용을 기록합니다. 이 정보를 사용하여 인증서를 업데이트한 후 값이 다른지 확인할 수 있습니다.
  5. 클라우드 공급자에 대한 새로운 인증 정보를 사용하여 Value 필드의 텍스트를 업데이트한 다음 저장을 클릭합니다.
  6. vSphere CSI Driver Operator가 활성화되어 있지 않은 vSphere 클러스터의 인증 정보를 업데이트하는 경우 Kubernetes 컨트롤러 관리자의 롤아웃을 강제 적용하여 업데이트된 인증 정보를 적용해야 합니다.

    참고

    vSphere CSI Driver Operator가 활성화된 경우 이 단계가 필요하지 않습니다.

    업데이트된 vSphere 인증 정보를 적용하려면 OpenShift Container Platform CLI에 cluster-admin 역할의 사용자로 로그인하고 다음 명령을 실행합니다.

    $ oc patch kubecontrollermanager cluster \
      -p='{"spec": {"forceRedeploymentReason": "recovery-'"$( date )"'"}}' \
      --type=merge

    인증 정보가 출시되는 동안 Kubernetes Controller Manager Operator의 상태는 Progressing=true 로 보고합니다. 상태를 보려면 다음 명령을 실행합니다.

    $ oc get co kube-controller-manager

검증

인증 정보가 변경되었는지 확인하려면 다음을 수행하십시오.

  1. 웹 콘솔의 관리자 화면에서 워크로드 시크릿 으로 이동합니다.
  2. 필드의 내용이 변경되었는지 확인합니다.

추가 리소스

19.3.4. 설치 후 권한 감소

passthrough 모드를 사용할 때 각 구성 요소에는 다른 모든 구성 요소가 사용하는 것과 동일한 권한이 있습니다. 설치 후 권한을 줄이지 않으면 모든 구성 요소에 설치 프로그램 실행에 필요한 광범위한 권한이 있습니다.

설치 후 사용 중인 OpenShift Container Platform 버전에 대한 릴리스 이미지의 CredentialsRequest CR에 정의된 대로 인증 정보의 권한을 클러스터를 실행하는 데 필요한 권한으로만 줄일 수 있습니다.

AWS, Azure 또는 GCP에 필요한 CredentialsRequest CR을 찾고 CCO에서 사용하는 권한을 변경하는 방법을 알아보려면 AWS,Azure 또는 GCP 에 대한 장기 인증 정보 수동 생성 을 참조하십시오.

19.3.5. 추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.