3.8. 권한 있는 보안 컨텍스트에서 Pod 사용
OpenShift Pipelines 1.3.x 이상 버전의 기본 구성에서는 파이프라인 실행 또는 작업 실행으로 인해 pod가 실행된 경우 권한 있는 보안 컨텍스트로 Pod를 실행할 수 없습니다. 이러한 Pod의 기본 서비스 계정은 pipeline
이며 pipelines
서비스 계정과 연결된 SCC(보안 컨텍스트 제약 조건)는 pipelines-scc
입니다. pipelines-scc
SCC는 anyuid
SCC와 유사하지만 파이프라인 SCC의 YAML 파일에 정의된 것과 약간의 차이가 있습니다.
SecurityContextConstraints
오브젝트 예
apiVersion: security.openshift.io/v1 kind: SecurityContextConstraints ... fsGroup: type: MustRunAs ...
또한 OpenShift Pipelines의 일부로 제공되는 Buildah
클러스터 작업은 vfs
를 기본 스토리지 드라이버로 사용합니다.
3.8.1. 파이프라인 실행 및 작업 실행 권한이 있는 보안 컨텍스트에서 Pod 실행
절차
privileged
있는 보안 컨텍스트를 사용하여 Pod(파이프라인 실행 또는 작업 실행)를 실행하려면 다음 수정 작업을 수행합니다.
명시적 SCC를 갖도록 연결된 사용자 계정 또는 서비스 계정을 구성합니다. 다음 방법을 사용하여 구성을 수행할 수 있습니다.
다음 OpenShift 명령을 실행합니다.
$ oc adm policy add-scc-to-user <scc-name> -z <service-account-name>
또는
RoleBinding
및Role
또는ClusterRole
에 대한 YAML 파일을 수정합니다.RoleBinding
오브젝트의 예apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: service-account-name 1 namespace: default roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: pipelines-scc-clusterrole 2 subjects: - kind: ServiceAccount name: pipeline namespace: default
ClusterRole
오브젝트의 예apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: pipelines-scc-clusterrole 1 rules: - apiGroups: - security.openshift.io resourceNames: - nonroot resources: - securitycontextconstraints verbs: - use
- 1
- 사용하는 역할 바인딩에 따라 적절한 클러스터 역할로 바꿉니다.
참고기본 YAML 파일의 복사본을 만들고 중복 파일을 변경하는 것이 좋습니다.
-
vfs
스토리지 드라이버를 사용하지 않는 경우 작업 실행 또는 파이프라인 실행과 연결된 서비스 계정을 구성하여 권한 있는 SCC를 구성하고 보안 컨텍스트를privileged: true
로 설정합니다.