docker - 使用kubernetes建立容器一直處於ContainerCreating狀態
習慣沉默
習慣沉默 2017-04-27 09:03:06
0
3
1787

運行容器指令:

[root@master-149 ~]# kubectl run my-alpine --image=alpine --replicas=2 ping www.baidu.com

查看pods狀態

[root@master-149 ~]# kubectl get pods
NAME                         READY     STATUS              RESTARTS   AGE
my-alpine-2150523991-knzcx   0/1       ContainerCreating   0          6m
my-alpine-2150523991-lmvv5   0/1       ContainerCreating   0          6m
習慣沉默
習慣沉默

全部回覆(3)
伊谢尔伦

使用kubectl describe pod my-alpine-2150523991-knzcx查看pod在創建的過程中的事件,或許有驚喜

小葫芦

根據1樓的回覆找到了解決方法:

執行以下命令:

[root@master-149 ~]# kubectl describe pod my-alpine
Name:        my-alpine-2150523991-knzcx
Namespace:    default
Node:        node-150/192.168.10.150
Start Time:    Sat, 19 Nov 2016 18:20:52 +0800
Labels:        pod-template-hash=2150523991,run=my-alpine
Status:        Pending
IP:        
Controllers:    ReplicaSet/my-alpine-2150523991
Containers:
  my-alpine:
    Container ID:    
    Image:        alpine
    Image ID:        
    Port:        
    Args:
      ping
      www.baidu.com
    QoS Tier:
      cpu:        BestEffort
      memory:        BestEffort
    State:        Waiting
      Reason:        ContainerCreating
    Ready:        False
    Restart Count:    0
    Environment Variables:
Conditions:
  Type        Status
  Ready     False 
No volumes.
Events:
  FirstSeen    LastSeen    Count    From            SubobjectPath    Type        Reason        Message
  ---------    --------    -----    ----            -------------    --------    ------        -------
  7m        7m        1    {default-scheduler }            Normal        Scheduled    Successfully assigned my-alpine-2150523991-knzcx to node-150
  6m        6m        1    {kubelet node-150}            Warning        FailedSync    Error syncing pod, skipping: failed to "StartContainer" for "POD" with ErrImagePull: "image pull failed for gcr.io/google_containers/pause:2.0, this may be because there are no credentials on this request.  details: (unable to ping registry endpoint https://gcr.io/v0/\nv2 ping attempt failed with error: Get https://gcr.io/v2/: dial tcp 64.233.189.82:443: getsockopt: connection refused\n v1 ping attempt failed with error: Get https://gcr.io/v1/_ping: dial tcp 64.233.189.82:443: getsockopt: connection refused)"

  4m    47s    3    {kubelet node-150}        Warning    FailedSync    Error syncing pod, skipping: failed to "StartContainer" for "POD" with ErrImagePull: "image pull failed for gcr.io/google_containers/pause:2.0, this may be because there are no credentials on this request.  details: (unable to ping registry endpoint https://gcr.io/v0/\nv2 ping attempt failed with error: Get https://gcr.io/v2/: dial tcp 74.125.204.82:443: getsockopt: connection refused\n v1 ping attempt failed with error: Get https://gcr.io/v1/_ping: dial tcp 74.125.204.82:443: getsockopt: connection refused)"

  4m    8s    6    {kubelet node-150}        Warning    FailedSync    Error syncing pod, skipping: failed to "StartContainer" for "POD" with ImagePullBackOff: "Back-off pulling image \"gcr.io/google_containers/pause:2.0\""


Name:        my-alpine-2150523991-lmvv5
Namespace:    default
Node:        node-150/192.168.10.150
Start Time:    Sat, 19 Nov 2016 18:20:52 +0800
Labels:        pod-template-hash=2150523991,run=my-alpine
Status:        Pending
IP:        
Controllers:    ReplicaSet/my-alpine-2150523991
Containers:
  my-alpine:
    Container ID:    
    Image:        alpine
    Image ID:        
    Port:        
    Args:
      ping
      www.baidu.com
    QoS Tier:
      cpu:        BestEffort
      memory:        BestEffort
    State:        Waiting
      Reason:        ContainerCreating
    Ready:        False
    Restart Count:    0
    Environment Variables:
Conditions:
  Type        Status
  Ready     False 
No volumes.
Events:
  FirstSeen    LastSeen    Count    From            SubobjectPath    Type        Reason        Message
  ---------    --------    -----    ----            -------------    --------    ------        -------
  7m        7m        1    {default-scheduler }            Normal        Scheduled    Successfully assigned my-alpine-2150523991-lmvv5 to node-150
  5m        1m        3    {kubelet node-150}            Warning        FailedSync    Error syncing pod, skipping: failed to "StartContainer" for "POD" with ErrImagePull: "image pull failed for gcr.io/google_containers/pause:2.0, this may be because there are no credentials on this request.  details: (unable to ping registry endpoint https://gcr.io/v0/\nv2 ping attempt failed with error: Get https://gcr.io/v2/: dial tcp 74.125.204.82:443: getsockopt: connection refused\n v1 ping attempt failed with error: Get https://gcr.io/v1/_ping: dial tcp 74.125.204.82:443: getsockopt: connection refused)"

  3m    1m    4    {kubelet node-150}        Warning    FailedSync    Error syncing pod, skipping: failed to "StartContainer" for "POD" with ImagePullBackOff: "Back-off pulling image \"gcr.io/google_containers/pause:2.0\""

其中:

Error syncing pod, skipping: failed to "StartContainer" for "POD" with ErrImagePull: "image pull failed for gcr.io/google_containers/pause:2.0, this may be because there are no credentials on this request.  details: (unable to ping registry endpoint https://gcr.io/v0/\nv2 ping attempt failed with error: Get https://gcr.io/v2/: dial tcp 74.125.204.82:443: getsockopt: connection refused\n v1 ping attempt failed with error: Get https://gcr.io/v1/_ping: dial tcp 74.125.204.82:443: getsockopt: connection refused)

不難看出,無法訪問到gcr.io
有以下解決方法:

  1. 翻牆

  2. 修改hosts檔案

  3. 從其他來源下載容器“pause:2.0”,然後打tag為“gcr.io/google_containers/pause:2.0”

阿神

gcr.io被墙了,可以给kubelet加上一个参数--pod-infra-container-image來指定一個國內的鏡像。

我們搬了一個image到registry.aliyuncs.com/archon/pause-amd64:3.0,可以用它。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板