Возникают ли проблемы с реестром контейнеров 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

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

Обновление1

Я попробовал :

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. Такая история.


person Evgeny Timoshenko    schedule 17.06.2015    source источник


Ответы (2)


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

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

person Robert Bailey    schedule 17.06.2015
comment
Если это решило вашу проблему, вы можете принять ответ? Спасибо. - person Robert Bailey; 19.06.2015

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

securityContext:
  privileged: true

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

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

person Samer    schedule 08.07.2016