如果你的網(wǎng)絡(luò)環(huán)境好,裝microk8s還是很省事的,比安裝kubernetes要省事。
網(wǎng)絡(luò)環(huán)境不好的話,都麻煩,要手動處理鏡像拉不下來的問題。
1. 安裝
sudo snap install microk8s --classic
2. 設(shè)置kubectl別名
sudo snap alias microk8s.kubectl kubectl
3. 修改pause:3.1的鏡像地址
這個鏡像我這的網(wǎng)絡(luò)必拉不下來
3.1 修改/var/snap/microk8s/current/args/kubelet
sudo vim /var/snap/microk8s/current/args/kubelet
在最下面添加
--pod-infra-container-image=s7799653/pause:3.1
3.2 修改/var/snap/microk8s/current/args/containerd-template.toml
sudo vim /var/snap/microk8s/current/args/containerd-template.toml
找到sandbox_image,替換鏡像地址
sandbox_image = "s7799653/pause:3.1"
4. 重啟microk8s
microk8s stop
microk8s start
5. 啟用 dns和 dashboard,這個過程里會拉鏡像,有點慢
microk8s enable dns dashboard
6. 重啟microk8s
microk8s stop
microk8s start
7. 查看microk8s狀態(tài),解決鏡像問題
這次安裝metrics-server鏡像拉不下來,下面有解決方法
7.1查看運行狀態(tài)
microk8s status

7.2查看pot情況
都是running就是正常的
kubectl get po -n kube-system

發(fā)現(xiàn)我這里metrics-server-5f8f64cb86-8fpp4狀態(tài)是ImagePullBackOff,不正常,要處理
7.3查看單個pot的log
sudo kubectl describe pods metrics-server-5f8f64cb86-8fpp4 -n kube-system
結(jié)果是
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning Failed 3m45s (x5 over 7m52s) kubelet Error: ImagePullBackOff
Normal Pulling 3m31s (x4 over 9m) kubelet Pulling image "k8s.gcr.io/metrics-server/metrics-server:v0.5.2"
Warning Failed 3m1s (x4 over 7m52s) kubelet Failed to pull image "k8s.gcr.io/metrics-server/metrics-server:v0.5.2": rpc error: code = Unknown desc = failed to pull and unpack image "k8s.gcr.io/metrics-server/metrics-server:v0.5.2": failed to resolve reference "k8s.gcr.io/metrics-server/metrics-server:v0.5.2": failed to do request: Head "https://k8s.gcr.io/v2/metrics-server/metrics-server/manifests/v0.5.2": dial tcp 142.251.8.82:443: i/o timeout
Warning Failed 3m1s (x4 over 7m52s) kubelet Error: ErrImagePull
Normal BackOff 2m45s (x6 over 7m52s) kubelet Back-off pulling image "k8s.gcr.io/metrics-server/metrics-server:v0.5.2"
發(fā)現(xiàn)是鏡像沒拉下來
到dockerhub上搜了下metrics-server:v0.5.2找到一個同步的鏡像,手動拉一下這個鏡像
docker pull v5cn/metrics-server:v0.5.2
修改鏡像名,改為和microk8s要拉的鏡像名一致
docker tag v5cn/metrics-server:v0.5.2 k8s.gcr.io/metrics-server/metrics-server:v0.5.2
導(dǎo)出該鏡像
docker save -o metrics-server.tar k8s.gcr.io/metrics-server/metrics-server:v0.5.2
把該鏡像導(dǎo)入microk8s中
microk8s.ctr image import metrics-server.tar
再重啟microk8s
microk8s stop
microk8s start
再查看pot狀態(tài)
kubectl get po -n kube-system

都Running了,真TM費勁
如果有拉不下來的鏡像,就用這種方式
8. 修改web的端口
kubectl edit svc -n kube-system kubernetes-dashboard
把spec.type修改為NodePort
在spec.ports中添加nodePort: 30000

9. 打開頁面
是https的,https://ip:30000

點高級,再點繼續(xù)前往

9. 獲取token,進(jìn)入dashboard
為了找怎么獲取token,也就花了億點點時間,查了或多帖子,都不行,可能是microk8s更新了,以前的獲取token的方法不能用。
這個是好用的
microk8s dashboard-proxy
最下面顯示了token

這個是啟動了dashboard代理,可以用10443端口訪問
token粘貼出來之后,就可以把dashboard-proxy停掉了,還用之前的https://ip:30000訪問
在集群的Nodes里,可以看到當(dāng)前節(jié)點
