Docker는 명명 된 볼륨을 지원하며 마운트 된 경우 해당 볼륨은 기본 이미지 컨텐츠로 채워집니다.Kubernetes가 기본 이미지로 채 웁니다.
K8에 대해서도 동일한 설정이 필요합니다. 즉, 포드가 기본 이미지의 내용으로 볼륨을 채울 필요가 있습니다.
K8과 PVC로 가능합니까?
Docker는 명명 된 볼륨을 지원하며 마운트 된 경우 해당 볼륨은 기본 이미지 컨텐츠로 채워집니다.Kubernetes가 기본 이미지로 채 웁니다.
K8에 대해서도 동일한 설정이 필요합니다. 즉, 포드가 기본 이미지의 내용으로 볼륨을 채울 필요가 있습니다.
K8과 PVC로 가능합니까?
Docker 이미지에 로컬 볼륨을 마운트하려고한다고 생각합니다. 즉, 로컬 폴더는 Docker 이미지 내부에 볼륨으로 마운트됩니다.
당신은 당신의 용기가 모든 노드에 배포 할 수 있기 때문에, 즉 hostPath 어떤에서 사용할 수 있어야 의미 볼륨을 hostPath
http://kubernetes.io/docs/user-guide/volumes/#hostpath
apiVersion: v1
kind: Pod
metadata:
name: test-pd
spec:
containers:
- image: gcr.io/google_containers/test-webserver
name: test-container
volumeMounts:
- mountPath: /test-pd
name: test-volume
volumes:
- name: test-volume
hostPath:
# directory location on host
path: /data
주를 사용하여 부두 노동자 컨테이너에서 로컬 디렉토리를 마운트 할 수 있습니다 노드를 같은 내용으로 재현 할 수 있습니다.
간단히 말해서, 이것은 상호 작용하는 로컬 데이터를 마운트하는 것이 아니라 라이브러리, 인증서 또는 이와 유사한 것들을 마운트하는 것을 의미합니다.
을 사용하여 포드에 소량의 데이터를 마운트하는 것이 좋습니다.
고맙습니다. 하지만 마운트는 기본 이미지의 내용으로 채워 집니까? 내 질문의 배경은 Zimbra를 Docker 컨테이너로 배포하려고 시도한 것이고 Zimbra 설치는/var 및/etc,/opt/zimbra의 파일을 수정해야합니다. 구성 파일은 A 테이너간에 공유되어야합니다. 가장 쉬운 방법은 일반 Docker에서 명명 된 마운트를 사용하는 것입니다. – Erwin
'hostPath' 폴더를 마운트하면 내용에 액세스 할 수 있지만 thedoc에는 다음과 같이 언급되어 있습니다. "기본 호스트에서 작성된 디렉토리는 root 만 쓸 수 있습니다. 권한있는 컨테이너에서 루트로 프로세스를 실행해야하거나 hostPath 볼륨에 쓸 수 있도록 호스트에서 파일 권한을 수정하십시오. " – MrE
어쨌든 이것은 Kubernetes에서해야하는 것이 아닙니다. 귀하의 포드가 모두 동일한 호스트에 위치한다는 보장이 없기 때문입니다 (DaemonSets 또는 특정 선택자를 강제로 실행할 수는 있지만 Kubernetes 사용 목적을 상실 할 수 있습니다) – MrE