定位“kubernetes pod卡在ContainerCreating状态”问题的方法
来源:互联网 发布:长高知乎 编辑:程序博客网 时间:2024/05/18 22:40
经过千辛万苦终于在本地搭建k8s环境后,昨天在调试的时候有出现了pod卡在ContainerCreating状态的问题。
这个问题的原因有几种,我遇到的问题是拉去image失败,如“image pull failed for gcr.io/google_containers/pause:2.0”。原来k8s默认从gcr.io/google_containers拉去镜像,国内网络无法访问。原来忘了连接VPN了…
问题是比较低级,其实主要是想跟大家分享下定位的方法。主要是通过“kubectl describe pod PodName”指令查看pod发生的事件,从事件列表中可以查找到错误信息。
vagrant@vagrant-ubuntu-trusty-64:~/work/k8s-foo$ kubectl run foo --image=hello-worlddeployment "foo" createdvagrant@vagrant-ubuntu-trusty-64:~/work/k8s-foo$ kubectl get podsNAME READY STATUS RESTARTS AGEfoo-928603113-igh2x 0/1 ContainerCreating 0 4mvagrant@vagrant-ubuntu-trusty-64:~/work/k8s-foo$ kubectl describe pod fooName: foo-928603113-igh2xNamespace: defaultNode: 127.0.0.1/127.0.0.1Start Time: Mon, 11 Apr 2016 15:11:49 +0000Labels: pod-template-hash=928603113,run=fooStatus: PendingIP: Controllers: ReplicaSet/foo-928603113Containers: foo: Container ID: Image: hello-world Image ID: Port: QoS Tier: memory: BestEffort cpu: BestEffort State: Waiting Reason: ContainerCreating Ready: False Restart Count: 0 Environment Variables:Conditions: Type Status Ready False Volumes: default-token-fbasq: Type: Secret (a volume populated by a Secret) SecretName: default-token-fbasqEvents: FirstSeen LastSeen Count From SubobjectPath Type Reason Message --------- -------- ----- ---- ------------- -------- ------ ------- 7m 7m 1 {default-scheduler } Normal Scheduled Successfully assigned foo-928603113-igh2x to 127.0.0.1 4m 4m 1 {kubelet 127.0.0.1} 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: (API error (500): unable to ping registry endpoint https://gcr.io/v0/\nv2 ping attempt failed with error: Get https://gcr.io/v2/: dial tcp 74.125.203.82:443: i/o timeout\n v1 ping attempt failed with error: Get https://gcr.io/v1/_ping: dial tcp 74.125.203.82:443: i/o timeout\n)"
晚间尝试启动kube-dns时也遇到了类似的问题。查看kube-dns Service时一切正常:
vagrant@vagrant-ubuntu-trusty-64:~/work/k8s-foo$ kubectl get services kube-dns --namespace=kube-systemNAME CLUSTER-IP EXTERNAL-IP PORT(S) AGEkube-dns 10.0.0.10 <none> 53/UDP,53/TCP 56m
但启动一个Service之后尝试使用Service名称解析dns却失败了。执行“kubectl get pods –namespace=kube-system”查看发现kube-dns相关pod启动失败了。
再通过“kubectl describe”查看相关pod的事件时发现原来kube-dns启动时也需要下载新镜像。果断开启VPN,再重启集群,over。
1 0
- 定位“kubernetes pod卡在ContainerCreating状态”问题的方法
- kubernetes创建yaml,pod服务一直处于 ContainerCreating状态的原因查找与解决
- kubernetes创建yaml,pod服务一直处于 ContainerCreating状态的原因查找与解决
- 使用kubernetes创建容器一直处于ContainerCreating状态的原因查找与解决
- kubernetes之pod状态分析
- Kubernetes的Pod网络设置
- kubernetes--pod的生命周期管理
- Kubernetes 多container组成的Pod
- kubernetes Pod 调度到指定的 Node
- 在Kubernetes Pod中使用Service Account访问API Server
- Kubernetes对象之Pod详解(附安装部署方法)
- 定位问题的方法
- Kubernetes单Pod操作
- Kubernetes组件之Pod
- kubernetes之Pod详解
- Kubernetes之Pod调度
- Kubernetes之Pod详解
- Kubernetes之Pod调度
- JAVA开发 电信支付系统短信模块精准发送短信
- iOS 统一编码风格的四种有效办法
- eclipse安装了tomcat7.0,启动后在window-> preferences选项中没有tomcat项
- svn删除文件引起的“...”missing from working copy
- ANDROID : java.lang.NoSuchMethodError: 在 org.apache.commons.codec.binary.Base64
- 定位“kubernetes pod卡在ContainerCreating状态”问题的方法
- 腾讯实习基础研究面试(包含一个编程题)
- 独具慧眼:从物流的角度为企业“降本增效”
- 7 | Objective-C动态特性
- java有没有 有序的map,而且可以 修改key
- Android、iPhone和Java三个平台一致的加密方法
- 在linux命令行下载百度网盘中的文件
- 锻炼自己(知识方面)
- 关于表单提交并且实现前端跳转