4.12. 클라우드 공급자 인증 정보 교체 또는 제거
OpenShift Container Platform을 설치한 후 일부 조직에서는 초기 설치 중에 사용된 클라우드 공급자 인증 정보를 교체하거나 제거해야 합니다.
클러스터가 새 인증 정보를 사용할 수 있도록 하려면 CCO(Cloud Credential Operator)에서 클라우드 공급자 인증 정보를 관리하는 데 사용하는 시크릿을 업데이트해야 합니다.
4.12.1. 클라우드 공급자 인증 정보를 수동으로 교체
어떠한 이유로 클라우드 공급자 인증 정보가 변경되면 CCO(Cloud Credential Operator)에서 클라우드 공급자 인증 정보를 관리하기 위해 사용하는 시크릿을 수동으로 업데이트해야 합니다.
클라우드 인증 정보를 교체하는 프로세스는 CCO가 사용하도록 구성된 모드에 따라 달라집니다. Mint 모드를 사용하는 클러스터의 인증 정보를 교체한 후 삭제된 인증 정보를 통해 생성된 구성 요소 인증 정보를 수동으로 제거해야 합니다.
사전 요구 사항
클러스터는 다음을 사용하는 CCO 모드로 클라우드 인증 정보 교체를 수동으로 지원하는 플랫폼에 설치됩니다.
- Mint 모드의 경우 AWS(Amazon Web Services) 및 GCP(Google Cloud Platform)가 지원됩니다.
- Passthrough 모드의 경우 AWS(Amazon Web Services), Microsoft Azure, GCP(Google Cloud Platform), RHOSP(Red Hat OpenStack Platform), RHV(Red Hat Virtualization) 및 VMware vSphere가 지원됩니다.
- 클라우드 공급자와 인터페이스에 사용되는 인증 정보를 변경했습니다.
- 새 인증 정보에는 클러스터에서 사용할 수 있도록 구성된 모드 CCO에 대한 충분한 권한이 있습니다.
절차
-
웹 콘솔의 Administrator 모드에서 Workloads
Secrets로 이동합니다. Secrets 페이지의 표에서 클라우드 공급자의 루트 시크릿을 찾습니다.
플랫폼 시크릿 이름 AWS
aws-creds
Azure
azure-credentials
GCP
gcp-credentials
RHOSP
openstack-credentials
RHV
ovirt-credentials
VMware vSphere
vsphere-creds
- 시크릿과 동일한 행에서 옵션 메뉴 를 클릭하고 시크릿 편집을 선택합니다.
- Value 필드의 내용을 기록합니다. 이 정보를 사용하여 인증서를 업데이트한 후 값이 다른지 확인할 수 있습니다.
- 클라우드 공급자에 대한 새로운 인증 정보를 사용하여 Value 필드의 텍스트를 업데이트한 다음 저장을 클릭합니다.
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
클러스터의 CCO가 Mint 모드를 사용하도록 구성된 경우 개별
CredentialsRequest
오브젝트에서 참조하는 각 구성 요소 시크릿을 삭제합니다.-
cluster-admin
역할의 사용자로 OpenShift Container Platform CLI에 로그인합니다. 참조되는 모든 구성 요소 시크릿의 이름과 네임스페이스를 가져옵니다.
$ oc -n openshift-cloud-credential-operator get CredentialsRequest \ -o json | jq -r '.items[] | select (.spec.providerSpec.kind=="<provider_spec>") | .spec.secretRef'
여기서
<provider_spec
>은 클라우드 공급자의 해당 값입니다.-
AWS:
AWSProviderSpec
-
GCP:
GCPProviderSpec
AWS의 부분 예제 출력
{ "name": "ebs-cloud-credentials", "namespace": "openshift-cluster-csi-drivers" } { "name": "cloud-credential-operator-iam-ro-creds", "namespace": "openshift-cloud-credential-operator" }
-
AWS:
참조된 각 구성 요소 시크릿을 삭제합니다.
$ oc delete secret <secret_name> \1 -n <secret_namespace> 2
AWS 시크릿 삭제 예
$ oc delete secret ebs-cloud-credentials -n openshift-cluster-csi-drivers
공급자 콘솔에서 인증 정보를 수동으로 삭제할 필요가 없습니다. 참조된 구성 요소 시크릿을 삭제하면 CCO가 플랫폼에서 기존 인증 정보를 삭제하고 새 인증서를 생성합니다.
-
검증
인증 정보가 변경되었는지 확인하려면 다음을 수행하십시오.
-
웹 콘솔의 Administrator 모드에서 Workloads
Secrets로 이동합니다. - Value 필드의 내용이 변경되었는지 확인합니다.
추가 리소스
4.12.2. 클라우드 공급자 인증 정보 제거
Mint 모드에서 CCO(Cloud Credential Operator)를 사용하여 OpenShift Container Platform 클러스터를 설치한 후 클러스터의 kube-system
네임스페이스에서 관리자 수준 인증 정보 시크릿을 제거할 수 있습니다. 관리자 수준 인증 정보는 업그레이드와 같은 승격된 권한이 필요한 변경 시에만 필요합니다.
z-stream 외 업그레이드 이전에는 관리자 수준 인증 정보를 사용하여 인증 정보 시크릿을 복원해야 합니다. 인증 정보가 없으면 업그레이드가 차단될 수 있습니다.
사전 요구 사항
- 클러스터는 CCO에서 클라우드 인증 정보 제거를 지원하는 플랫폼에 설치되어 있습니다. 지원되는 플랫폼은 AWS 및 GCP입니다.
절차
-
웹 콘솔의 Administrator 모드에서 Workloads
Secrets로 이동합니다. Secrets 페이지의 표에서 클라우드 공급자의 루트 시크릿을 찾습니다.
플랫폼 시크릿 이름 AWS
aws-creds
GCP
gcp-credentials
- 시크릿과 동일한 행에서 옵션 메뉴 를 클릭하고 시크릿 삭제를 선택합니다.