23.3. Pod 사양의 예
다음은 예상 볼륨을 생성하기 위한 Pod 사양의 예입니다.
예 23.1. 시크릿, Downward API 및 configmap이 있는 Pod
apiVersion: v1 kind: Pod metadata: name: volume-test spec: containers: - name: container-test image: busybox volumeMounts: 1 - name: all-in-one mountPath: "/projected-volume"2 readOnly: true 3 volumes: 4 - name: all-in-one 5 projected: defaultMode: 0400 6 sources: - secret: name: mysecret 7 items: - key: username path: my-group/my-username 8 - downwardAPI: 9 items: - path: "labels" fieldRef: fieldPath: metadata.labels - path: "cpu_limit" resourceFieldRef: containerName: container-test resource: limits.cpu - configMap: 10 name: myconfigmap items: - key: config path: my-group/my-config mode: 0777 11
- 1
- 보안이 필요한 각 컨테이너에
volumeMounts
섹션을 추가합니다. - 2
- 보안이 표시될 미사용 디렉터리의 경로를 지정합니다.
- 3
readOnly
를true
로 설정합니다.- 4
volumes
블록을 추가하여 각 예상 볼륨 소스를 나열합니다.- 5
- 볼륨에 이름을 지정합니다.
- 6
- 파일에 대한 실행 권한을 설정합니다.
- 7
- 보안을 추가합니다. 보안 오브젝트의 이름을 입력합니다. 사용하려는 모든 시크릿을 나열해야 합니다.
- 8
mountPath
아래에 보안 파일의 경로를 지정합니다. 여기서 보안 파일은 /projected-volume/my-group/my-config 에 있습니다.- 9
- Downward API 소스를 추가합니다.
- 10
- 구성 맵 소스를 추가합니다.
- 11
- 특정 예상에 대한 모드 설정
참고
Pod에 컨테이너가 여러 개 있는 경우 각 컨테이너에 volumeMounts
섹션이 있어야 하지만 volumes
섹션은 하나만 있으면 됩니다.
예 23.2. 기본이 아닌 권한 모드가 설정된 보안이 여러 개인 Pod
apiVersion: v1 kind: Pod metadata: name: volume-test spec: containers: - name: container-test image: busybox volumeMounts: - name: all-in-one mountPath: "/projected-volume" readOnly: true volumes: - name: all-in-one projected: defaultMode: 0755 sources: - secret: name: mysecret items: - key: username path: my-group/my-username - secret: name: mysecret2 items: - key: password path: my-group/my-password mode: 511
참고
defaultMode
는 각 볼륨 소스가 아닌 예상 수준에서만 지정할 수 없습니다. 하지만 위에서 설명한 대로 개별 예상마다 mode
를 명시적으로 설정할 수 있습니다.