1 前言
Kubernetes
又簡稱k8s
,是Google
開源的容器集羣管理系統,最近也是火熱。閒來無事(爲了發文),搗鼓了一下,在Mac上搭建Kubernetes
,遇到一些坑,也記錄一下。node
另外,Docker
相關的概念可參考下面文章:Docker入門——理解Docker的核心概念。git
2 問題Kubernetes is starting
2.1 卡在starting
當Mac安裝完Docker Desktop
後,能夠啓動Docker
了,而要啓動Kubernetes
,須要Enable
。github
本覺得就如此簡單方便,誰料一直顯示Kubernetes is starting
,卡了好久都沒有反應。那是因爲網絡緣由
(你懂的),啓動Kubernetes
所須要的鏡像沒法下載。docker
2.2 下載鏡像
所需鏡像能夠手動一個個下載,固然也有人準備好了腳本能夠一鍵下載,腳本在倉庫:https://github.com/hummerstudio/k8s-docker-desktop-for-mac 上。api
將倉庫克隆下來:bash
$ git clone https://github.com/hummerstudio/k8s-docker-desktop-for-mac.git
而後看一下文件image_list
上的版本跟本身安裝的版本能不能對得上,建議直接更新Docker Desktop
爲最新版本。微信
$ cat image_list k8s.gcr.io/kube-proxy:v1.16.5=gotok8s/kube-proxy:v1.16.5 k8s.gcr.io/kube-controller-manager:v1.16.5=gotok8s/kube-controller-manager:v1.16.5 k8s.gcr.io/kube-scheduler:v1.16.5=gotok8s/kube-scheduler:v1.16.5 k8s.gcr.io/kube-apiserver:v1.16.5=gotok8s/kube-apiserver:v1.16.5 k8s.gcr.io/coredns:1.6.2=gotok8s/coredns:1.6.2 k8s.gcr.io/pause:3.1=gotok8s/pause:3.1 k8s.gcr.io/etcd:3.3.15-0=gotok8s/etcd:3.3.15-0 k8s.gcr.io/kubernetes-dashboard-amd64=gotok8s/kubernetes-dashboard-amd64:v1.10.1
同爲v1.16.5
版本:網絡
沒有問題就能夠執行腳本拉取相關鏡像:app
$ ./load_images.sh
2.3 重啓驗證
下載完成後,重啓Kubernetes
,驗證 Kubernetes
集羣狀態:阿里雲
$ kubectl cluster-info $ kubectl get nodes $ kubectl describe node
3 安裝Dashboard
Dashboard
並非必須的,它能夠方便咱們查看和操做,建議仍是安裝。將文件( https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.3/aio/deploy/recommended.yaml )下載到本地,而後執行如下命令便可:
$ kubectl apply -f recommended.yaml namespace/kubernetes-dashboard created serviceaccount/kubernetes-dashboard created service/kubernetes-dashboard created secret/kubernetes-dashboard-certs created secret/kubernetes-dashboard-csrf created secret/kubernetes-dashboard-key-holder created configmap/kubernetes-dashboard-settings created role.rbac.authorization.k8s.io/kubernetes-dashboard created clusterrole.rbac.authorization.k8s.io/kubernetes-dashboard created rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created deployment.apps/kubernetes-dashboard created service/dashboard-metrics-scraper created deployment.apps/dashboard-metrics-scraper created
啓動:
$ kubectl proxy
建議使用下面命令啓動,否則會一直佔着終端:
$ nohup kubectl proxy >/dev/null &
界面以下:
須要獲取Token
,命令以下:
$ kubectl -n kube-system describe secret default| awk '$1=="token:"{print $2}' eyJhbGciOiJSUzI1NiIsImtpZCI6IjNiT1o4eW5ORHpkVlp6Q2VJakxMOENlZEUxSU16YmRZcHZqV3BfXzhQTm8ifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLTJoNnpkIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJhODk5MDkwMS1hOWE4LTQyZTAtOGMxNi1iNmQwZTY1NjgyZTEiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.Oo1Sa5GcWC7SknJ_qoGgoIXyGJKIp1nB4ApZqvTsj32DcoAA4mBmo0VB_zqdmlG0x29FO132x_6I2ejOnCwZ9IRlUWBtEYsKCChZb9kUjbAA9FLyIln4AW0K3V7F1ns_YIKLYaudnkHJPWpqE2FXwTVDs-ZpGgUUk2Fs-Sw8KEFOLnHNFzi-lIajsbicmUMyKPimcv51vN-Mgc9gH-_PfvLKBL-h3vbsCep-0xsRE2zOtsfqv9cbaVNhFaYkVvZuYzCBD1TY9v5Q5R6jPsB2IBZzEYMKw8lHGNrPzN0vrKCM_VBRSeUgzUnjAH6MLuVVWbzBmYYiOluCjuAyKf1eWA
就能夠經過Token
登錄了。Dashboard
界面以下所示:
4 總結
至此,安裝已經完成,後面再經過一個小案例講解如何應用。注意個人電腦連了阿里雲的鏡像倉庫,須要設置的請自動Google
。想玩k8s
還有其它方式搭建環境,如Minikube
,之後有機會再折騰吧。
歡迎訪問南瓜慢說 www.pkslow.com獲取更多精彩文章!
歡迎關注微信公衆號<南瓜慢說>,將持續爲你更新...
多讀書,多分享;多寫做,多整理。