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 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: 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" 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