Como você monta um compartilhamento nfs externo no Kubernetes?
Estou tentando montar um compartilhamento nfs externo em um controlador de replicação. Quando crio o controlador de replicação, o pod está pendente. Obtendo os detalhes no pod, recebo os seguintes eventos:
Events:
FirstSeen LastSeen Count From SubobjectPath Reason Message
Thu, 05 Nov 2015 11:28:33 -0700 Thu, 05 Nov 2015 11:28:33 -0700 1 {scheduler } scheduled Successfully assigned web-worker-hthjq to jolt-server-5
Thu, 05 Nov 2015 11:28:43 -0700 Thu, 05 Nov 2015 11:28:43 -0700 1 {kubelet jolt-server-5} failedMount Unable to mount volumes for pod "web-worker-hthjq_default": exit status 32
Thu, 05 Nov 2015 11:28:43 -0700 Thu, 05 Nov 2015 11:28:43 -0700 1 {kubelet jolt-server-5} failedSync Error syncing pod, skipping: exit status 32
Minha configuração é um mestre e um nó em máquinas locais. Essas máquinas estão executando o CoreOS. O compartilhamento nfs existe em outra máquina na rede. Se eu shell na máquina host, posso montar com êxito o compartilhamento nfs, então acredito que a exportação está configurada corretamente. Olhando online, parece que os únicos exemplos de uso de compartilhamentos nfs são os definidos no Kubernetes (um compartilhamento de pod com outro). Não existe uma maneira de montar um compartilhamento externo diretamente do Kubernetes (não quero montá-lo na máquina host e depois montar a partir da máquina host no contêiner).
Aqui está o meu controlador de replicação:
apiVersion: v1
kind: ReplicationController
metadata:
labels:
name: web-worker
name: web-worker
spec:
replicas: 1
selector:
component: web-worker
template:
metadata:
labels:
app: task-queue
component: web-worker
spec:
containers:
- command:
- /sbin/my_init
image: quincy/php-apache2:latest
name: web-worker
ports:
- containerPort: 80
protocol: TCP
volumeMounts:
- name: code-base
mountPath: /var/www/html
- name: local-secrets
mountPath: /secrets
volumes:
- name: code-base
nfs:
server: thuey.jolt.local
path: "/Users/thuey/Sites/jolt/jolt-web"
- name: local-secrets
secret:
secretName: local-secret
ATUALIZAR
Depois de pensar mais sobre isso, percebi que o problema provavelmente é que ele não consegue encontrar o servidor (thuey.jolt.local). Provavelmente está apenas olhando para o DNS interno. Isso é preciso? Se sim, existe alguma maneira de contornar isso?
ATUALIZAR
Depois de tentar novamente, agora ele está trabalhando montando diretamente do pod no servidor nfs em rede.