MicroK8S 安裝踩坑

系統要求: Ubuntu 20.04 LTS, 18.04 LTS or 16.04 LTS或其他支持snapd的操作系統

內存:4G+

硬盤:20G+

 

官方文檔

安裝microk8s

sudo snap install microk8s --classic

 

添加當前用戶到用戶組

sudo usermod -a -G microk8s $USER
sudo chown -f -R $USER ~/.kube

修改別名 將kubectl定向爲microk8s kubectl

vim ~/.bash_aliases

結尾加入一行   alias kubectl='microk8s kubectl'

然後斷開連接重新登錄

 

修改沙盒鏡像地址(因爲默認是k8s.gcr.io/pause:3.1,國內訪問不了,需要改爲阿里雲的鏡像)

sudo vim /var/snap/microk8s/current/args/containerd-template.toml

找到sandbox_image = "k8s.gcr.io/pause:3.1"的一行,將k8s.gcr.io替換爲registry.cn-hangzhou.aliyuncs.com/google_containers

 

 退出保存

 

重啓microk8s

microk8s stop
microk8s start

 

 

加入節點

每個節點都執行以上安裝操作

然後主節點執行獲取加入節點命令

microk8s add-node

會得到一堆命令,選擇主節點局域網IP的那條複製到節點去執行

 

啓用插件

執行命令 microk8s enable xxx

xxx即插件名,比較常用的有dns helm istio等,默認已經開啓了很多插件如非必要是不需要再執行此步驟的

dns 容器網絡, ha-cluster是高可用集羣插件, helm類似應用商店, istio 服務網格

啓用ha-cluster後需要節點執行重新加入

官方插件列表

 

升級

單機部署的升級

sudo snap refresh microk8s --channel=1.21/stable

1.21換成對應版本號即可

 

集羣升級

<node>替換爲節點名, kubectl drain驅除節點,遷移所有daemonset以外的所有工作負載

microk8s kubectl drain <node> --ignore-daemonsets

可以通過以下命令查看所有負載情況,對應節點應該只剩下daemonset的pod

microk8s kubectl get po -A -o wide

升級節點

sudo snap refresh --stable microk8s

查看節點情況,可以看到當前節點版本已升級到對應版本

microk8s.kubectl get no

恢復節點調度,<node>替換爲節點名

microk8s kubectl uncordon <node>

每個節點重複一遍以上步驟,完成升級

 

升級失敗 恢復節點

恢復到上一個穩定版本

sudo snap revert microk8s

 

 

不van了,卸載

在節點執行

microk8s leave

在主節點執行,將<node>替換爲節點名

microk8s remove-node <node> --force

最後在所有節點都執行

sudo snap remove microk8s

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章