1.3. Pod에서 SharedSecret 인스턴스 사용
Pod에서 SharedSecret
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
오브젝트를 생성하고 공유 리소스를 사용할 수 있는 서비스 계정에 권한을 부여합니다. 다음 예제 구성을 참조하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: use-shared-secret namespace: app-namespace roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: use-shared-secret subjects: - kind: ServiceAccount name: <service_account_name>
apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: use-shared-secret
1 namespace: app-namespace roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: use-shared-secret subjects: - kind: ServiceAccount name: <service_account_name>
2 공유 리소스
csi
드라이버를 Pod 또는csi
볼륨을 허용하는 기타 리소스에 마운트합니다. 다음 예제 구성을 참조하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: v1 kind: Pod metadata: name: example-shared-secret namespace: <app_namespace> spec: ... serviceAccountName: default volumes: - name: shared-secret csi: readOnly: true driver: csi.sharedresource.openshift.io volumeAttributes: sharedSecret: shared-test-secret
apiVersion: v1 kind: Pod metadata: name: example-shared-secret namespace: <app_namespace>
1 spec: ... serviceAccountName: default volumes: - name: shared-secret csi: readOnly: true driver: csi.sharedresource.openshift.io volumeAttributes: sharedSecret: shared-test-secret
2