现象:
1、在安装完k8s以后,加载ui面:
kubectl create -f kubernetes-dashboard.yaml
2、查看容器状态:
[root@k8s-master software]# kubectl get pods --namespace kube-system
NAME READY STATUS RESTARTS AGE
kubernetes-dashboard-3852341777-135gm 0/1 ContainerCreating 0 5m
3、检查报错信息:
[root@k8s-master software]# kubectl describe pod kubernetes-dashboard-3852341777-135gm --namespace kube-system
Name: kubernetes-dashboard-3852341777-135gm
Namespace: kube-system
Node: 10.1.108.78/10.1.108.78
Start Time: Tue, 27 Jun 2017 17:18:35 +0800
Labels: k8s-app=kubernetes-dashboard
pod-template-hash=3852341777
Annotations: kubernetes.io/created-by={"kind":"SerializedReference","apiVersion":"v1","reference":{"kind":"ReplicaSet","namespace":"kube-system","name":"kubernetes-dashboard-3852341777","uid":"985001e1-5b19-11e7-a...
Status: Pending
IP:
Controllers: ReplicaSet/kubernetes-dashboard-3852341777
Containers:
kubernetes-dashboard:
Container ID:
Image: registry.sinosafe.com.cn:5000/sinosafe/kubernetes/kubernetes-dashboard:1.5.1
Image ID:
Port: 9090/TCP
Args:
--apiserver-host=http://10.1.108.77:8080
State: Waiting
Reason: ContainerCreating
Ready: False
Restart Count: 0
Liveness: http-get http://:9090/ delay=30s timeout=30s period=10s #success=1 #failure=3
Environment: <none>
Mounts: <none>
Conditions:
Type Status
Initialized True
Ready False
PodScheduled True
Volumes: <none>
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node-role.kubernetes.io/master=:NoSchedule
Events:
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
5m 5m 1 default-scheduler Normal Scheduled Successfully assigned kubernetes-dashboard-3852341777-135gm to 10.1.108.78
5m 20s 6 kubelet, 10.1.108.78 Warning FailedSync Error syncing pod, skipping: failed to "CreatePodSandbox" for "kubernetes-dashboard-3852341777-135gm_kube-system(9858b797-5b19-11e7-a69f-842b2b5e0f11)" with CreatePodSandboxError: "CreatePodSandbox for pod \"kubernetes-dashboard-3852341777-135gm_kube-system(9858b797-5b19-11e7-a69f-842b2b5e0f11)\" failed: rpc error: code = 2 desc = unable to pull sandbox image \"gcr.io/google_containers/pause-amd64:3.0\": Error response from daemon: {\"message\":\"Get https://gcr.io/v1/_ping: dial tcp 74.125.23.82:443: i/o timeout\"}"
5m 7s 7 kubelet, 10.1.108.78 Warning MissingClusterDNS kubelet does not have ClusterDNS IP configured and cannot create Pod using "ClusterFirst" policy. Falling back to DNSDefault policy.
[root@k8s-master software]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.sinosafe.com.cn:5000/sinosafe/jenkins latest 681ef98a247f 5 weeks ago 704 MB
registry.sinosafe.com.cn:5000/sinosafe/centos 7.1.1 d9c3f227207e 3 months ago 605 MB
registry.sinosafe.com.cn:5000/sinosafe/kubernetes/kubernetes-dashboard 1.5.1 1180413103fd 5 months ago 104 MB
daocloud.io/gfkchinanetquest/kubernetes-dashboard-amd64 v1.5.1 1180413103fd 5 months ago 104 MB
daocloud.io/daocloud/google_containers_pause-amd64 3.0 99e59f495ffa 13 months ago 747 kB
gcr.io/google_containers/pause-amd64 3.0 99e59f495ffa 13 months ago 747 kB
[root@k8s-master software]# kubectl describe pod kubernetes-dashboard-3852341777-135gm --namespace kube-system
Name: kubernetes-dashboard-3852341777-135gm
Namespace: kube-system
Node: 10.1.108.78/10.1.108.78
Start Time: Tue, 27 Jun 2017 17:18:35 +0800
Labels: k8s-app=kubernetes-dashboard
pod-template-hash=3852341777
Annotations: kubernetes.io/created-by={"kind":"SerializedReference","apiVersion":"v1","reference":{"kind":"ReplicaSet","namespace":"kube-system","name":"kubernetes-dashboard-3852341777","uid":"985001e1-5b19-11e7-a...
Status: Pending
IP:
Controllers: ReplicaSet/kubernetes-dashboard-3852341777
Containers:
kubernetes-dashboard:
Container ID:
Image: registry.sinosafe.com.cn:5000/sinosafe/kubernetes/kubernetes-dashboard:1.5.1
Image ID:
Port: 9090/TCP
Args:
--apiserver-host=http://10.1.108.77:8080
State: Waiting
Reason: ContainerCreating
Ready: False
Restart Count: 0
Liveness: http-get http://:9090/ delay=30s timeout=30s period=10s #success=1 #failure=3
Environment: <none>
Mounts: <none>
Conditions:
Type Status
Initialized True
Ready False
PodScheduled True
Volumes: <none>
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node-role.kubernetes.io/master=:NoSchedule
Events:
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
10m 10m 1 default-scheduler Normal Scheduled Successfully assigned kubernetes-dashboard-3852341777-135gm to 10.1.108.78
9m 18s 11 kubelet, 10.1.108.78 Warning FailedSync Error syncing pod, skipping: failed to "CreatePodSandbox" for "kubernetes-dashboard-3852341777-135gm_kube-system(9858b797-5b19-11e7-a69f-842b2b5e0f11)" with CreatePodSandboxError: "CreatePodSandbox for pod \"kubernetes-dashboard-3852341777-135gm_kube-system(9858b797-5b19-11e7-a69f-842b2b5e0f11)\" failed: rpc error: code = 2 desc = unable to pull sandbox image \"gcr.io/google_containers/pause-amd64:3.0\": Error response from daemon: {\"message\":\"Get https://gcr.io/v1/_ping: dial tcp 74.125.23.82:443: i/o timeout\"}"
10m 7s 12 kubelet, 10.1.108.78 Warning MissingClusterDNS kubelet does not have ClusterDNS IP configured and cannot create Pod using "ClusterFirst" policy. Falling back to DNSDefault policy.
4、查看本地镜像(本地gcr.io/google_containers/pause-amd64已经有这个镜像了,镜像是从docker pull daocloud.io/daocloud/google_containers_pause-amd64:3.0下载的):
[root@k8s-master ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.sinosafe.com.cn:5000/sinosafe/jenkins latest 681ef98a247f 5 weeks ago 704 MB
registry.sinosafe.com.cn:5000/sinosafe/centos 7.1.1 d9c3f227207e 3 months ago 605 MB
daocloud.io/gfkchinanetquest/kubernetes-dashboard-amd64 v1.5.1 1180413103fd 5 months ago 104 MB
registry.sinosafe.com.cn:5000/sinosafe/kubernetes/kubernetes-dashboard 1.5.1 1180413103fd 5 months ago 104 MB
daocloud.io/daocloud/google_containers_pause-amd64 3.0 99e59f495ffa 13 months ago 747 kB
gcr.io/google_containers/pause-amd64 3.0 99e59f495ffa 13 months ago 747 kB
[root@k8s-master software]# cat kubernetes-dashboard.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: kubernetes-dashboard
labels:
k8s-app: kubernetes-dashboard
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
kind: ServiceAccount
name: kubernetes-dashboard
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kube-system
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
k8s-app: kubernetes-dashboard
template:
metadata:
labels:
k8s-app: kubernetes-dashboard
spec:
containers:
- name: kubernetes-dashboard
image: registry.sinosafe.com.cn:5000/sinosafe/kubernetes/kubernetes-dashboard:1.5.1
ports:
- containerPort: 9090
protocol: TCP
args:
# Uncomment the following line to manually specify Kubernetes API server Host
# If not specified, Dashboard will attempt to auto discover the API server and connect
# to it. Uncomment only if the default does not work.
- --apiserver-host=http://10.1.108.77:8080
livenessProbe:
httpGet:
path: /
port: 9090
initialDelaySeconds: 30
timeoutSeconds: 30
serviceAccountName: kubernetes-dashboard
# Comment the following tolerations if Dashboard must not be deployed on master
tolerations:
- key: node-role.kubernetes.io/master
effect: NoSchedule
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kube-system
spec:
ports:
初步怀疑是你的docker环境问题,你可以检查一下docker环境,比如网络代理设置。
收起