1.5. Pod에서 SharedConfigMap 인스턴스 사용
Pod에서 SharedConfigMap
CR(사용자 정의 리소스) 인스턴스에 액세스하려면 해당 SharedConfigMap
CR 인스턴스를 사용할 수 있는 지정된 서비스 계정 역할 기반 액세스 제어(RBAC) 권한을 부여합니다.
사전 요구 사항
-
클러스터의 네임스페이스에서 공유할 구성 맵에 대해
SharedConfigMap
CR 인스턴스를 생성했습니다. 다음 작업을 수행할 수 있는 권한이 있어야 합니다.
-
oc get sharedconfigmaps
명령을 입력하여SharedConfigMap
CR 인스턴스 목록을 가져옵니다. -
서비스 계정이
SharedSecret
CR을 사용하도록 허용된 경우oc adm policy who-can use <sharedsecret_identifier
> 명령을 실행하여 네임스페이스에 서비스 계정이 나열되어 있는지 확인합니다. -
Pod의 서비스 계정이
csi
볼륨을 사용할 수 있는지 확인합니다. Pod를 사용자로 생성한 경우csi
볼륨을 사용할 수 있는지 확인합니다.
-
참고
마지막 두 사전 요구 사항을 완료할 수 없는 경우 클러스터 관리자가 필요한 RBAC(역할 기반 액세스 제어)를 설정하여 서비스 계정에서 SharedConfigMap
CR을 사용할 수 있도록 할 수 있습니다.
프로세스
역할과 연결된
RoleBinding
오브젝트를 생성하고 공유 리소스를 사용할 수 있는 서비스 계정에 권한을 부여합니다. 다음 예제 구성을 참조하십시오.apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: use-shared-config namespace: <app_namespace> roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: use-shared-config subjects: - kind: ServiceAccount name: <service_account_name>
apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: use-shared-config namespace: <app_namespace>
1 roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: use-shared-config subjects: - kind: ServiceAccount name: <service_account_name>
2 Copy to Clipboard Copied! 공유 리소스
csi
드라이버를 Pod 또는csi
볼륨을 허용하는 기타 리소스에 마운트합니다. 다음 예제 구성을 참조하십시오.apiVersion: v1 kind: Pod metadata: name: example-shared-config namespace: <app_namespace> spec: ... serviceAccountName: default volumes: - name: shared-config csi: readOnly: true driver: csi.sharedresource.openshift.io volumeAttributes: sharedConfigMap: share-test-config
apiVersion: v1 kind: Pod metadata: name: example-shared-config namespace: <app_namespace>
1 spec: ... serviceAccountName: default volumes: - name: shared-config csi: readOnly: true driver: csi.sharedresource.openshift.io volumeAttributes: sharedConfigMap: share-test-config
2 Copy to Clipboard Copied!