엔지니어링/Kubernetes

[Kubernetes] docker Desktop Kubernetes PV 붙이기

joon95 2022. 10. 26. 16:04
반응형

도커데스크톱으로 쿠버네티스를 올리고 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 명령어를 쳐보면 마운트가 된것을 확인할 수 있다.

해당 경로로 이동해 파일을 생성하면 잘된다.

 

반응형