我拥有的:
使用Google容器的集群上的Kubernetes部署将操作系统优化为节点操作系统
cat /etc/*-release
进一步deploy.yaml
apiVersion: apps/v1beta1 kind: Deployment metadata: name: my-app spec: replicas: 1 template: metadata: labels: app: my-app spec: containers: - name: my-app image: eu.gcr.io/my-project/my-app ports: - containerPort: 8013 volumeMounts: - mountPath: /my/cache/ name: cache volumes: - name: cache nfs: server: cache path: /cache/my-app/ readOnly: false
问题是,当我明确地inputIP地址时,nfs-mount工作,但由于某种原因无法parsing主机名。
volumes: - name: cache nfs: server: 192.168.1.1 # this example would work path: /cache/my-app/ readOnly: false
但是,inputmount.nfs的主机名会退出
装载失败:退出状态32 …输出:mount.nfs:无法parsing服务器caching
不过,我可以通过节点的主机名来ping服务器。 当我使用一个普通的Container-VM时,它也可以工作,说明这可能是Google容器优化操作系统的一个问题。
如何告诉Kubernetes通过主机名parsingnfs-mount的服务器?
这似乎是在github [1] [2]下追踪的已知问题。 作为解决方法,您可以“从GCE VM(这将包括GCPsearchpath,元数据DNSparsing器)将/etc/resolv.conf复制到chroot env(/ home / kubernetes / containerized_mounter / rootfs)目录”并使用NFS FQDN例如:server-name.svc.cluster.local作为主机名。
另外, 这里是 [3] github上的pull请求(PR)在集装箱安装器path中设置DNS服务器来parsing主机名。
[1] github.com/kubernetes/kubernetes/issues/48212
[2] github.com/kubernetes/kubernetes/pull/42376