3.2. 수동으로 IAM 생성
Cloud Credential Operator (CCO)는 클라우드 아이덴티티 및 액세스 관리 (IAM) API에 연결할 수 없는 환경에서 설치하기 전에 수동 모드로 전환할 수 있습니다. 또는 관리자가 클러스터 kube-system
네임 스페이스에 관리자 수준의 인증 정보 시크릿을 저장하지 않도록 합니다.
프로세스
설치 프로그램이 포함된 디렉터리로 변경하고 다음 명령을 실행하여
install-config.yaml
파일을 생성합니다.$ openshift-install create install-config --dir <installation_directory>
여기서
<installation_directory>
는 설치 프로그램이 파일을 생성하는 디렉터리입니다.install-config.yaml
구성 파일을 편집하여credentialsMode
매개 변수가Manual
로 설정되도록 합니다.install-config.yaml
설정 파일 예apiVersion: v1 baseDomain: cluster1.example.com credentialsMode: Manual 1 compute: - architecture: amd64 hyperthreading: Enabled ...
- 1
- 이 행은
credentialsMode
매개변수를Manual
로 설정하기 위해 추가됩니다.
설치 프로그램이 포함된 디렉터리에서 다음 명령을 실행하여 매니페스트를 생성합니다.
$ openshift-install create manifests --dir <installation_directory>
여기서
<installation_directory>
는 설치 프로그램이 파일을 생성하는 디렉터리입니다.설치 프로그램이 포함된 디렉터리에서 다음 명령을 실행하여
openshift-install
바이너리가 빌드된 OpenShift Container Platform 릴리스 이미지에 대한 세부 정보를 가져옵니다.$ openshift-install version
출력 예
release image quay.io/openshift-release-dev/ocp-release:4.y.z-x86_64
다음 명령을 실행하여 배포 중인 클라우드를 대상으로 하는 이 릴리스 이미지에서
CredentialsRequest
오브젝트를 모두 찾습니다.$ oc adm release extract quay.io/openshift-release-dev/ocp-release:4.y.z-x86_64 \ --credentials-requests \ --cloud=aws
이 명령을 수행하면 각
CredentialsRequest
오브젝트에 대해 YAML 파일이 생성됩니다.샘플
CredentialsRequest
개체apiVersion: cloudcredential.openshift.io/v1 kind: CredentialsRequest metadata: name: <component-credentials-request> namespace: openshift-cloud-credential-operator ... spec: providerSpec: apiVersion: cloudcredential.openshift.io/v1 kind: AWSProviderSpec statementEntries: - effect: Allow action: - iam:GetUser - iam:GetUserPolicy - iam:ListAccessKeys resource: "*" ...
이전에 생성한
openshift-install
매니페스트 디렉터리에 시크릿 YAML 파일을 만듭니다. 시크릿은 각CredentialsRequest
오브젝트의spec.secretRef
에 정의된 네임 스페이스 및 시크릿 이름을 사용하여 저장해야 합니다.보안이 포함된 샘플
CredentialsRequest
오브젝트apiVersion: cloudcredential.openshift.io/v1 kind: CredentialsRequest metadata: name: <component-credentials-request> namespace: openshift-cloud-credential-operator ... spec: providerSpec: apiVersion: cloudcredential.openshift.io/v1 kind: AWSProviderSpec statementEntries: - effect: Allow action: - s3:CreateBucket - s3:DeleteBucket resource: "*" ... secretRef: name: <component-secret> namespace: <component-namespace> ...
샘플
Secret
오브젝트apiVersion: v1 kind: Secret metadata: name: <component-secret> namespace: <component-namespace> data: aws_access_key_id: <base64_encoded_aws_access_key_id> aws_secret_access_key: <base64_encoded_aws_secret_access_key>
중요릴리스 이미지에는
TechPreviewNoUpgrade
기능 세트에서 활성화하는 기술 프리뷰 기능에 대한CredentialsRequest
오브젝트가 포함되어 있습니다.release.openshift.io/feature-set: TechPreviewNoUpgrade
주석을 사용하여 이러한 오브젝트를 식별할 수 있습니다.- 이러한 기능을 사용하지 않는 경우 이러한 오브젝트에 대한 시크릿을 생성하지 마십시오. 사용하지 않는 기술 프리뷰 기능에 대한 보안을 생성하면 설치에 실패할 수 있습니다.
- 이러한 기능을 사용하는 경우 해당 오브젝트에 대한 시크릿을 생성해야 합니다.
TechPreviewNoUpgrade
주석을 사용하여CredentialsRequest
오브젝트를 찾으려면 다음 명령을 실행합니다.$ grep "release.openshift.io/feature-set" *
출력 예
0000_30_capi-operator_00_credentials-request.yaml: release.openshift.io/feature-set: TechPreviewNoUpgrade
설치 프로그램이 포함된 디렉터리에서 클러스터 생성을 진행합니다.
$ openshift-install create cluster --dir <installation_directory>
중요수동으로 유지 관리되는 인증 정보를 사용하는 클러스터를 업그레이드하기 전에 CCO가 업그레이드 가능한 상태인지 확인해야 합니다.