先决条件
- virtualbox
- brew
- brew cask
安装
- kubectl: brew instlal kubectl
- kube: brew cask install minikube
镜像问题
针对 minikube v0.23.0
运行启动 minikube 和 登入 虚拟机后
minikube start
minikube ssh
手动拉取镜像:
阿里的镜像查询地址:https://dev.aliyun.com/search.html
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-addon-manager-amd64:v6.4-beta.2
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-addon-manager-amd64:v6.4-beta.2 gcr.io/google-containers/kube-addon-manager:v6.4-beta.2
docker pull registry.cn-hangzhou.aliyuncs.com/google-containers/kubernetes-dashboard-amd64:v1.7.0
docker tag registry.cn-hangzhou.aliyuncs.com/google-containers/kubernetes-dashboard-amd64:v1.7.0 gcr.io/google-containers/kubernetes-dashboard-amd64:v1.7.0
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-kube-dns-amd64:1.14.5
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-kube-dns-amd64:1.14.5 gcr.io/google-containers/k8s-dns-kube-dns-amd64:1.14.5
docker pull registry.cn-hangzhou.aliyuncs.com/google-containers/k8s-dns-dnsmasq-nanny-amd64:1.14.5
docker tag registry.cn-hangzhou.aliyuncs.com/google-containers/k8s-dns-dnsmasq-nanny-amd64:1.14.5 gcr.io/google-containers/k8s-dns-dnsmasq-nanny-amd64:1.14.5
docker pull registry.cn-hangzhou.aliyuncs.com/google-containers/k8s-dns-sidecar-amd64:1.14.5
docker tag registry.cn-hangzhou.aliyuncs.com/google-containers/k8s-dns-sidecar-amd64:1.14.5 gcr.io/google-containers/k8s-dns-sidecar-amd64:1.14.5
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kubedns-amd64:1.9
docker tag registry.cn-hangzhou.aliyuncs.com/google-containers/kubedns-amd64:1.9 gcr.io/google-containers/kubedns-amd64:1.9
docker pull registry.cn-hangzhou.aliyuncs.com/google-containers/kube-dnsmasq-amd64:1.4
docker tag registry.cn-hangzhou.aliyuncs.com/google-containers/kube-dnsmasq-amd64:1.4 gcr.io/google-containers/kube-dnsmasq-amd64:1.4
docker pull registry.cn-hangzhou.aliyuncs.com/google-containers/exechealthz-amd64:1.2
docker tag registry.cn-hangzhou.aliyuncs.com/google-containers/exechealthz-amd64:1.2 gcr.io/google-containers/exechealthz-amd64:1.2
docker pull registry.cn-hangzhou.aliyuncs.com/google-containers/echoserver:1.4
docker tag registry.cn-hangzhou.aliyuncs.com/google-containers/echoserver:1.4 gcr.io/google-containers/echoserver:1.4
docker pull registry.cn-hangzhou.aliyuncs.com/google-containers/pause-amd64:3.0
docker tag registry.cn-hangzhou.aliyuncs.com/google-containers/pause-amd64:3.0 gcr.io/google-containers/pause-amd64:3.0
镜像拉取完毕,确认 pods 状态都是运行后,启动 dashboard
minikube dashboard
如要停止,运行
minikube stop
诊断
查看 pods 定位问题
- 状态:kubectl get pods --all-namespaces
- 详细状态:kubectl describe pods --all-namespaces
以下是一个最终状态:
~ kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system kube-addon-manager-minikube 1/1 Running 2 2h
kube-system kube-dns-6fc954457d-99lcw 3/3 Running 6 2h
kube-system kubernetes-dashboard-clmqr 1/1 Running 0 2h
➜ ~ kubectl describe pods --all-namespaces
Name: kube-addon-manager-minikube
Namespace: kube-system
Node: minikube/192.168.99.100
Start Time: Sat, 18 Nov 2017 11:44:06 +0800
Labels: component=kube-addon-manager
kubernetes.io/minikube-addons=addon-manager
version=v6.4
Status: Running
IP: 192.168.99.100
Controllers: <none>
Containers:
kube-addon-manager:
Container ID: docker://2291eb7cdae1c763dcddec9f521c0c03377b2ba2a7d4db06c1672e33f289f33f
Image: gcr.io/google-containers/kube-addon-manager:v6.4-beta.2
Image ID: docker-pullable://registry.cn-hangzhou.aliyuncs.com/google_containers/kube-addon-manager-amd64@sha256:120a824d024cb54050b7ea38c9b45995bbafb6bbda58bdb00e87ffc45370bce4
Port:
Requests:
cpu: 5m
memory: 50Mi
State: Running
Started: Sat, 18 Nov 2017 13:38:04 +0800
Last State: Terminated
Reason: Error
Exit Code: 137
Started: Sat, 18 Nov 2017 12:20:32 +0800
Finished: Sat, 18 Nov 2017 13:25:04 +0800
Ready: True
Restart Count: 2
Volume Mounts:
/etc/kubernetes/ from addons (ro)
/var/lib/localkube/ from kubeconfig (ro)
Environment Variables:
KUBECONFIG: /var/lib/localkube/kubeconfig
Conditions:
Type Status
Initialized True
Ready True
PodScheduled True
Volumes:
addons:
Type: HostPath (bare host directory volume)
Path: /etc/kubernetes/
kubeconfig:
Type: HostPath (bare host directory volume)
Path: /var/lib/localkube/
QoS Class: Burstable
Tolerations: <none>
No events.
Name: kube-dns-6fc954457d-99lcw
Namespace: kube-system
Node: minikube/192.168.99.100
Start Time: Sat, 18 Nov 2017 11:44:10 +0800
Labels: k8s-app=kube-dns
pod-template-hash=2975100138
Status: Running
IP: 172.17.0.2
Controllers: ReplicaSet/kube-dns-6fc954457d
Containers:
kubedns:
Container ID: docker://94d6bbb3390c062b61b2074e036bbe6aac04e2093f4835398b11c95d744c350b
Image: gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.5
Image ID: docker-pullable://registry.cn-hangzhou.aliyuncs.com/google-containers/k8s-dns-kube-dns-amd64@sha256:1a3fc069de481ae690188f6f1ba4664b5cc7760af37120f70c86505c79eea61d
Ports: 10053/UDP, 10053/TCP, 10055/TCP
Args:
--domain=cluster.local.
--dns-port=10053
--config-map=kube-dns
--v=2
Limits:
memory: 170Mi
Requests:
cpu: 100m
memory: 70Mi
State: Running
Started: Sat, 18 Nov 2017 13:52:05 +0800
Last State: Terminated
Reason: Error
Exit Code: 137
Started: Sat, 18 Nov 2017 13:50:05 +0800
Finished: Sat, 18 Nov 2017 13:52:05 +0800
Ready: True
Restart Count: 5
Liveness: http-get http://:10054/healthcheck/kubedns delay=60s timeout=5s period=10s #success=1 #failure=5
Readiness: http-get http://:8081/readiness delay=3s timeout=5s period=10s #success=1 #failure=3
Volume Mounts:
/kube-dns-config from kube-dns-config (rw)
/var/run/secrets/kubernetes.io/serviceaccount from default-token-xlhnn (ro)
Environment Variables:
PROMETHEUS_PORT: 10055
dnsmasq:
Container ID: docker://2c1e9259a82aa360a8d572413bece54c849bc27d96527e207aea30eaf4502b3f
Image: gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.5
Image ID: docker-pullable://registry.cn-hangzhou.aliyuncs.com/google-containers/k8s-dns-dnsmasq-nanny-amd64@sha256:46b933bb70270c8a02fa6b6f87d440f6f1fce1a5a2a719e164f83f7b109f7544
Ports: 53/UDP, 53/TCP
Args:
-v=2
-logtostderr
-configDir=/etc/k8s/dns/dnsmasq-nanny
-restartDnsmasq=true
--
-k
--cache-size=1000
--log-facility=-
--server=/cluster.local/127.0.0.1#10053
--server=/in-addr.arpa/127.0.0.1#10053
--server=/ip6.arpa/127.0.0.1#10053
Requests:
cpu: 150m
memory: 20Mi
State: Running
Started: Sat, 18 Nov 2017 13:51:16 +0800
Last State: Terminated
Reason: Error
Exit Code: 137
Started: Sat, 18 Nov 2017 13:49:05 +0800
Finished: Sat, 18 Nov 2017 13:51:15 +0800
Ready: True
Restart Count: 1
Liveness: http-get http://:10054/healthcheck/dnsmasq delay=60s timeout=5s period=10s #success=1 #failure=5
Volume Mounts:
/etc/k8s/dns/dnsmasq-nanny from kube-dns-config (rw)
/var/run/secrets/kubernetes.io/serviceaccount from default-token-xlhnn (ro)
Environment Variables: <none>
sidecar:
Container ID: docker://b7b6da408a8e8a70afc500ccbca90f0d91ffa682b17add4e1d9fb153ca42aa27
Image: gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.5
Image ID: docker-pullable://registry.cn-hangzhou.aliyuncs.com/google-containers/k8s-dns-sidecar-amd64@sha256:9aab42bf6a2a068b797fe7d91a5d8d915b10dbbc3d6f2b10492848debfba6044
Port: 10054/TCP
Args:
--v=2
--logtostderr
--probe=kubedns,127.0.0.1:10053,kubernetes.default.svc.cluster.local.,5,A
--probe=dnsmasq,127.0.0.1:53,kubernetes.default.svc.cluster.local.,5,A
Requests:
cpu: 10m
memory: 20Mi
State: Running
Started: Sat, 18 Nov 2017 13:52:06 +0800
Ready: True
Restart Count: 0
Liveness: http-get http://:10054/metrics delay=60s timeout=5s period=10s #success=1 #failure=5
Volume Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-xlhnn (ro)
Environment Variables: <none>
Conditions:
Type Status
Initialized True
Ready True
PodScheduled True
Volumes:
kube-dns-config:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: kube-dns
default-token-xlhnn:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-xlhnn
QoS Class: Burstable
Tolerations: <none>
Events:
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
2h 39m 314 {kubelet minikube} spec.containers{kubedns} Normal BackOff Back-off pulling image "gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.5"
2h 34m 354 {kubelet minikube} Warning FailedSync Error syncing pod
2h 28m 23 {kubelet minikube} spec.containers{dnsmasq} Warning Failed Failed to pull image "gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.5": rpc error: code = Unknown desc = Error response from daemon: Get https://gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
15m 15m 1 {kubelet minikube} Normal SuccessfulMountVolume MountVolume.SetUp succeeded for volume "kube-dns-config"
15m 15m 1 {kubelet minikube} Normal SuccessfulMountVolume MountVolume.SetUp succeeded for volume "default-token-xlhnn"
14m 12m 3 {kubelet minikube} spec.containers{dnsmasq} Normal Pulling pulling image "gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.5"
14m 12m 3 {kubelet minikube} spec.containers{dnsmasq} Warning Failed Failed to pull image "gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.5": rpc error: code = Unknown desc = Error response from daemon: Get https://gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
14m 12m 3 {kubelet minikube} spec.containers{sidecar} Normal Pulling pulling image "gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.5"
13m 11m 3 {kubelet minikube} spec.containers{sidecar} Warning Failed Failed to pull image "gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.5": rpc error: code = Unknown desc = Error response from daemon: Get https://gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
13m 11m 3 {kubelet minikube} Warning FailedSync Error syncing pod
15m 11m 4 {kubelet minikube} spec.containers{kubedns} Normal Pulling pulling image "gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.5"
14m 11m 4 {kubelet minikube} spec.containers{kubedns} Warning Failed Failed to pull image "gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.5": rpc error: code = Unknown desc = Error response from daemon: Get https://gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
10m 10m 3 {kubelet minikube} spec.containers{kubedns} Warning Unhealthy Liveness probe failed: Get http://172.17.0.2:10054/healthcheck/kubedns: dial tcp 172.17.0.2:10054: getsockopt: connection refused
9m 5m 3 {kubelet minikube} spec.containers{kubedns} Normal Killing Killing container with id docker://kubedns:Container failed liveness probe.. Container will be killed and recreated.
Name: kubernetes-dashboard-clmqr
Namespace: kube-system
Node: minikube/192.168.99.100
Start Time: Sat, 18 Nov 2017 11:44:09 +0800
Labels: addonmanager.kubernetes.io/mode=Reconcile
app=kubernetes-dashboard
version=v1.7.0
Status: Running
IP: 172.17.0.3
Controllers: ReplicationController/kubernetes-dashboard
Containers:
kubernetes-dashboard:
Container ID: docker://f105f504e3fa4363044279db6729d21f6aced68b7af60b0405350287c51fe231
Image: gcr.io/google_containers/kubernetes-dashboard-amd64:v1.7.0
Image ID: docker-pullable://registry.cn-hangzhou.aliyuncs.com/google-containers/kubernetes-dashboard-amd64@sha256:ff3e33cc0e3daec8f780c524db10eb21abf17474c19c5b8dd69dce6d497ccac1
Port: 9090/TCP
State: Running
Started: Sat, 18 Nov 2017 13:45:03 +0800
Ready: True
Restart Count: 0
Liveness: http-get http://:9090/ delay=30s timeout=30s period=10s #success=1 #failure=3
Volume Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-xlhnn (ro)
Environment Variables: <none>
Conditions:
Type Status
Initialized True
Ready True
PodScheduled True
Volumes:
default-token-xlhnn:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-xlhnn
QoS Class: BestEffort
Tolerations: <none>
Events:
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
2h 53m 303 {kubelet minikube} spec.containers{kubernetes-dashboard} Normal BackOff Back-off pulling image "gcr.io/google_containers/kubernetes-dashboard-amd64:v1.7.0"
2h 28m 428 {kubelet minikube} Warning FailedSync Error syncing pod
15m 15m 1 {kubelet minikube} Normal SuccessfulMountVolume MountVolume.SetUp succeeded for volume "default-token-xlhnn"
15m 12m 4 {kubelet minikube} spec.containers{kubernetes-dashboard} Normal Pulling pulling image "gcr.io/google_containers/kubernetes-dashboard-amd64:v1.7.0"
14m 12m 4 {kubelet minikube} spec.containers{kubernetes-dashboard} Warning Failed Failed to pull image "gcr.io/google_containers/kubernetes-dashboard-amd64:v1.7.0": rpc error: code = Unknown desc = Error response from daemon: Get https://gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
14m 11m 6 {kubelet minikube} spec.containers{kubernetes-dashboard} Normal BackOff Back-off pulling image "gcr.io/google_containers/kubernetes-dashboard-amd64:v1.7.0"
14m 10m 17 {kubelet minikube} Warning FailedSync Error syncing pod
更新 minikube v0.25.2
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
k8s.gcr.io/kubernetes-dashboard-amd64 v1.8.1 e94d2f21bc0c 3 months ago 121MB
registry.cn-hangzhou.aliyuncs.com/zhangyouliang/kubernetes-dashboard-amd64 v1.8.1 e94d2f21bc0c 3 months ago 121MB
gcr.io/google-containers/kube-addon-manager v6.5 d166ffa9201a 4 months ago 79.5MB
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-addon-manager-amd64 v6.5 d166ffa9201a 4 months ago 79.5MB
gcr.io/k8s-minikube/storage-provisioner v1.8.1 4689081edb10 5 months ago 80.8MB
registry.cn-shanghai.aliyuncs.com/google-gcr/storage-provisioner v1.8.1 4689081edb10 5 months ago 80.8MB
k8s.gcr.io/k8s-dns-sidecar-amd64 1.14.5 fed89e8b4248 6 months ago 41.8MB
registry.cn-hangzhou.aliyuncs.com/google-containers/k8s-dns-sidecar-amd64 1.14.5 fed89e8b4248 6 months ago 41.8MB
k8s.gcr.io/k8s-dns-kube-dns-amd64 1.14.5 512cd7425a73 6 months ago 49.4MB
registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-kube-dns-amd64 1.14.5 512cd7425a73 6 months ago 49.4MB
k8s.gcr.io/k8s-dns-dnsmasq-nanny-amd64 1.14.5 459944ce8cc4 6 months ago 41.4MB
registry.cn-shenzhen.aliyuncs.com/rancher_cn/k8s-dns-dnsmasq-nanny-amd64 1.14.5 459944ce8cc4 6 months ago 41.4MB
gcr.io/google_containers/exechealthz-amd64 1.2 93a43bfb39bf 18 months ago 8.37MB
registry.cn-hangzhou.aliyuncs.com/google-containers/exechealthz-amd64 1.2 93a43bfb39bf 18 months ago 8.37MB
gcr.io/google_containers/echoserver 1.4 a90209bb39e3 22 months ago 140MB
registry.cn-hangzhou.aliyuncs.com/google-containers/echoserver 1.4 a90209bb39e3 22 months ago 140MB
gcr.io/google_containers/pause-amd64 3.0 99e59f495ffa 23 months ago 747kB
registry.cn-hangzhou.aliyuncs.com/google-containers/pause-amd64 3.0 99e59f495ffa 23 months ago 747kB
网友评论