最近刚刚入手研究kubernetes,运行容器的时候,发现一直处于ContainerCreating状态,悲了个催,刚入手就遇到了点麻烦,下面来讲讲如何查找问题及解决的

运行容器命令:

kubectl -f create redis.yaml

kubectl get pod redis

NAME                 READY     STATUS              RESTARTS   AGE
redis-master-6jgsl   0/1       ContainerCreating   0          12s

一直处于ContainerCreating,没有处于running状态

查看相关日志

kubectl describe pod redis-6jgsl

Name:        redis-master-6jgsl
Namespace:    default
Node:        127.0.0.1/127.0.0.1
Start Time:    Wed, 20 Sep 2017 09:07:39 +0800
Labels:        name=redis-master
Status:        Pending
IP:        
Controllers:    ReplicationController/redis-master
Containers:
  master:
    Container ID:        
    Image:            kubeguide/redis-master
    Image ID:            
    Port:            6379/TCP
    State:            Waiting
      Reason:            ContainerCreating
    Ready:            False
    Restart Count:        0
    Volume Mounts:        <none>
    Environment Variables:    <none>
Conditions:
  Type        Status
  Initialized     True
  Ready     False
  PodScheduled     True
No volumes.
QoS Class:    BestEffort
Tolerations:    <none>
Events:
  FirstSeen    LastSeen    Count    From            SubObjectPath    Type        Reason        Message
  ---------    --------    -----    ----            -------------    --------    ------        -------
  1m        1m        1    {default-scheduler }            Normal        Scheduled    Successfully assigned redis-master-6jgsl to 127.0.0.1
  1m        47s        3    {kubelet 127.0.0.1}            Warning        FailedSync    Error syncing pod, skipping: failed to "StartContainer" for "POD" with ErrImagePull: "image pull failed for registry.access.redhat.com/rhel7/pod-infrastructure:latest, this may be because there are no credentials on this request.  details: (open /etc/docker/certs.d/registry.access.redhat.com/redhat-ca.crt: no such file or directory)"

  1m    10s    4    {kubelet 127.0.0.1}        Warning    FailedSync    Error syncing pod, skipping: failed to "StartContainer" for "POD" with ImagePullBackOff: "Back-off pulling image \"registry.access.redhat.com/rhel7/pod-infrastructure:latest\""


看到registry.access.redhat.com/rhel7/pod-infrastructure:latest感觉很奇怪,我设置的仓库是grc.io,为什么去拉取这个镜像,怀疑是不是什么没有安装好。尝试运行docker pull registry.access.redhat.com/rhel7/pod-infrastructure:latest,提示redhat-ca.crt: no such file or directory。ls查看改文件是个软连接,链接目标是/etc/rhsm,查看没有rhsm,尝试安装yum install *rhsm*,出现相关软件,感觉比较符合,所以安装查看产生了/etc/rhsm文件夹。

再次运行kubectl get pods

NAME                 READY     STATUS    RESTARTS   AGE
redis-master-qhd12   1/1       Running   0          13m



Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐