WSL2의 Docker Desktop에서 k8s hostPath 볼륨 사용

3205 단어 wsl2kubernetesdocker
Kubernetes를 사용하면 노드의 경로를 기반으로 볼륨을 쉽게 마운트할 수 있습니다. Docker Desktop과 같은 도구를 사용하면 로컬 시스템에서 Kubernetes 클러스터를 편리하게 가동할 수 있으므로 로컬 개발에 유용할 수 있습니다.

apiVersion: apps/v1
kind: Deployment
spec:
  ...
  template:
    spec:
      containers:
          image: alpine:latest
          volumeMounts:
            - mountPath: /secrets
              name: secrets-volume
      volumes:
        - name: secrets-volume
          hostPath:
            path: ???


그러나 Windows 시스템의 WSL2에서 Docker Desktop과 함께 Kubernetes를 사용하는 경우 많은 경로가 예상대로 작동하지 않으므로 위의 작업이 까다로울 수 있습니다.

WSL2 내부 및 외부 모두 일반 경로를 마운트하지 못한 후 /mnt/wsl 로 참조될 때 /run/desktop/mnt/host/wsl 아래의 경로를 사용할 수 있음을 찾기 위해 긴 Google 검색을 압축했습니다.

다음 예를 고려하십시오. 로컬 WSL2 폴더에서 Kubernetes 포드로 파일secret.env을 마운트하려고 합니다. 이를 위해 먼저 로컬에서 파일을 생성합니다.

mkdir /mnt/wsl/secrets
echo "thisissecretdata" > /mnt/wsl/secrets/secret.env


그런 다음 deployment.yaml를 통해 이를 마운트합니다.

...
    spec:
      containers:
          image: alpine:latest
          volumeMounts:
            - mountPath: /secrets
              name: secrets-volume
      volumes:
        - name: secrets-volume
          hostPath:
            path: /run/desktop/mnt/host/wsl/secrets


이제 포드 내에서 /secrets/secret.env의 파일에 액세스할 수 있으며 원래 /mnt/wsl/secrets/secret.env에 저장된 데이터를 가져올 수 있습니다.

좋은 웹페이지 즐겨찾기