本文主要內(nèi)容:
- Kubernetes 集群安裝
- 可能遇到的問(wèn)題
- 初始化
- 常用命令
- 搭建Kubernetes dashboard
- Tips
Kubernetes 集群安裝
Kubernetes 集群的安裝參見(jiàn)kubernetes101-workshop readme即可。
可能遇到的問(wèn)題
在執(zhí)行 vagrant ssh master01
的時(shí)候我遇到下面問(wèn)題:
解決方式:
使用 ssh vagrant@192.168.33.101
或 ssh vagrant@192.168.33.110
登錄无虚,密碼 vagrant
猜測(cè)原因:
- 本機(jī)的某個(gè)配置導(dǎo)致沒(méi)法使用
vagrant ssh
命令 - 只是針對(duì)這個(gè) kubernetes101-workshop 沒(méi)法使用
vagrant ssh
命令
驗(yàn)證:
新寫(xiě)了一個(gè) vagrant 的 demo 發(fā)現(xiàn)了同樣的問(wèn)題:
結(jié)論:
猜測(cè)1成立河哑,但由于只是不能使用vagrant ssh
命令采够,不影響學(xué)習(xí) Kubernetes,遂止于此
初始化
初始化網(wǎng)絡(luò):
kubeadm init --apiserver-advertise-address=192.168.33.101 --pod-network-cidr=10.32.0.0/12
初始化完成:
其中紅色區(qū)域的命令作用:每當(dāng)有新增的節(jié)點(diǎn),執(zhí)行下面的命令則該節(jié)點(diǎn)可以
加入 Kubernetes 網(wǎng)絡(luò)袭艺,同時(shí)還需在 master 節(jié)點(diǎn)執(zhí)行上圖中藍(lán)色區(qū)域的命令
執(zhí)行 kubectl get nodes
會(huì)發(fā)現(xiàn)我們添加的 node 還是 NotReady 狀態(tài),需要安裝插件叨粘,執(zhí)行命令 kubectl apply -f https://git.io/weave-kube-1.6
猾编,這樣就會(huì)看到我們所添加的 node 是 Ready 狀態(tài)
常用命令
- get: 資源列表
- kubectl get <resource name>
- describe:資源詳情
- kubectl describe <resource name><id>
- apply: 變更資源(增刪改都可以),一般通過(guò)yaml進(jìn)行升敲,便于版本管理和追溯
- kubectl apply -f object.yaml
- delete:刪除資源
- kubectl delete <resource name><id>
- logs:查看日志
- kubectl logs <pod-id> -c <container name> -f
- exec:在容器中執(zhí)行命令
搭建Kubernetes dashboard
- 下載 dashboard 的 yaml 定義
curl https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml > dashboard.yaml
- 修改 yaml答倡,將其以 nodePort 的形式暴露在集群外部,即添加圖中紅色區(qū)域的內(nèi)容
執(zhí)行命令
kubectl apply -f dashboard.yaml
驴党,使 dashboard.yaml 生效瀏覽器訪(fǎng)問(wèn):https://192.168.33.101:30001瘪撇,即可看到 dashboard 登錄頁(yè)面,此時(shí)我們需要 token 才能進(jìn)入主頁(yè)
獲取token:
kubectl get secret -n kube-system
kubectl describe secret admin-token-45rzl -n kube-system
或者
kubectl get secret $(kubectl get secret -n kube-system|grep admin-token|awk '{print $1}') -n kube-system -o jsonpath={.data.token}|base64 -d |xargs echo
即可在終端看到 token,輸入 token即可看到dashboard頁(yè)面
到此我們的 dashboard 也搭好了倔既,可以繼續(xù)開(kāi)始后面的 Kubernetes 之旅了
Tips
在初始化的過(guò)程中可能會(huì)失敗恕曲,使用kubeadm reset
命令進(jìn)行重置