Mac 安装 minikube

先决条件

  • 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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,265评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,274评论 1 288
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,087评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,479评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,782评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,218评论 1 207
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,594评论 2 309
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,316评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 33,955评论 1 237
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,274评论 2 240
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,803评论 1 255
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,177评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,732评论 3 229
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,953评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,687评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,263评论 2 267
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,189评论 2 258

推荐阅读更多精彩内容