이 페이지에서는 클러스터에서 볼륨 리소스를 만드는 방법을 설명합니다. 자세한 내용은 볼륨에 대한 Kubernetes 문서를 참조하세요.
배포에 볼륨 사용
각 포드에 볼륨이 하나 이상 포함되는 포드의 배포를 만들 수 있습니다. 다음 배포 매니페스트에서는 각각 emptyDir 볼륨이 포함된 3개의 Pod로 구성된 배포를 설명합니다.
예를 들면 다음과 같습니다.
metadata: name
필드는volumes-example-deployment
라는 배포를 지정합니다.- 포드 템플릿 사양에는
cache-volume
이라는 emptyDir 볼륨을 설명하는volumes
필드가 포함되어 있습니다. - 컨테이너 사양에는
cache-volume
이라는 볼륨이 파일 경로/cache
에 마운트되도록 지정하는volumeMounts:
필드가 포함됩니다. - 매니페스트 파일의 이름은
volumes-demo.yaml
입니다.
apiVersion: apps/v1
kind: Deployment
metadata:
name: volumes-example-deployment
spec:
replicas: 3
selector:
matchLabels:
app: demo
template:
metadata:
labels:
app: demo
spec:
containers:
- name: test-container
image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
volumeMounts:
- mountPath: /cache
name: cache-volume
volumes:
- name: cache-volume
emptyDir: {}
이 매니페스트 파일에서 배포를 만들려면 다음 명령어를 실행하세요.
kubectl apply -f volumes-demo.yaml
다음 명령어로 배포가 올바르게 실행 중이고 예상되는 볼륨이 포함되었는지 확인합니다.
kubectl describe pods volumes-example-deployment
그러면 배포에 포함된 3개의 포드 각각에 대한 정보가 출력됩니다. 각 포드에 컨테이너, 테스트 컨테이너가 /cache
마운트로 포함된 것으로 출력에 표시됩니다.
Mounts:
/cache from cache-volume (rw)
또한 각 포드에 cache-volume
이라는 볼륨이 포함된 것으로 출력에 표시됩니다.
Volumes:
cache-volume:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
배포 만들기에 대한 자세한 내용은 배포 만들기를 참조하세요.
다음 단계
- PersistentVolumes, PersistentVolumeClaims, 동적 스토리지 프로비저닝에 대해 알아보기
- Compute Engine Persistent Disk CSI 드라이버 사용 방법 알아보기