当前位置:   article > 正文

k8s dashboard_在MAC上安装K8S (kubernets) for Docker Desktop

macos k8s app

编排 K8S

容器环境 : Docker Desktop for Mac

Hypervisor : 原生的HyperKit

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

安装

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

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

c0be6fd28e28d08c9d2dec905a159ac3.png

c51a95919903454ae096e6d7e0d50d8b.png

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

6cb567b8ff565161a9e2c73792e3417e.png

6164884004353818c9b8960b118a88f0.png

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

ca0961e4922fdba64690815f4b8d3cd8.png

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

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

kubernetes/dashboard​github.com
f631f09239218bcb84d8f8e1c965ea08.png

3e6b779091f38cf51494d61221d63cb8.png

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

5b78c87b5044912f21134d08d4685148.png

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

eb08c59427ea5cbc60ea845788abd31e.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

a4b417054d4820ccc2a45154bd2bc5da.png

cbd7d936b967d833c4b068062ceff840.png

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

1477c4d5f608590ce703fe5130dd64ee.png
  1. andywang@andywang-mbp  ~  kubectl describe pods kubernetes-dashboard-669f9bbd46-l4cwg --namespace=kube-system
  2. Name: kubernetes-dashboard-669f9bbd46-l4cwg
  3. Namespace: kube-system
  4. Node: docker-for-desktop/192.168.65.3
  5. Start Time: Mon, 13 May 2019 12:59:13 +0800
  6. Labels: k8s-app=kubernetes-dashboard
  7. pod-template-hash=2259566802
  8. Annotations: <none>
  9. Status: Running
  10. IP: 10.1.0.4
  11. Controlled By: ReplicaSet/kubernetes-dashboard-669f9bbd46
  12. Containers:
  13. kubernetes-dashboard:
  14. Container ID: docker://3876cf10a912fa872c39206a22c349d089980515629cad45ee43a9e1ba77ee24
  15. Image: k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1
  16. Image ID: docker-pullable://k8s.gcr.io/kubernetes-dashboard-amd64@sha256:0ae6b69432e78069c5ce2bcde0fe409c5c4d6f0f4d9cd50a17974fea38898747
  17. Port: 8443/TCP
  18. Host Port: 0/TCP
  19. Args:
  20. --auto-generate-certificates
  21. State: Running
  22. Started: Mon, 13 May 2019 13:01:51 +0800
  23. Ready: True
  24. Restart Count: 0
  25. Liveness: http-get https://:8443/ delay=30s timeout=30s period=10s #success=1 #failure=3
  26. Environment: <none>
  27. Mounts:
  28. /certs from kubernetes-dashboard-certs (rw)
  29. /tmp from tmp-volume (rw)
  30. /var/run/secrets/kubernetes.io/serviceaccount from kubernetes-dashboard-token-wxnrl (ro)
  31. Conditions:
  32. Type Status
  33. Initialized True
  34. Ready True
  35. PodScheduled True
  36. Volumes:
  37. kubernetes-dashboard-certs:
  38. Type: Secret (a volume populated by a Secret)
  39. SecretName: kubernetes-dashboard-certs
  40. Optional: false
  41. tmp-volume:
  42. Type: EmptyDir (a temporary directory that shares a pod's lifetime)
  43. Medium:
  44. SizeLimit: <unset>
  45. kubernetes-dashboard-token-wxnrl:
  46. Type: Secret (a volume populated by a Secret)
  47. SecretName: kubernetes-dashboard-token-wxnrl
  48. Optional: false
  49. QoS Class: BestEffort
  50. Node-Selectors: <none>
  51. Tolerations: node-role.kubernetes.io/master:NoSchedule
  52. node.kubernetes.io/not-ready:NoExecute for 300s
  53. node.kubernetes.io/unreachable:NoExecute for 300s
  54. Events:
  55. Type Reason Age From Message
  56. ---- ------ ---- ---- -------
  57. Normal Scheduled 22m default-scheduler Successfully assigned kubernetes-dashboard-669f9bbd46-l4cwg to docker-for-desktop
  58. Normal SuccessfulMountVolume 22m kubelet, docker-for-desktop MountVolume.SetUp succeeded for volume "tmp-volume"
  59. Normal SuccessfulMountVolume 22m kubelet, docker-for-desktop MountVolume.SetUp succeeded for volume "kubernetes-dashboard-certs"
  60. Normal SuccessfulMountVolume 22m kubelet, docker-for-desktop MountVolume.SetUp succeeded for volume "kubernetes-dashboard-token-wxnrl"
  61. Normal Pulling 22m kubelet, docker-for-desktop pulling image "k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1"
  62. Normal Pulled 19m kubelet, docker-for-desktop Successfully pulled image "k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1"
  63. Normal Created 19m kubelet, docker-for-desktop Created container
  64. Normal Started 19m kubelet, docker-for-desktop Started container
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/48553
推荐阅读
相关标签
  

闽ICP备14008679号