kubeadm升级k8s集群

目录

环境检查

#这个k8s集群有两个master节点、有一个work节点
[root@master001 ~]# kubectl get node
NAME STATUS ROLES AGE VERSION
master001 Ready master 25h v1.17.0
master002 Ready master 25h v1.17.0
master003 Ready node 25h v1.17.0

下载kubeadm、kubectl、kubeletRPM包

#下载地址:
https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/Packages/

[root@master001 1.18.0]# ll
total 40044
-rw-r–r--. 1 root root 9204778 Oct 22 21:27 kubeadm-1.18.0-0.x86_64.rpm
-rw-r–r--. 1 root root 9996474 Oct 22 21:28 kubectl-1.18.0-0.x86_64.rpm
-rw-r–r--. 1 root root 21797010 Oct 22 21:28 kubelet-1.18.0-0.x86_64.rpm

更新流程

更新master节点
安装kubeadm–> list需要的docker镜像–>升级–>升级kubelet–>重启kubelet
更新work节点
升级kubelet–>重启kubelet

更新master节点

1、查看kubeadm1.17.0需要的docker镜像

[root@master001 ~]# kubeadm config images list --image-repository  registry.aliyuncs.com/google_containers
registry.aliyuncs.com/google_containers/kube-apiserver:v1.17.0
registry.aliyuncs.com/google_containers/kube-controller-manager:v1.17.0
registry.aliyuncs.com/google_containers/kube-scheduler:v1.17.0
registry.aliyuncs.com/google_containers/kube-proxy:v1.17.0
registry.aliyuncs.com/google_containers/pause:3.1
registry.aliyuncs.com/google_containers/etcd:3.4.3-0
registry.aliyuncs.com/google_containers/coredns:1.6.5

2、更新kubeadm、kubectl

[root@master001 1.18.0]# yum -y  install kubectl-1.18.0-0.x86_64.rpm kubeadm-1.18.0-0.x86_64.rpm

3、查看kubeadm1.18.0需要的docker镜像

[root@master001 1.18.0]# kubeadm config images list --image-repository  registry.aliyuncs.com/google_containers
registry.aliyuncs.com/google_containers/kube-apiserver:v1.18.0
registry.aliyuncs.com/google_containers/kube-controller-manager:v1.18.0
registry.aliyuncs.com/google_containers/kube-scheduler:v1.18.0
registry.aliyuncs.com/google_containers/kube-proxy:v1.18.0
registry.aliyuncs.com/google_containers/pause:3.2
registry.aliyuncs.com/google_containers/etcd:3.4.3-0
registry.aliyuncs.com/google_containers/coredns:1.6.7

4、经比较,除了etcd镜像与之前版本一致,其他镜像都需要重新下载
docker pull 下载1.18.0所需要的镜像
docker tag 为镜像打上标签
docker pull 上传到私有镜像仓库
docker push 192.168.122.131/google_containers/kube-controller-manager:v1.18.0

5、kubeadm执行升级命令

[root@master001 1.18.0]# kubeadm upgrade  plan # 查看执行计划
[root@master001 1.18.0]# kubeadm upgrade apply v1.18.0

6、查看master节点任意组件的,如apiserver
kubectl describe pod -n kube-system kube-apiserver-master001
通过输出显示apiserver组件的镜像已经是1.18.0了
7、升级kubelet组件

[root@master001 1.18.0]# yum -y install kubelet-1.18.0-0.x86_64.rpm 
[root@master001 1.18.0]# systemctl daemon-reload  &&  systemctl restart kubelet

[root@master001 1.18.0]# kubectl get node
NAME        STATUS   ROLES    AGE   VERSION
master001   Ready    master   37h   v1.18.0
master002   Ready    master   37h   v1.17.0
master003   Ready    node     37h   v1.17.0

此时,master001节点显示版本为1.18.0了

更新mater002节点

[root@master002 1.18.0]# yum -y install kubectl-1.18.0-0.x86_64.rpm kubeadm-1.18.0-0.x86_64.rpm 
[root@master002 1.18.0]# kubeadm upgrade apply v1.18.0
[root@master002 1.18.0]# yum -y install kubelet-1.18.0-0.x86_64.rpm 
[root@master002 1.18.0]# systemctl daemon-reload  &&  systemctl restart kubelet

[root@master002 1.18.0]# kubectl get node
NAME        STATUS   ROLES    AGE   VERSION
master001   Ready    master   37h   v1.18.0
master002   Ready    master   37h   v1.18.0
master003   Ready    node     37h   v1.17.0

更新work节点

#驱逐work节点
[root@master003 1.18.0]# kubectl taint node master003 xx=xx:NoExecute
[root@master003 1.18.0]# yum -y install kubelet-1.18.0-0.x86_64.rpm 
[root@master003 1.18.0]# systemctl daemon-reload  &&  systemctl restart kubelet
[root@master003 ~]# systemctl daemon-reload  &&  systemctl restart kubelet
#设置work节点可调度
[root@master003 1.18.0]# kubectl taint node master003 xx=xx:NoExecute-


验证



[root@master001 1.18.0]# kubectl get node
NAME        STATUS   ROLES    AGE   VERSION
master001   Ready    master   37h   v1.18.0
master002   Ready    master   37h   v1.18.0
master003   Ready    node     37h   v1.18.0


[root@master001 1.18.0]# kubectl get pod -A
NAMESPACE     NAME                                READY   STATUS    RESTARTS   AGE
kube-system   coredns-6c55f667db-fcnbw            1/1     Running   0          11m
kube-system   coredns-6c55f667db-jjjdr            1/1     Running   0          11m
kube-system   etcd-master001                      1/1     Running   0          7m51s
kube-system   etcd-master002                      1/1     Running   0          2m31s
kube-system   kube-apiserver-master001            1/1     Running   0          7m51s
kube-system   kube-apiserver-master002            1/1     Running   0          2m31s
kube-system   kube-controller-manager-master001   1/1     Running   1          7m51s
kube-system   kube-controller-manager-master002   1/1     Running   0          2m33s
kube-system   kube-flannel-ds-amd64-9kwv8         1/1     Running   0          37h
kube-system   kube-flannel-ds-amd64-j8xlh         1/1     Running   0          37h
kube-system   kube-flannel-ds-amd64-tmtj6         1/1     Running   0          37h
kube-system   kube-proxy-bqss2                    1/1     Running   0          11m
kube-system   kube-proxy-n5xnw                    1/1     Running   0          11m
kube-system   kube-proxy-xlpzg                    1/1     Running   0          11m
kube-system   kube-scheduler-master001            1/1     Running   1          7m51s
kube-system   kube-scheduler-master002            1/1     Running   0          2m33s
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值