2014-09-25 4 views
1

У меня есть следующие ReplicationController JSON определены:Kubernetes стручок не являются обязательными тома контейнера

{ 
    "id": "PHPController", 
    "kind": "ReplicationController", 
    "apiVersion": "v1beta1", 
    "desiredState": { 
    "replicas": 2, 
    "replicaSelector": {"name": "php"}, 
    "podTemplate": { 
     "desiredState": { 
     "manifest": { 
      "version": "v1beta1", 
      "id": "PHPController", 
      "volumes": [{ "name": "wordpress", "path": "/mnt/nfs/wordpress_a", "hostDir": "/mnt/nfs/wordpress_a"}], 
      "containers": [{ 
      "name": "php", 
      "image": "internaluser/php53", 
      "ports": [{"containerPort": 80, "hostPort": 9021}], 
      "volumeMounts": [{"name": "wordpress", "mountPath": "/mnt/nfs/wordpress_a"}] 
      }] 
     } 
     }, 
     "labels": {"name": "php"} 
     }}, 
    "labels": {"name": "php"} 

} 

Контейнер начинает правильно при запуске с «докер запуска -t -i -p 0.0.0.0:9021:80 -v/mnt/nfs/wordpress_a:/mnt/nfs/wordpress_a: rw internaluser/php53 ".

/mnt/nfs/wordpress_a - это доля NFS, установленная на всех миньонах. Каждый миньон имеет полный доступ к RW, и я подтвердил, что эта доля присутствует.

После создания стручок контейнеров с контроллером репликации, я могу видеть, что объем не был на самом деле связаны, и/или неправильно установлен:

"Volumes": { 
     "/mnt/nfs/wordpress_a": "/var/lib/docker/vfs/dir/8b5dc8477958f5c1b894e68ab9412b41e81a34ef16dac81f0f9d4884352a90b7" 
    }, 
    "VolumesRW": { 
     "/mnt/nfs/wordpress_a": true 
    } 

    "HostConfig": { 
     "Binds": null, 
     "ContainerIDFile": "", 
     "LxcConf": null, 
     "Privileged": false, 
     "PortBindings": { 
      "80/tcp": [ 
       { 
        "HostIp": "", 
        "HostPort": "9021" 
       } 
      ] 
     }, 

Я нахожу странным, что контейнер считает/шоссе/NFS/wordpress_a отображается на «/ var/lib/docker/vfs/dir/8b5dc8477958f5c1b894e68ab9412b41e81a34ef16dac81f0f9d4884352a90b7».

Из журнала kubelet:

Желаемая [10.101.4.15]: [{Пространство имен: etcd Имя: c823da9e-4437-11e4-a3b1-0050568421eb манифеста: {Версия: v1beta1 ID: c823da9e-4437-11e4- a3b1-0050568421eb UUID: c823da9e-4437-11e4-a3b1-0050568421eb Объемы: [{Имя: wordpress Source:}] Контейнеры: [{Имя: php Изображение: internaluser/php53 Команда: [] Рабочий Диск: Порты: [{Имя: HostPort : 9021 ContainerPort: 80 Protocol: TCP HostIP:}] Env: [{Name: SERVICE_HOST Value: 10.1.1.1}] Память: 0 CPU: 0 VolumeMounts: [{Имя: wordpress ReadOnly: false MountPath:/mnt/nfs/wordpress_a }] LivenessProbe: Lifecycle: Privileged: false}] RestartPolicy: {Always: 0xa99a20 OnFailure: Never:}}}]

Кто-нибудь есть опыт такого рода? Я сам сводил с ума эту проблему. Благодаря!

ответ

2

Решено. Синтаксис томов был неправильным. https://github.com/GoogleCloudPlatform/kubernetes/issues/1446

+0

Я рад слышать, что вы решили свою проблему. Можете ли вы [принять свой собственный ответ] (http://blog.stackoverflow.com/2009/01/accept-your-own-answers/), чтобы этот вопрос был отмечен как закрытый? Благодарю. –