集群环境参照:centos8+kubeadm1.20.5+cilium+hubble环境搭建。kubernets有了新的版本。1.21.0。嗯准备升级一下啊。
yum list --showduplicates kubeadm --disableexcludes=kubernetes
yum install kubeadm-1.21.0 kubectl-1.21.0 --disableexcludes=kubernetes
kubeadm upgrade plan
注:集群环境是一个ha的环境。这部操作选择了再sh-master-01节点执行
kubeadm upgrade apply v1.21.0 --certificate-renewal=false
--certificate-renewal=false 嗯 我不想重新生成证书....搭建了才没有多久......
嗯 报错了 找不到coredns的镜像:我还有个1.16的kubernetes的集群对比了一下,貌似coredns的目录层级多了一级?
查看了一眼默认仓库:
然后 ctr images pull registry.aliyuncs.com/google_containers/coredns/coredns:v1.8.0
仓库下也确实没有这个image。也特意看了下阿里云 包括腾讯云的镜像仓库貌似不支持这样的层级的目录?可能在设计的时候都没有想到后面有这样的层级吗?
一般来说是下载镜像 然后修改镜像tag.....可是我试了几次upgrade仍然是失败:
各种找文章的顺路看到了https://blog.51cto.com/u_3252740/2717642
就顺路玩了一下:
kubectl -n kube-system edit cm kubeadm-config
coredns的镜像仓库是可以单独定义的:那我就单独定义一下吧,整成k8s.gcr.io佛系定义。就想单独定义一下dns的仓库。
ctr -n k8s.io images pull uhub.service.ucloud.cn/uxhy/v1.8.0
ctr -n k8s.io images pull uhub.service.ucloud.cn/uxhy/coredns:v1.8.0
ctr -n k8s.io images tag uhub.service.ucloud.cn/uxhy/coredns:v1.8.0 k8s.gcr.io/coredns/coredns:v1.8.0
然后
master-01 忘了截图借用了下其他节点的截图
kubeadm upgrade apply v1.21.0 --certificate-renewal=false
基本上就是重复1.2的步骤 然后kubeadm upgrade node。之前貌似一直是kubeadm upgrade apply了?
另外一般的安全操作建议是kubectl drain <node-to-drain> --ignore-daemonsets。去腾空节点,更新完成后kubectl uncordon 将节点设置为可调度。这些我就忽略了。集群基本没有跑太多服务。版本还在测试中。故:
sh-master-02 sh-master-03节点执行一下操作
ctr -n k8s.io images pull uhub.service.ucloud.cn/uxhy/v1.8.0
ctr -n k8s.io images pull uhub.service.ucloud.cn/uxhy/coredns:v1.8.0
ctr -n k8s.io images tag uhub.service.ucloud.cn/uxhy/coredns:v1.8.0 k8s.gcr.io/coredns/coredns:v1.8.0
yum install kubeadm-1.21.0 kubectl-1.21.0 --disableexcludes=kubernetes
kubeadm upgrade node
草率了1.2 执行:yum install kubeadm-1.21.0 kubectl-1.21.0 --disableexcludes=kubernetes 糊里糊涂怎么没有加上kubelet呢?以后还是加在一起去安装了。
yum install -y kubelet-1.21.0 --disableexcludes=kubernetes
sudo systemctl daemon-reload
sudo systemctl restart kubelet
yum install -y kubeadm-1.21.0 kubelet-1.21.0 kubectl-1.21.0 --disableexcludes=kubernetes
kubeadm upgrade node
kubectl drain <node-to-drain> --ignore-daemonsets
kubectl uncordon
sudo systemctl daemon-reload
sudo systemctl restart kubelet
kubectl get node
kubectl get pods -n kube-system
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。