3.7. ccoctl 툴을 사용하여 OpenShift Container Platform 구성 요소의 인증 정보 생성
OpenShift Container Platform Cloud Credential Operator (CCO) 유틸리티를 사용하여 각 클러스터 내 구성 요소에 대해 RuntimeClass Cloud RAM 사용자 및 정책 생성을 자동화할 수 있습니다.
기본적으로 ccoctl
은 명령이 실행되는 디렉터리에 오브젝트를 생성합니다. 다른 디렉터리에 오브젝트를 생성하려면 --output-dir
플래그를 사용합니다. 이 절차에서는 <path_to_ccoctl_output_dir>
을 사용하여 이 디렉터리를 나타냅니다.
사전 요구 사항
다음이 있어야 합니다.
-
ccoctl
바이너리를 추출하여 준비합니다. - OpenShift Container Platform 클러스터를 생성할 수 있는 충분한 권한이 있는 RAM 사용자가 생성되어 있어야 합니다.
-
해당 RAM 사용자의 AccessKeyID (
access_key_id
) 및 AccessKeySecret (access_key_secret
)을 로컬 컴퓨터의~/.alibabacloud/credentials
파일에 추가했습니다.
프로세스
다음 명령을 실행하여 설치 파일의 릴리스 이미지로
$RELEASE_IMAGE
변수를 설정합니다.$ RELEASE_IMAGE=$(./openshift-install version | awk '/release image/ {print $3}')
다음 명령을 실행하여 OpenShift Container Platform 릴리스 이미지에서
CredentialsRequest
오브젝트 목록을 추출합니다.$ oc adm release extract \ --from=$RELEASE_IMAGE \ --credentials-requests \ --included \1 --install-config=<path_to_directory_with_installation_configuration>/install-config.yaml \2 --to=<path_to_directory_for_credentials_requests> 3
참고이 명령을 실행하는 데 시간이 다소 걸릴 수 있습니다.
ccoctl
툴을 사용하여 다음 명령을 실행하여 모든CredentialsRequest
오브젝트를 처리합니다.툴을 사용하려면 다음 명령을 실행합니다.
$ ccoctl alibabacloud create-ram-users \ --name <name> \1 --region=<alibaba_region> \2 --credentials-requests-dir=<path_to_credentials_requests_directory> \3 --output-dir=<path_to_ccoctl_output_dir> 4
참고클러스터에서
TechPreviewNoUpgrade
기능 세트에서 활성화한 기술 프리뷰 기능을 사용하는 경우--enable-tech-preview
매개변수를 포함해야 합니다.출력 예
2022/02/11 16:18:26 Created RAM User: user1-alicloud-openshift-machine-api-alibabacloud-credentials 2022/02/11 16:18:27 Ready for creating new ram policy user1-alicloud-openshift-machine-api-alibabacloud-credentials-policy-policy 2022/02/11 16:18:27 RAM policy user1-alicloud-openshift-machine-api-alibabacloud-credentials-policy-policy has created 2022/02/11 16:18:28 Policy user1-alicloud-openshift-machine-api-alibabacloud-credentials-policy-policy has attached on user user1-alicloud-openshift-machine-api-alibabacloud-credentials 2022/02/11 16:18:29 Created access keys for RAM User: user1-alicloud-openshift-machine-api-alibabacloud-credentials 2022/02/11 16:18:29 Saved credentials configuration to: user1-alicloud/manifests/openshift-machine-api-alibabacloud-credentials-credentials.yaml ...
참고RAM 사용자는 두 개의 AccessKey를 동시에 가질 수 있습니다.
ccoctl alibabacloud create-ram-users
를 두 번 이상 실행하면 이전에 생성된 매니페스트 보안이 오래되어 새로 생성된 보안을 다시 적용해야 합니다.OpenShift Container Platform 시크릿이 생성되었는지 확인합니다.
$ ls <path_to_ccoctl_output_dir>/manifests
출력 예
openshift-cluster-csi-drivers-alibaba-disk-credentials-credentials.yaml openshift-image-registry-installer-cloud-credentials-credentials.yaml openshift-ingress-operator-cloud-credentials-credentials.yaml openshift-machine-api-alibabacloud-credentials-credentials.yaml
Alibaba Cloud를 쿼리하여 RAM 사용자 및 정책의 생성 여부를 확인할 수 있습니다. 자세한 내용은 RAM 사용자 및 정책을 나열에 대한 Alibaba Cloud 문서를 참조하십시오.
생성된 자격 증명 파일을 대상 매니페스트 디렉터리에 복사합니다.
$ cp ./<path_to_ccoctl_output_dir>/manifests/*credentials.yaml ./<path_to_installation>dir>/manifests/
다음과 같습니다.
<path_to_ccoctl_output_dir>
-
ccoctl alibabacloud create-ram-users
명령으로 생성된 디렉터리를 지정합니다. <path_to_installation_dir>
- 설치 프로그램이 파일을 생성하는 디렉터리를 지정합니다.