minikube/Kubernetes를 실행 중이며 배포시 volumeMount에서 볼륨에 액세스하는 데 문제가 있습니다.Minikube/Kubernetes mountPath에 액세스 할 수 없습니다.
마이크로 서비스가 시작되면/config 디렉토리 (예 : "volumeMounts"의 "mountPath")에 액세스 할 수 없음을 확인할 수 있습니다. 호스트 경로/경로가 유효한지 확인했습니다.
여러 가지 기술을 실험했으며 배포 파일이 올바른지 확인했습니다. 또한 경로 사양 주위에 따옴표/큰 따옴표/따옴표를 사용하여 시도했지만이 문제를 해결하지 못합니다.
간단한 테스트 목적으로 "hostPath"를 사용하고 있습니다. 그러나이 문제는 해결해야 할 시나리오입니다.
내 minikube 구성은 아래에 설명되어있다 : 나는 맥 OS/시에라 버전 10.12.3 (16D32)에 minikube를 실행하고
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"08e099554f3c31f6e6f07b448ab3ed78d0520507", GitTreeState:"clean", BuildDate:"2017-01-12T07:30:54Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"08e099554f3c31f6e6f07b448ab3ed78d0520507", GitTreeState:"clean", BuildDate:"1970-01-01T00:00:00Z", GoVersion:"go1.7.1", Compiler:"gc", Platform:"linux/amd64"}
.
내 배포 파일 (deployment.yaml) : 어떤 도움에 감사드립니다
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: atmp1000-deployment
spec:
replicas: 1
template:
metadata:
labels:
app: atmp1000
spec:
containers:
- name: atmp1000
image: atmp1000
ports:
- containerPort: 7010
volumeMounts:
- name: atmp1000-volume
mountPath: '/config'
volumes:
- name: atmp1000-volume
hostPath:
path: '/Users/<username>/<some-path>/config'
.
확인. 나는 nfs를 시도 할 수있다. 그러나 minikube 문서는 hostPath가 minikube를 위해 사용될 수 있다고 명시하고있다. https://github.com/kubernetes/minikube를 보시오. http://blog.kubernetes.io/2016/07/ minikube-easy-run-kubernetes-locally.html). 어떤 차이가 있는지 모르겠지만 VirtualBox 버전을 사용하는 대신 Mac에서 xhyve 하이퍼 바이저를 사용하고 있습니다. –
언급 한 첫 번째 링크부터 : "Minikube는 hostPath 유형의 PersistentVolumes를 지원합니다.이 PersistentVolumes는 미니 큐브 VM 내부의 디렉토리에 매핑됩니다." 마지막 문장에주의하십시오. 호스트 마운트가 VM 내부의 디렉토리를 기반으로한다고합니다. –
hostPath에 대한 빠른 질문은 설명서에서 구체적으로 설명되어 있습니다. 호스트 파일의 내부에서 호스트 파일에 액세스하려는 경우 minikube VM과 포드 (pods)에서 호스트가 mounthPath에서 볼 수있는 파일을 놓아야하는 minikube 루트 디렉토리입니다 (이 방법은 모범 사례는 아니지만 특정 문제를 해결하려고합니다). –