6.4.2. Pod의 예상 볼륨 구성
예상 볼륨을 생성할 때는 예상 볼륨 이해에 설명된 볼륨 파일 경로 상황을 고려하십시오.
다음 예제에서는 예상 볼륨을 사용하여 기존 보안 볼륨 소스를 마운트하는 방법을 보여줍니다. 이 단계를 사용하여 로컬 파일에서 사용자 이름 및 암호 보안을 생성할 수 있습니다. 그런 다음 예상 볼륨을 사용하여 하나의 컨테이너를 실행하는 Pod를 생성하여 동일한 공유 디렉터리에 보안을 마운트합니다.
프로세스
예상 볼륨을 사용하여 기존 보안 볼륨 소스를 마운트합니다.
다음을 입력하고 암호 및 사용자 정보를 적절하게 교체하여 보안이 포함된 파일을 생성합니다.
apiVersion: v1 kind: Secret metadata: name: mysecret type: Opaque data: pass: MWYyZDFlMmU2N2Rm user: YWRtaW4=user및pass값은 base64로 인코딩된 유효한 문자열일 수 있습니다.다음 예제에서는
admin을 base64 형식으로 보여줍니다.$ echo -n "admin" | base64출력 예
YWRtaW4=다음 예제에서는 암호
1f2d1e2e67df를 base64 형식으로 보여줍니다.$ echo -n "1f2d1e2e67df" | base64출력 예
MWYyZDFlMmU2N2Rm다음 명령을 사용하여 보안을 생성합니다.
$ oc create -f <secrets-filename>예를 들면 다음과 같습니다.
$ oc create -f secret.yaml출력 예
secret "mysecret" created다음 명령을 사용하여 보안이 생성되었는지 확인할 수 있습니다.
$ oc get secret <secret-name>예를 들면 다음과 같습니다.
$ oc get secret mysecret출력 예
NAME TYPE DATA AGE mysecret Opaque 2 17h$ oc get secret <secret-name> -o yaml예를 들면 다음과 같습니다.
$ oc get secret mysecret -o yamlapiVersion: v1 data: pass: MWYyZDFlMmU2N2Rm user: YWRtaW4= kind: Secret metadata: creationTimestamp: 2017-05-30T20:21:38Z name: mysecret namespace: default resourceVersion: "2107" selfLink: /api/v1/namespaces/default/secrets/mysecret uid: 959e0424-4575-11e7-9f97-fa163e4bd54c type: Opaquevolumes섹션이 포함된 다음과 유사한 Pod 구성 파일을 생성합니다.apiVersion: v1 kind: Pod metadata: name: test-projected-volume spec: containers: - name: test-projected-volume image: busybox args: - sleep - "86400" volumeMounts: - name: all-in-one mountPath: "/projected-volume" readOnly: true volumes: - name: all-in-one projected: sources: - secret:1 name: user - secret:2 name: pass구성 파일에서 Pod를 생성합니다.
$ oc create -f <your_yaml_file>.yaml예를 들면 다음과 같습니다.
$ oc create -f secret-pod.yaml출력 예
pod "test-projected-volume" createdPod 컨테이너가 실행 중인지 확인한 후 Pod 변경 사항을 확인합니다.
$ oc get pod <name>예를 들면 다음과 같습니다.
$ oc get pod test-projected-volume출력은 다음과 유사합니다.
출력 예
NAME READY STATUS RESTARTS AGE test-projected-volume 1/1 Running 0 14s다른 터미널에서
oc exec명령을 사용하여 실행 중인 컨테이너에 쉘을 엽니다.$ oc exec -it <pod> <command>예를 들면 다음과 같습니다.
$ oc exec -it test-projected-volume -- /bin/sh쉘에서
projected-volumes디렉터리에 예상 소스가 포함되어 있는지 확인합니다./ # ls출력 예
bin home root tmp dev proc run usr etc projected-volume sys var