23.5. Pod의 예상 볼륨 구성
다음 예제에서는 예상 볼륨을 사용하여 기존 Secret 볼륨 소스를 마운트하는 방법을 보여줍니다.
이 단계를 사용하여 로컬 파일에서 사용자 이름 및 암호 보안 을 생성할 수 있습니다. 그런 다음 예상 볼륨을 사용하여 하나의 컨테이너를 실행하는 Pod를 생성하여 동일한 공유 디렉터리에 시크릿을 마운트합니다.
보안이 포함된 파일을 생성합니다.
예를 들면 다음과 같습니다.
$ nano secret.yaml
다음을 입력하여 암호 및 사용자 정보를 적절하게 바꿉니다.
apiVersion: v1 kind: Secret metadata: name: mysecret type: Opaque data: pass: MWYyZDFlMmU2N2Rm user: YWRtaW4=
user
및pass
값은 base64로 인코딩된 유효한 문자열일 수 있습니다. 여기에서 사용되는 예제는 base64로 인코딩된 값user: admin
,pass:1f2d1e67df
입니다.$ echo -n "admin" | base64 YWRtaW4= $ 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 <secret-name> -o yaml
예를 들면 다음과 같습니다.
$ oc get secret mysecret NAME TYPE DATA AGE mysecret Opaque 2 17h
oc get secret mysecret -o yaml apiVersion: 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: Opaque
volumes
섹션이 포함된 다음과 유사한 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: name: user - secret: name: pass
구성 파일에서 Pod를 생성합니다.
$ oc create -f <your_yaml_file>.yaml
예를 들면 다음과 같습니다.
$ oc create -f secret-pod.yaml pod "test-projected-volume" created
Pod 컨테이너가 실행 중인지 확인한 다음 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