7장. 수동으로 유지 관리되는 인증 정보로 클러스터 업데이트 준비
CCO(Cloud Credential Operator) 수동으로 유지 관리되는 인증 정보가 있는 클러스터의 Upgradable
상태는 기본적으로 False
입니다.
-
마이너 릴리스(예: 4.12에서 4.13로)의 경우 이 상태로 인해 업데이트된 권한을 처리하고
CloudCredential
리소스에 주석을 달 때까지 업데이트하여 권한이 다음 버전에 필요에 따라 업데이트됨을 나타낼 수 없습니다. 이 주석은Upgradable
상태를True
로 변경합니다. - 예를 들어 4.13.0에서 4.13.1로 z-stream 릴리스의 경우 권한이 추가되거나 변경되지 않으므로 업데이트가 차단되지 않습니다.
수동으로 유지 관리되는 인증 정보로 클러스터를 업데이트하기 전에 업데이트 중인 OpenShift Container Platform 버전의 릴리스 이미지에 새 또는 변경된 인증 정보를 수용해야 합니다.
7.1. 수동으로 유지 관리되는 인증 정보를 사용하여 클러스터의 요구 사항 업데이트
CCO(Cloud Credential Operator)에서 수동으로 유지 관리되는 인증 정보를 사용하는 클러스터를 업데이트하기 전에 새 릴리스에 대한 클라우드 공급자 리소스를 업데이트해야 합니다.
CCO 유틸리티(ccoctl
ccoctl)를 사용하여 클러스터의 클라우드 인증 정보 관리가 구성된 경우 ccoctl
유틸리티를 사용하여 리소스를 업데이트합니다. ccoctl
유틸리티 없이 수동 모드를 사용하도록 구성된 클러스터에는 리소스에 대한 수동 업데이트가 필요합니다.
클라우드 공급자 리소스를 업데이트한 후 업데이트할 준비가 되었음을 나타내기 위해 클러스터에 대한 upgradeable-to
주석을 업데이트해야 합니다.
클라우드 공급자 리소스 및 upgradeable-to
주석을 업데이트하는 프로세스는 명령줄 툴을 사용하여만 완료할 수 있습니다.
7.1.1. 플랫폼 유형별 클라우드 인증 구성 옵션 및 업데이트 요구 사항
일부 플랫폼은 하나의 모드에서 CCO 사용만 지원합니다. 해당 플랫폼에 설치된 클러스터의 경우 플랫폼 유형에 따라 인증 정보 업데이트 요구 사항이 결정됩니다.
여러 모드에서 CCO 사용을 지원하는 플랫폼의 경우 클러스터가 사용하도록 구성된 모드를 결정하고 해당 구성에 필요한 작업을 수행해야 합니다.
그림 7.1. 플랫폼 유형별 인증 정보 업데이트 요구사항
- RHOSP(Red Hat OpenStack Platform), RHV(Red Hat Virtualization) 및 VMware vSphere
이러한 플랫폼은 수동 모드에서 CCO 사용을 지원하지 않습니다. 이러한 플랫폼의 클러스터는 클라우드 공급자 리소스의 변경 사항을 자동으로 처리하고
upgradeable-to
주석으로 업데이트할 필요가 없습니다.이러한 플랫폼에 있는 클러스터 관리자는 업데이트 프로세스의 수동으로 유지 관리되는 인증 정보 섹션을 건너뛰어야 합니다.
- IBM Cloud 및 Nutanix
이러한 플랫폼에 설치된 클러스터는
ccoctl
유틸리티를 사용하여 구성됩니다.이러한 플랫폼에 있는 클러스터 관리자는 다음 작업을 수행해야 합니다.
-
새 릴리스에 대해
ccoctl
유틸리티를 구성합니다. -
ccoctl
유틸리티를 사용하여 클라우드 공급자 리소스를 업데이트합니다. -
클러스터가
upgradeable-to
주석을 사용하여 업데이트할 준비가 되었음을 나타냅니다.
-
새 릴리스에 대해
- Microsoft Azure Stack Hub
이러한 클러스터는 수명이 긴 인증 정보와 함께 수동 모드를 사용하며
ccoctl
유틸리티를 사용하지 않습니다.이러한 플랫폼에 있는 클러스터 관리자는 다음 작업을 수행해야 합니다.
- 새 릴리스의 클라우드 공급자 리소스를 수동으로 업데이트합니다.
-
클러스터가
upgradeable-to
주석을 사용하여 업데이트할 준비가 되었음을 나타냅니다.
- AWS(Amazon Web Services), 글로벌 Microsoft Azure 및 GCP(Google Cloud Platform)
이러한 플랫폼에 설치된 클러스터는 여러 CCO 모드를 지원합니다.
필수 업데이트 프로세스는 클러스터가 사용하도록 구성된 모드에 따라 다릅니다. CCO가 클러스터에서 사용하도록 구성된 모드가 확실하지 않은 경우 웹 콘솔 또는 CLI를 사용하여 이 정보를 확인할 수 있습니다.
7.1.2. 웹 콘솔을 사용하여 Cloud Credential Operator 모드 확인
웹 콘솔을 사용하여 CCO(Cloud Credential Operator)가 사용하도록 구성된 모드를 확인할 수 있습니다.
AWS(Amazon Web Services), 글로벌 Microsoft Azure 및 GCP(Google Cloud Platform) 클러스터만 여러 CCO 모드를 지원합니다.
사전 요구 사항
- 클러스터 관리자 권한이 있는 OpenShift Container Platform 계정에 액세스할 수 있습니다.
절차
-
cluster-admin
역할의 사용자로 OpenShift Container Platform 웹 콘솔에 로그인합니다. -
Administration
Cluster Settings으로 이동합니다. - 클러스터 설정 페이지에서 구성 탭을 선택합니다.
- Configuration 리소스 에서 CloudCredential 를 선택합니다.
- CloudCredential 세부 정보 페이지에서 YAML 탭을 선택합니다.
YAML 블록에서
spec.credentialsMode
의 값을 확인합니다. 다음 값이 모든 플랫폼에서 지원되지는 않지만 모두 지원되는 것은 아닙니다.-
''
: CCO가 기본 모드에서 작동합니다. 이 구성에서 CCO는 설치 중에 제공된 인증 정보에 따라 Mint 또는 passthrough 모드에서 작동합니다. -
Mint
: CCO가 Mint 모드에서 작동합니다. -
passthrough
: CCO가 passthrough 모드에서 작동합니다. -
Manual
: CCO가 수동 모드에서 작동합니다.
중요''
,Mint
또는Manual
의spec.credentialsMode
가 있는 AWS 또는 GCP 클러스터의 특정 구성을 확인하려면 추가 조사를 수행해야 합니다.AWS 및 GCP 클러스터는 루트 시크릿이 삭제된 상태에서 Mint 모드 사용을 지원합니다. 클러스터가 특별히 Mint 모드를 사용하도록 구성된 경우 또는 기본적으로 Mint 모드를 사용하는 경우 업데이트하기 전에 root 시크릿이 클러스터에 있는지 확인해야 합니다.
수동 모드를 사용하는 AWS 또는 GCP 클러스터는 AWS STS(Security Token Service) 또는 GCP 워크로드 ID를 사용하여 클러스터 외부에서 클라우드 인증 정보를 생성하고 관리하도록 구성할 수 있습니다. cluster
Authentication
오브젝트를 검사하여 클러스터에서 이 전략을 사용하는지 확인할 수 있습니다.-
AWS 또는 GCP 클러스터만 Mint 모드를 사용하는: 클러스터가 루트 시크릿없이 작동하는지 확인하려면 워크로드
시크릿으로 이동하여 클라우드 공급자의 루트 시크릿을 찾습니다. 참고프로젝트 드롭다운이 All Projects 로 설정되어 있는지 확인합니다.
플랫폼 시크릿 이름 AWS
aws-creds
GCP
gcp-credentials
- 이러한 값 중 하나가 표시되면 클러스터에서 root 시크릿이 있는 mint 또는 passthrough 모드를 사용하는 것입니다.
- 이러한 값이 표시되지 않으면 클러스터는 루트 시크릿이 제거된 Mint 모드에서 CCO를 사용하는 것입니다.
AWS 또는 GCP 클러스터만 사용하는: 클러스터 외부에서 클라우드 인증 정보를 생성하고 관리하도록 클러스터가 구성되었는지 확인하려면 클러스터
인증
오브젝트 YAML 값을 확인해야 합니다.-
Administration
Cluster Settings으로 이동합니다. - 클러스터 설정 페이지에서 구성 탭을 선택합니다.
- Configuration 리소스 에서 인증을 선택합니다.
- 인증 세부 정보 페이지에서 YAML 탭을 선택합니다.
YAML 블록에서
.spec.serviceAccountIssuer
매개변수 값을 확인합니다.-
클라우드 공급자와 연결된 URL이 포함된 값은 CCO가 AWS STS 또는 GCP 워크로드 ID와 함께 수동 모드를 사용하여 클러스터 외부에서 클라우드 인증 정보를 생성하고 관리하는 것을 나타냅니다. 이러한 클러스터는
ccoctl
유틸리티를 사용하여 구성됩니다. -
빈 값(
''
)은 클러스터가 수동 모드에서 CCO를 사용하고 있지만ccoctl
유틸리티를 사용하여 구성되지 않았음을 나타냅니다.
-
클라우드 공급자와 연결된 URL이 포함된 값은 CCO가 AWS STS 또는 GCP 워크로드 ID와 함께 수동 모드를 사용하여 클러스터 외부에서 클라우드 인증 정보를 생성하고 관리하는 것을 나타냅니다. 이러한 클러스터는
-
Administration
다음 단계
- Mint 또는 passthrough 모드에서 CCO가 작동하는 클러스터를 업데이트하고 루트 보안이 있는 경우 클라우드 공급자 리소스를 업데이트할 필요가 없으며 업데이트 프로세스의 다음 부분으로 계속 진행할 수 있습니다.
- 클러스터가 루트 시크릿이 제거된 상태에서 Mint 모드에서 CCO를 사용하는 경우 업데이트 프로세스의 다음 부분을 계속하기 전에 관리자 수준 인증 정보를 사용하여 인증 정보 시크릿을 복원해야 합니다.
CCO 유틸리티(
ccoctl
ccoctl )를 사용하여 클러스터가 구성된 경우 다음 작업을 수행해야 합니다.-
새 릴리스에 대해
ccoctl
유틸리티를 구성하고 이를 사용하여 클라우드 공급자 리소스를 업데이트합니다. -
upgradeable-to
주석을 업데이트하여 클러스터를 업데이트할 준비가 되었음을 나타냅니다.
-
새 릴리스에 대해
클러스터가 수동 모드에서 CCO를 사용하지만
ccoctl
유틸리티를 사용하여 구성되지 않은 경우 다음 작업을 수행해야 합니다.- 새 릴리스의 클라우드 공급자 리소스를 수동으로 업데이트합니다.
-
upgradeable-to
주석을 업데이트하여 클러스터를 업데이트할 준비가 되었음을 나타냅니다.
7.1.3. CLI를 사용하여 Cloud Credential Operator 모드 확인
CLI를 사용하여 CCO(Cloud Credential Operator)가 사용하도록 구성된 모드를 확인할 수 있습니다.
AWS(Amazon Web Services), 글로벌 Microsoft Azure 및 GCP(Google Cloud Platform) 클러스터만 여러 CCO 모드를 지원합니다.
사전 요구 사항
- 클러스터 관리자 권한이 있는 OpenShift Container Platform 계정에 액세스할 수 있습니다.
-
OpenShift CLI(
oc
)가 설치되어 있습니다.
프로세스
-
cluster-admin
역할의 사용자로 클러스터에서oc
에 로그인합니다. CCO가 사용하도록 구성된 모드를 결정하려면 다음 명령을 입력합니다.
$ oc get cloudcredentials cluster \ -o=jsonpath={.spec.credentialsMode}
다음 출력 값을 사용할 수 있지만 모든 플랫폼에서 모두 지원되는 것은 아닙니다.
-
''
: CCO가 기본 모드에서 작동합니다. 이 구성에서 CCO는 설치 중에 제공된 인증 정보에 따라 Mint 또는 passthrough 모드에서 작동합니다. -
Mint
: CCO가 Mint 모드에서 작동합니다. -
passthrough
: CCO가 passthrough 모드에서 작동합니다. -
Manual
: CCO가 수동 모드에서 작동합니다.
중요''
,Mint
또는Manual
의spec.credentialsMode
가 있는 AWS 또는 GCP 클러스터의 특정 구성을 확인하려면 추가 조사를 수행해야 합니다.AWS 및 GCP 클러스터는 루트 시크릿이 삭제된 상태에서 Mint 모드 사용을 지원합니다. 클러스터가 특별히 Mint 모드를 사용하도록 구성된 경우 또는 기본적으로 Mint 모드를 사용하는 경우 업데이트하기 전에 root 시크릿이 클러스터에 있는지 확인해야 합니다.
수동 모드를 사용하는 AWS 또는 GCP 클러스터는 AWS STS(Security Token Service) 또는 GCP 워크로드 ID를 사용하여 클러스터 외부에서 클라우드 인증 정보를 생성하고 관리하도록 구성할 수 있습니다. cluster
Authentication
오브젝트를 검사하여 클러스터에서 이 전략을 사용하는지 확인할 수 있습니다.-
AWS 또는 GCP 클러스터만 Mint 모드를 사용하는: 클러스터가 루트 시크릿없이 작동하는지 확인하려면 다음 명령을 실행합니다.
$ oc get secret <secret_name> \ -n=kube-system
여기서 &
lt;secret_name
>은 AWS의aws-creds
이거나 GCP의gcp-credentials
입니다.루트 시크릿이 있으면 이 명령의 출력에서 보안에 대한 정보를 반환합니다. root 보안이 클러스터에 존재하지 않음을 나타내는 오류가 있습니다.
수동 모드를 사용하는 AWS 또는 GCP 클러스터: 클러스터 외부에서 클라우드 인증 정보를 생성하고 관리하도록 클러스터가 구성되었는지 확인하려면 다음 명령을 실행합니다.
$ oc get authentication cluster \ -o jsonpath \ --template='{ .spec.serviceAccountIssuer }'
이 명령은 클러스터
인증
오브젝트에서.spec.serviceAccountIssuer
매개변수 값을 표시합니다.-
클라우드 공급자와 연결된 URL의 출력은 CCO가 AWS STS 또는 GCP 워크로드 ID와 함께 수동 모드를 사용하여 클러스터 외부에서 클라우드 인증 정보를 생성하고 관리하는 것을 나타냅니다. 이러한 클러스터는
ccoctl
유틸리티를 사용하여 구성됩니다. -
빈 출력은 클러스터가 수동 모드에서 CCO를 사용하고 있지만
ccoctl
유틸리티를 사용하여 구성되지 않았음을 나타냅니다.
-
클라우드 공급자와 연결된 URL의 출력은 CCO가 AWS STS 또는 GCP 워크로드 ID와 함께 수동 모드를 사용하여 클러스터 외부에서 클라우드 인증 정보를 생성하고 관리하는 것을 나타냅니다. 이러한 클러스터는
다음 단계
- Mint 또는 passthrough 모드에서 CCO가 작동하는 클러스터를 업데이트하고 루트 보안이 있는 경우 클라우드 공급자 리소스를 업데이트할 필요가 없으며 업데이트 프로세스의 다음 부분으로 계속 진행할 수 있습니다.
- 클러스터가 루트 시크릿이 제거된 상태에서 Mint 모드에서 CCO를 사용하는 경우 업데이트 프로세스의 다음 부분을 계속하기 전에 관리자 수준 인증 정보를 사용하여 인증 정보 시크릿을 복원해야 합니다.
CCO 유틸리티(
ccoctl
ccoctl )를 사용하여 클러스터가 구성된 경우 다음 작업을 수행해야 합니다.-
새 릴리스에 대해
ccoctl
유틸리티를 구성하고 이를 사용하여 클라우드 공급자 리소스를 업데이트합니다. -
upgradeable-to
주석을 업데이트하여 클러스터를 업데이트할 준비가 되었음을 나타냅니다.
-
새 릴리스에 대해
클러스터가 수동 모드에서 CCO를 사용하지만
ccoctl
유틸리티를 사용하여 구성되지 않은 경우 다음 작업을 수행해야 합니다.- 새 릴리스의 클라우드 공급자 리소스를 수동으로 업데이트합니다.
-
upgradeable-to
주석을 업데이트하여 클러스터를 업데이트할 준비가 되었음을 나타냅니다.