This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.6장. Red Hat Operator
6.1. Cloud Credential Operator 링크 복사링크가 클립보드에 복사되었습니다!
목적
CCO(Cloud Credential Operator)는 클라우드 공급자 자격 증명을 Kubernetes CRD(사용자 지정 리소스 정의)로 관리합니다. CCO는 credentialsRequest
CR(사용자 정의 리소스)에서 동기화되어 OpenShift Container Platform 구성 요소가 클러스터를 실행하는 데 필요한 특정 권한으로 클라우드 공급자 인증 정보를 요청할 수 있습니다.
install-config.yaml
파일에서 credentialsMode
매개변수에 다양한 값을 설정하면 CCO를 여러 모드에서 작동하도록 구성할 수 있습니다. 모드를 지정하지 않거나 credentialsMode
매개변수를 빈 문자열(""
)로 설정하면 CCO가 기본 모드에서 작동합니다.
기본 동작
여러 모드가 지원되는 플랫폼의 경우(AWS, Azure 및 GCP) CCO가 기본 모드에서 작동하는 경우 credentialsRequest
CR을 처리할 수 있는 모드를 결정하기 위해 제공된 인증 정보를 동적으로 확인합니다.
기본적으로 CCO는 인증 정보가 기본 작동 모드인 mint 모드에 충분한지 결정하고 해당 인증 정보를 사용하여 클러스터의 구성 요소에 적절한 인증 정보를 생성합니다. 인증 정보가 Mint 모드에 충분하지 않으면 passthrough 모드에 충분한지 여부를 결정합니다. 인증 정보가 passthrough 모드에 충분하지 않으면 CCO에서 credentialsRequest
CR을 적절하게 처리할 수 없습니다.
CCO는 Azure 인증 정보가 passthrough 모드에 충분한지 여부를 확인할 수 없습니다. Azure 인증 정보가 Mint 모드에 충분하지 않으면 CCO는 인증 정보가 passthrough 모드에 충분하다는 가정으로 작동합니다.
설치 중에 제공된 인증 정보가 충분하지 않다고 판단되면 설치에 실패합니다. AWS의 경우 설치 프로그램은 프로세스 초기에 실패하고 필요한 권한이 누락된 것을 나타냅니다. 다른 공급자는 오류가 발생할 때까지 오류 발생 원인에 대한 구체적인 정보를 제공하지 않을 수 있습니다.
설치에 성공하고 CCO에서 새 인증 정보가 충분하지 않은 것으로 판단되면 CCO는 새 credentialsRequest
CR에 조건을 배치하여 충분하지 않은 인증 정보로 인해 이를 처리할 수 없음을 나타냅니다.
충분하지 않은 인증 정보 문제를 해결하려면 충분한 권한이 있는 인증 정보를 제공하십시오. 설치 중에 오류가 발생한 경우 다시 설치해보십시오. 새 credentialsRequest
CR 문제의 경우 CCO가 CR을 다시 처리할 때까지 기다립니다. 또는 AWS, Azure 또는 GCP의 IAM을 수동으로 생성할 수 있습니다. 자세한 내용은 AWS, Azure 또는 GCP에 대한 설치 콘텐츠의 IAM 수동 생성 섹션을 참조하십시오.
모드
install-config.yaml
파일에서 credentialsMode
매개변수의 다른 값을 설정하면 mint, passthrough 또는 manual 모드에서 CCO를 작동하도록 구성할 수 있습니다. 이러한 옵션은 CCO가 클라우드 인증 정보를 사용하여 클러스터의 credentialsRequest
CR을 처리하는 방법에 투명성과 유연성을 제공하며 조직의 보안 요구 사항에 맞게 CCO를 구성할 수 있습니다. 모든 클라우드 공급자에서 모든 CCO 모드가 지원되는 것은 아닙니다.
Mint 모드
Mint 모드는 AWS, Azure 및 GCP에서 지원됩니다.
Mint 모드는 CCO가 사용할 기본 및 권장 모범 사례 설정입니다. 이 모드에서 CCO는 제공된 관리자 수준 클라우드 인증 정보를 사용하여 클러스터를 실행합니다.
설치 후 인증 정보를 제거하지 않으면 CCO에서 저장하고 사용하여 클러스터의 구성 요소에 대한 credentialsRequest
CR을 처리하고 필요한 특정 권한으로 각각에 대한 새 인증 정보를 생성합니다. mint 모드에서 클라우드 인증 정보의 지속적인 조정을 통해 업그레이드 등을 진행하기 위해 추가 인증 정보 또는 권한이 필요한 작업을 수행할 수 있습니다.
Mint 모드가 클러스터 kube-system
네임스페이스에 admin 수준 인증 정보를 저장해야 하는 요구 사항이 모든 조직의 보안 요구 사항에 맞지 않을 수 있습니다.
Mint 모드에서 CCO를 사용하는 경우 제공한 인증 정보가 OpenShift Container Platform을 실행 중이거나 설치하는 클라우드의 요구 사항을 충족하는지 확인하십시오. 제공된 인증 정보가 mint 모드에 충분하지 않으면 CCO에서 IAM 사용자를 생성할 수 없습니다.
클라우드 | 권한 |
---|---|
AWS |
|
Azure | Azure 계정 콘텐츠 구성의 서비스 주체 생성 섹션에 지정된 권한이 있는 서비스 주체입니다. |
GCP |
|
관리자 수준 인증 정보를 제거하거나 교체하는 Mint 모드
관리자 수준 인증 정보를 제거하거나 교체하는 Mint 모드는 OpenShift Container Platform 버전 4.4 이상의 AWS에서 지원됩니다.
이 옵션을 사용하려면 설치 중에 관리자 수준(admin-level) 인증 정보가 필요하지만 인증 정보는 클러스터에 영구적으로 저장되지 않으며 오래 유지할 필요가 없습니다.
mint 모드에서 OpenShift Container Platform을 설치한 후 클러스터에서 관리자 수준 인증 정보 시크릿을 제거할 수 있습니다. 보안을 제거하면 CCO는 이전에 기록된 읽기 전용 인증 정보를 사용하여 모든 credentialsRequest
CR에 필요한 권한이 있는지 확인할 수 있습니다. 제거되고 나면 필요한 경우 기본 클라우드에서 관련 인증 정보를 삭제할 수 있습니다.
예를 들어 업그레이드 중에 관리자 수준 인증 정보를 변경해야 하는 경우가 아니면 관리자 수준 인증 정보가 필요하지 않습니다. 업그레이드하기 전에 관리자 수준 인증 정보를 사용하여 인증 정보 시크릿을 복원해야 합니다. 인증 정보가 없으면 업그레이드가 차단될 수 있습니다.
passthrough 모드
AWS, Azure, GCP, RHOSP(Red Hat OpenStack Platform), RHV(Red Hat Virtualization) 및 VMware vSphere에서 Passthrough 모드가 지원됩니다.
passthrough 모드에서 CCO는 제공된 클라우드 인증 정보를 클라우드 인증 정보를 요청하는 구성 요소에 전달합니다. 인증 정보에는 설치를 수행하고 클러스터의 구성 요소에 필요한 작업을 완료할 수 있는 권한이 있어야 하지만 새 인증 정보를 생성할 필요가 없습니다. CCO는 passthrough 모드로 추가 제한된 범위 인증 정보를 생성하지 않습니다.
Passthrough 모드 권한 요구사항
Passthrough 모드에서 CCO를 사용하는 경우 제공한 인증 정보가 OpenShift Container Platform을 실행 중이거나 설치하는 클라우드의 요구 사항을 충족하는지 확인하십시오. 제공된 인증 정보에서 CCO가 credentialsRequest
CR을 생성하는 구성 요소에 충분하지 않으면 구성 요소가 권한이 없는 API를 호출하려고 할 때 오류를 보고합니다.
AWS, Azure 또는 GCP에서 passthrough 모드에 제공하는 인증 정보에는 실행 중 또는 설치 중인 OpenShift Container Platform 버전에 필요한 모든 credentialsRequest
CR에 대한 요청된 권한이 있어야 합니다. 클라우드 공급자에 필요한 credentialsRequest
CR을 찾으려면 AWS, Azure 또는 GCP에 대한 설치 콘텐츠의 IAM 수동 생성 섹션을 참조하십시오.
RHOSP(Red Hat OpenStack Platform)에 OpenShift Container Platform 클러스터를 설치하려면 CCO에 member
사용자 역할 권한이 있는 인증 정보가 필요합니다.
RHV(Red Hat Virtualization)에 OpenShift Container Platform 클러스터를 설치하려면 CCO에 다음 권한이 있는 인증 정보가 필요합니다.
-
DiskOperator
-
DiskCreator
-
UserTemplateBasedVm
-
TemplateOwner
-
TemplateCreator
-
OpenShift Container Platform 배포를 대상으로 하는 특정 클러스터의
ClusterAdmin
VMware vSphere에 OpenShift Container Platform 클러스터를 설치하려면 CCO에 다음 vSphere 권한이 있는 인증 정보가 필요합니다.
카테고리 | 권한 |
---|---|
데이터 저장소 | 공간 할당 |
폴더 | 폴더 생성, 폴더 삭제 |
vSphere 태그 지정 | 모든 권한 |
네트워크 | 네트워크 할당 |
리소스 이름 | 리소스 풀에 가상 머신 할당 |
프로필 중심 스토리지 | 모든 권한 |
vApp | 모든 권한 |
가상 머신 | 모든 권한 |
Passthrough 모드 인증 정보 유지 관리
클러스터가 업그레이드되어 Credential Request
CR이 시간이 지남에 따라 변경되는 경우 요구 사항을 충족하도록 passthrough 모드 인증 정보를 수동으로 업데이트해야 합니다. 업그레이드 중 인증 정보 문제를 방지하려면 업그레이드하기 전에 새 버전의 OpenShift Container Platform에 대해 릴리스 이미지의 credentialsRequest
CR을 확인하십시오. 클라우드 공급자에 필요한 credentialsRequest
CR을 찾으려면 AWS, Azure 또는 GCP에 대한 설치 콘텐츠의 IAM 수동 생성 섹션을 참조하십시오.
설치 후 권한 감소
passthrough 모드를 사용할 때 각 구성 요소에는 다른 모든 구성 요소가 사용하는 것과 동일한 권한이 있습니다. 설치 후 권한을 줄이지 않으면 모든 구성 요소에 설치 프로그램 실행에 필요한 광범위한 권한이 있습니다.
설치 후 사용 중인 OpenShift Container Platform 버전의 릴리스 이미지의 credentialsRequest
CR에 정의된 대로 인증 정보에 대한 권한을 클러스터를 실행하는 데 필요한 권한으로 줄일 수 있습니다.
AWS, Azure 또는 GCP에 필요한 credentialsRequest
CR을 찾고 CCO에서 사용하는 권한을 변경하는 방법을 알아보려면 AWS, Azure 또는 GCP에 대한 설치 콘텐츠의 IAM 수동 생성 섹션을 참조하십시오.
수동 모드
수동 모드는 AWS에서 지원됩니다.
수동 모드에서 사용자는 CCO 대신 클라우드 인증 정보를 관리합니다. 이 모드를 사용하려면 실행 또는 설치 중인 OpenShift Container Platform 버전의 릴리스 이미지에서 credentialsRequest
CR을 검사하고 기본 클라우드 공급자에 해당 인증 정보를 생성하고, 클러스터 클라우드 공급자에 대한 모든 credentialsRequest
CR을 충족하기 위해 올바른 네임스페이스에 Kubernetes 보안을 생성해야 합니다.
수동 모드를 사용하면 각 클러스터 구성 요소에 클러스터에 관리자 수준 인증 정보를 저장하지 않고도 필요한 권한만 보유할 수 있습니다. 이 모드에서도 AWS 공용 IAM 끝점에 연결할 필요가 없습니다. 그러나 업그레이드할 때마다 새 릴리스 이미지로 권한을 수동으로 조정해야 합니다.
수동 모드를 사용하도록 AWS를 구성하는 방법에 대한 자세한 내용은 AWS의 IAM 수동 생성을 참조하십시오.
비활성화된 CCO
비활성화된 CCO는 Azure 및 GCP에서 지원됩니다.
Azure 또는 GCP의 인증 정보를 수동으로 관리하려면 CCO를 비활성화해야 합니다. CCO를 비활성화하면 수동 모드에서 CCO를 실행하는 것과 동일한 구성 및 유지 관리 요구 사항이 많지만 다른 프로세스에 의해 수행됩니다. 자세한 내용은 Azure 또는 GCP 에 대한 설치 콘텐츠의 IAM 수동 생성 섹션을 참조하십시오.
프로젝트
openshift-cloud-credential-operator
CRD
credentialsrequests.cloudcredential.openshift.io
- 범위: 네임 스페이스
-
CR:
credentialsrequest
- 검증: 있음
구성 오브젝트
구성이 필요하지 않습니다.