반응형
도커데스크톱으로 쿠버네티스를 올리고 pv를 붙이려면 hostpath로 하면 된다.
참고로 hostpath는 node의 storeage를 사용하는 것으로,
도커데스크톱은 pc 위에 1개의 노드풀로 올라가 있기 때문에 사용할 수 있다.
필자는 C:/kubernetes/storage/ 경로를 스토리지로 사용하고
샘플 pod에 toolbox 폴더라는 pv를 붙였다.
먼저 deployment.yaml 에 volume을 작성하자.
경로는 /run/desktop/mnt/host/c/ 뒤에 작성하면 된다.
apiVersion: apps/v1
kind: Deployment
metadata:
name: toolbox-deployment
spec:
selector:
matchLabels:
app: toolbox
replicas: 1 # tells deployment to run 2 pods matching the template
template:
metadata:
labels:
app: toolbox
spec:
containers:
- name: toolbox
image: webdevops/toolbox:latest
ports:
- containerPort: 80
command: ["/bin/sh", "-c"]
args: ["sleep 600"]
volumeMounts:
- mountPath: /local-dir
name: vol
volumes:
- name: vol
hostPath:
path: /run/desktop/mnt/host/c/kubernetes/storage/toolbox
type: Directory
참고로 해당 경로에 폴더가 존재해야한다.
폴더를 미리 만들어 주지 않았을 경우 아래와 같은 에러가 발생함!
MountVolume.SetUp failed for volume "vol" : hostPath type check failed: /run/desktop/mnt/host/c/kubernetes/storage/toolbox is not a directory
배포 후 pod 에 들어가 df 명령어를 쳐보면 마운트가 된것을 확인할 수 있다.
해당 경로로 이동해 파일을 생성하면 잘된다.
반응형
'엔지니어링 > Kubernetes' 카테고리의 다른 글
Kubernetes Korea Community Day 2024 후기 (0) | 2024.09.24 |
---|---|
[CKA] Certified Kubernetes Administrator 자격 취득 후기 (0) | 2023.07.08 |
[Kubernetes] nginx-ingress로 들어온 path를 삭제하고 백엔드에 전달하기 (0) | 2022.10.26 |
[DockerDesktop] access permissions 에러 (0) | 2022.10.20 |
[DockerDesktop] kubernetes 설치 후 kubectl 안될 때 (0) | 2022.10.19 |