website/content/ko/docs/tasks/configure-pod-container/configure-projected-volume-...

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

  1. 시크릿을 생성한다.

    # 유저네임과 패스워드를 포함한 파일들을 생성한다.
    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
    
  2. 파드를 생성한다.

    kubectl apply -f https://k8s.io/examples/pods/storage/projected.yaml
    
  3. 파드의 컨테이너가 정상적으로 실행되는지 확인한 다음, 파드에 대한 변경 사항을 확인한다.

    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
    
  4. 다른 터미널을 이용해, 실행 중인 컨테이너에 대한 셸을 가져온다.

    kubectl exec -it test-projected-volume -- /bin/sh
    
  5. 셸에서 projected-volume 디렉터리에 프로젝티드 소스들이 포함되어 있는지 확인한다.

    ls /projected-volume/
    

정리하기

파드와 시크릿을 제거한다.

kubectl delete pod test-projected-volume
kubectl delete secret user pass

{{% heading "whatsnext" %}}