docker3.0版本安装k8s mac_在MAC上安装K8S (kubernets) for Docker Desktop

编排 K8S

容器环境 : Docker Desktop for Mac

Hypervisor : 原生的HyperKit

请注意: 这里我们不使用Minikube,因此也不需要安装virtualbox作为hypervisor.

安装

  1. 下载Docker for Mac App
  2. 安装完毕后勾选Enable Kubernetes 及使用k8s作为默认的编排器

1da38cfa5edb205cdaa260254b4e5092.png
  1. 这个步骤需要一些时间。如果是在国内安装,会遇到些问题。在安装过程中建议打开CONSOLE监控安装过程。我自己的经历是安装kubernets大概需要半小时以上。
  2. 在这个过程中,你会看到hyperkit这个进程在下载东西。在console 中你会看到各种消息,比如system pod dns is not running 等等,但没管它,继续等待。最后你会见到

7c7b40c4d8e01be4d90441c95de3360c.png

4f0f88bed74a2c2e395ed0f5a01545e2.png

如果一切顺利,半小时或更久的时间后k8s下载并安装完毕, 检查k8s的版本。

7e7e09ee5a4f93d89f4a701e1667dac0.png

9866001503de0d2b07afbba32b6b9de1.png

安装完毕后,你应该看到kube-system这个namespace里应该没有不在ready状态的pod.

a0454f34941ffe25997303a5994b1c97.png

接下来,我们需要安装第一个应用,k8s的管理界面,否则我们只有命令行可以用。

k8s的管理界面是一个 dashboard的应用,我们需要部署这个。

kubernetes/dashboard​github.com
22f4eb9dc44a0a489310a9b729583119.png

a40181025a91e023833156c87ae0b5f6.png

需要等一会,部署完毕后,你会看到kubernets-dashbaord的available = 1 及ready 1/1.

b9d76ccfe112899c939a0037df85bc18.png

然后我们通过k8s的proxy来访问dashbaord

5a1db47c5a55bfb89ef5bc5b3776b31a.png

你可能会遇到需要token才能访问这个 dashboard,让我们来拿的一个token.

kubectl -n kube-system describe secrets replication-controller-token-kzlnm

然后打开浏览器来访问dashboard

http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/login

贴入token

e1b189ec723044e295f77375313077dc.png

0206d17803e6ee6cc0be2f5e2929e417.png

到这里我们安装完毕,我们可以看到在kube-system这个namspace里面我们部署了名为kubernetes-dashboard的应用,该应该通过一个名为kubernetes-dashboard-669f9bbd46-l4cwg的POD安装了容器来提供dashboard的服务。

a52dab4dca8088261392aab865b86c4b.png
 andywang@andywang-mbp  ~  kubectl describe pods kubernetes-dashboard-669f9bbd46-l4cwg --namespace=kube-system
Name:           kubernetes-dashboard-669f9bbd46-l4cwg
Namespace:      kube-system
Node:           docker-for-desktop/192.168.65.3
Start Time:     Mon, 13 May 2019 12:59:13 +0800
Labels:         k8s-app=kubernetes-dashboard
                pod-template-hash=2259566802
Annotations:    <none>
Status:         Running
IP:             10.1.0.4
Controlled By:  ReplicaSet/kubernetes-dashboard-669f9bbd46
Containers:
  kubernetes-dashboard:
    Container ID:  docker://3876cf10a912fa872c39206a22c349d089980515629cad45ee43a9e1ba77ee24
    Image:         k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1
    Image ID:      docker-pullable://k8s.gcr.io/kubernetes-dashboard-amd64@sha256:0ae6b69432e78069c5ce2bcde0fe409c5c4d6f0f4d9cd50a17974fea38898747
    Port:          8443/TCP
    Host Port:     0/TCP
    Args:
      --auto-generate-certificates
    State:          Running
      Started:      Mon, 13 May 2019 13:01:51 +0800
    Ready:          True
    Restart Count:  0
    Liveness:       http-get https://:8443/ delay=30s timeout=30s period=10s #success=1 #failure=3
    Environment:    <none>
    Mounts:
      /certs from kubernetes-dashboard-certs (rw)
      /tmp from tmp-volume (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kubernetes-dashboard-token-wxnrl (ro)
Conditions:
  Type           Status
  Initialized    True
  Ready          True
  PodScheduled   True
Volumes:
  kubernetes-dashboard-certs:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  kubernetes-dashboard-certs
    Optional:    false
  tmp-volume:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  kubernetes-dashboard-token-wxnrl:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  kubernetes-dashboard-token-wxnrl
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node-role.kubernetes.io/master:NoSchedule
                 node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type    Reason                 Age   From                         Message
  ----    ------                 ----  ----                         -------
  Normal  Scheduled              22m   default-scheduler            Successfully assigned kubernetes-dashboard-669f9bbd46-l4cwg to docker-for-desktop
  Normal  SuccessfulMountVolume  22m   kubelet, docker-for-desktop  MountVolume.SetUp succeeded for volume "tmp-volume"
  Normal  SuccessfulMountVolume  22m   kubelet, docker-for-desktop  MountVolume.SetUp succeeded for volume "kubernetes-dashboard-certs"
  Normal  SuccessfulMountVolume  22m   kubelet, docker-for-desktop  MountVolume.SetUp succeeded for volume "kubernetes-dashboard-token-wxnrl"
  Normal  Pulling                22m   kubelet, docker-for-desktop  pulling image "k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1"
  Normal  Pulled                 19m   kubelet, docker-for-desktop  Successfully pulled image "k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1"
  Normal  Created                19m   kubelet, docker-for-desktop  Created container
  Normal  Started                19m   kubelet, docker-for-desktop  Started container
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值