0

我在使用容器优化虚拟机时遇到了问题。我使用以下命令启动一个实例:

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。这样的故事。

4

2 回答 2

2

最新的容器 vm 映像不支持 v1beta2 kubernetes API。您需要更新清单以使用 v1beta3 或 v1(具有相应的 yaml 更改)。

最新版本的容器 vm 文档显示了一个使用 v1 API 的 yaml 示例。

于 2015-06-17T15:49:38.613 回答
0

我遇到了类似的问题,结果证明我正在尝试使用

securityContext:
  privileged: true

在不使用 Google Container 集群(即在 a或 a上使用google-container-manifest元数据项)将 docker 映像加载到 GCE 实例时,Kubernetes 不支持该属性,因此它永远不会将映像正确加载到实例上。compute.v1.instancecompute.v1.instanceTemplate

删除该属性解决了我的问题。

于 2016-07-08T00:13:50.027 回答