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

 

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