2.9 KiB
2.9 KiB
title | content_type | weight |
---|---|---|
파드의 스토리지에 프로젝티드 볼륨(Projected Volume)을 사용하도록 구성 | task | 70 |
이 페이지는 프로젝티드
볼륨을 사용하여 여러 기존 볼륨 소스들을
동일한 디렉터리에 마운트하는 방법을 보여준다. 현재 시크릿(secret)
, 컨피그맵(configMap)
, downwardAPI
,
그리고 서비스어카운트토큰(serviceAccountToken)
볼륨이 프로젝티드(projected)될 수 있다.
{{< note >}}
서비스어카운트토큰(serviceAccountToken)
은 볼륨 타입이 아니다.
{{< /note >}}
{{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
파드에 프로젝티드 볼륨을 구성
이 연습에서는 로컬 파일에 유저네임과 패스워드를 {{< glossary_tooltip text="시크릿" term_id="secret" >}}으로 생성한다. 이후 하나의 컨테이너를 포함한 파드를 생성하는 데, 이 때 시크릿을 동일한 공유 디렉터리에 마운트하기 위해 프로젝티드
볼륨을 사용한다.
다음은 파드의 구성 파일이다.
{{< codenew file="pods/storage/projected.yaml" >}}
-
시크릿을 생성한다.
# 유저네임과 패스워드를 포함한 파일들을 생성한다. echo -n "admin" > ./username.txt echo -n "1f2d1e2e67df" > ./password.txt # 생성한 파일들을 시크릿으로 패키징한다. kubectl create secret generic user --from-file=./username.txt kubectl create secret generic pass --from-file=./password.txt
-
파드를 생성한다.
kubectl apply -f https://k8s.io/examples/pods/storage/projected.yaml
-
파드의 컨테이너가 정상적으로 실행되는지 확인한 다음, 파드에 대한 변경 사항을 확인한다.
kubectl get --watch pod test-projected-volume
The output looks like this:
NAME READY STATUS RESTARTS AGE test-projected-volume 1/1 Running 0 14s
-
다른 터미널을 이용해, 실행 중인 컨테이너에 대한 셸을 가져온다.
kubectl exec -it test-projected-volume -- /bin/sh
-
셸에서
projected-volume
디렉터리에 프로젝티드 소스들이 포함되어 있는지 확인한다.ls /projected-volume/
정리하기
파드와 시크릿을 제거한다.
kubectl delete pod test-projected-volume
kubectl delete secret user pass
{{% heading "whatsnext" %}}
프로젝티드
볼륨에 대해 더 알아보기.- all-in-one 볼륨 디자인 문서를 읽기.