美文网首页
Mac 安装 minikube

Mac 安装 minikube

作者: Jeff | 来源:发表于2017-11-18 14:02 被阅读923次

先决条件

  • 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

相关文章

网友评论

      本文标题:Mac 安装 minikube

      本文链接:https://www.haomeiwen.com/subject/jbpevxtx.html