Реестр контейнеров Google испытывает проблемы?

Я столкнулся с проблемой при использовании виртуальных машин, оптимизированных для работы с контейнерами. Я запускаю экземпляр с помощью следующей команды:

gcloud compute instances create "$instance_name" \
    --tags "http-server" \
    --image container-vm \
    --scopes storage-rw,logging-write \
    --metadata-from-file google-container-manifest="m2.yml" \
    --zone "$my_zone" \
    --machine-type "$my_machine_type"

где m2.yml является:

version: v1beta2
containers:
  - name: nginx
    image: nginx

Когда я ssh к экземпляру и смотрю в /var/log/docker.log Я вижу:

time="2015-06-17T07:42:59Z" level=error msg="Handler for GET /containers/{name:.*}/json returned error: no such id: kubelet" 
time="2015-06-17T07:42:59Z" level=error msg="HTTP Error: statusCode=404 no such id: kubelet" 
time="2015-06-17T07:42:59Z" level=info msg="GET /version" 
time="2015-06-17T07:42:59Z" level=info msg="+job version()" 
time="2015-06-17T07:42:59Z" level=info msg="-job version() = OK (0)" 
time="2015-06-17T07:42:59Z" level=info msg="GET /containers/docker-daemon/json" 
time="2015-06-17T07:42:59Z" level=info msg="+job container_inspect(docker-daemon)" 
no such id: docker-daemon
time="2015-06-17T07:42:59Z" level=info msg="-job container_inspect(docker-daemon) = ERR (1)" 
time="2015-06-17T07:42:59Z" level=error msg="Handler for GET /containers/{name:.*}/json returned error: no such id: docker-daemon" 
time="2015-06-17T07:42:59Z" level=error msg="HTTP Error: statusCode=404 no such id: docker-daemon" 

Там нет контейнеров, работающих на экземпляре и docker images -a говорит:

REPOSITORY                       TAG                 IMAGE ID            CREATED              VIRTUAL SIZE
gcr.io/google_containers/pause   0.8.0               2c40b0526b63        11 weeks ago         241.7 kB
<none>                           <none>              56ba5533a2db        11 weeks ago         241.7 kB
<none>                           <none>              511136ea3c5a        2.009460 years ago   0 B

Контейнерный двигатель испытывает некоторые проблемы, или я делаю что-то не так?

Update1

Я дал пример попробовать:

version: v1 kind: Pod spec: containers: - name: simple-echo image: gcr.io/google_containers/busybox command: ['nc', '-p', '8080', '-l', '-l', '-e', 'echo', 'hello world!'] imagePullPolicy: Always ports: - containerPort: 8080 hostPort: 8080 protocol: TCP restartPolicy: Always dnsPolicy: Default

и это все еще ошибка в журнале:

evgeny@instance:~$ cat /var/log/docker.log | grep error
time="2015-06-18T16:28:56Z" level=error msg="Handler for GET /containers/{name:.*}/json returned error: no such id: kubelet" 
time="2015-06-18T16:28:56Z" level=error msg="HTTP Error: statusCode=404 no such id: kubelet" 
time="2015-06-18T16:28:56Z" level=error msg="Handler for GET /containers/{name:.*}/json returned error: no such id: docker-daemon" 
time="2015-06-18T16:28:56Z" level=error msg="HTTP Error: statusCode=404 no such id: docker-daemon" 
time="2015-06-18T16:28:56Z" level=error msg="Handler for GET /images/{name:.*}/json returned error: No such image: gcr.io/google_containers/busybox" 
time="2015-06-18T16:28:56Z" level=error msg="HTTP Error: statusCode=404 No such image: gcr.io/google_containers/busybox" 
time="2015-06-18T16:28:56Z" level=error msg="Handler for GET /containers/{name:.*}/json returned error: no such id: docker" 
time="2015-06-18T16:28:56Z" level=error msg="HTTP Error: statusCode=404 no such id: docker" 
time="2015-06-18T16:28:56Z" level=error msg="Handler for GET /images/{name:.*}/json returned error: No such image: gcr.io/google_containers/busybox" 
time="2015-06-18T16:28:56Z" level=error msg="HTTP Error: statusCode=404 No such image: gcr.io/google_containers/busybox" 

Я собирался отправить отзыв через форму обратной связи, но отправить не удалось: relay__en.js?authuser=1:182 Uncaught TypeError: Cannot set property 'vmFeedbackData' of undefined, Такая история.

2 ответа

Решение

Последний образ vm контейнера не поддерживает API v1beta2 kubernetes. Вам нужно будет обновить манифест для использования v1beta3 или v1 (с соответствующими изменениями yaml).

Последняя версия документации контейнера vm показывает пример yaml с использованием API v1.

Я столкнулся с подобной проблемой, и решение оказалось, что я пытался использовать

securityContext:
  privileged: true

Kubernetes не соблюдает это свойство при загрузке образа докера в экземпляр GCE без использования кластера Google Container (т.е. с использованием google-container-manifest элемент метаданных на compute.v1.instance или compute.v1.instanceTemplate), поэтому он просто никогда не загружает изображение должным образом на экземпляр.

Удаление этого свойства решило мою проблему.