Openshift yaml 파일로 Pod 생성시 보안 (권한) 에러 메세지
[ 에러 ]
아래와 같은 yaml 파일을 작성하여 Pod 를 생성하려고 하였습니다.
# vi app.yaml
apiVersion: v1 kind: Pod metadata: name: app3 spec: containers: - name: app33 image: docker.io/php:7.4-apache ports: - containerPort: 80 |
Pod 생성 명령시 아래와 같은 에러가 출력되었습니다.
# oc apply -f app.yaml
Warning: would violate PodSecurity "restricted:v1.24": allowPrivilegeEscalation != false (container "app33" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "app33" must set securityContext.capabilities.drop=["ALL"]), runAsNonRoot != true (pod or container "app33" must set securityContext.runAsNonRoot=true), seccompProfile (pod or container "app33" must set securityContext.seccompProfile.type to "RuntimeDefault" or "Localhost")
[ 해결 ]
에러 파일에 대한 조치로 아래와 같이 다시 작성하여 Pod 를 정상적으로 생성하였습니다.
apiVersion: v1 kind: Pod metadata: name: app4 spec: securityContext: seccompProfile: type: RuntimeDefault containers: - name: app44 image: docker.io/php:7.4-apache securityContext: allowPrivilegeEscalation: false capabilities: drop: ["ALL"] runAsNonRoot: true |
* 설명
allowPrivilegeEscalation: 컨테이너가 프로세스의 권한 상승을 허용하지 않도록 설정합니다.
capabilities: 컨테이너가 사용할 수 있는 권한(capabilities)을 제한합니다. 여기에서는 모든 권한을 제한하도록 drop=["ALL"]로 설정합니다.
runAsNonRoot: 컨테이너가 root 권한으로 실행되지 않도록 설정합니다.
seccompProfile: 컨테이너가 사용하는 seccomp 프로필을 설정합니다. 여기에서는 type을 RuntimeDefault로 설정합니다.
# oc apply -f app.yaml
pod/app4 created
'리눅스 > OpenShift' 카테고리의 다른 글
[Openshift] 미터링 도구 Prometheus + AlertManager 알람 (webhook + telegram) (0) | 2023.04.24 |
---|---|
Openshift 4.12.0 MetalLB 로드발란서 설치 및 서비스 IP 대역 할당하기 (0) | 2023.04.06 |
Openshift Pod 상태 로그 보는 방법 두가지 (0) | 2023.03.27 |
Openshift GitLab-CE 컨테이너 배포하기 (0) | 2023.03.24 |
[Openshift 에러] remote error: tls: internal error (0) | 2023.03.23 |