k8s版本连续升级1.11.0升级1.12.0升级1.13.5

本文详细记录了从Kubernetes 1.11.0逐步升级至1.13.5的过程,包括master节点和node节点的升级步骤,涉及软件包更新、配置文件修改、镜像拉取等关键操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.11.0---->1.11.9

master-01

kubeadm upgrade plan

yum -y install kubeadm-1.11.9 kubernetes-cni-0.6.0.x86_64 kubelet-1.11.9

kubectl get configmap -n kube-system kubeadm-config -o jsonpath={.data.MasterConfiguration} > kubeadm-config.yaml

vim kubeadm-config.yaml #修改里面的参数
advertiseAddress: 10.129.60.213  #本机ip

kubeadm upgrade apply v1.11.9 --config kubeadm-config.yaml

yum -y update  kubectl-1.11.9

master-02

kubectl get configmap -n kube-system kubeadm-config -o jsonpath={.data.MasterConfiguration} > kubeadm-config.yaml

vim kubeadm-config.yaml #修改里面的参数
advertiseAddress: 10.129.60.213  #本机ip,让负载均衡在自己的机器上

yum -y update  kubeadm-1.11.9 kubernetes-cni-0.6.0.x86_64 kubelet-1.11.9

kubeadm upgrade apply v1.11.9 --config kubeadm-config.yaml

yum -y update  kubectl-1.11.9

master-03

 kubectl get configmap -n kube-system kubeadm-config -o jsonpath={.data.MasterConfiguration} > kubeadm-config.yaml

vim kubeadm-config.yaml #修改里面的参数
advertiseAddress: 10.129.60.213  #本机ip,让负载均衡在自己的机器上

yum -y update  kubeadm-1.11.9 kubernetes-cni-0.6.0.x86_64 kubelet-1.11.9

kubeadm upgrade apply v1.11.9 --config kubeadm-config.yaml

yum -y update  kubectl-1.11.9

node-01

yum -y update  kubectl-1.11.9 kubeadm-1.11.9 kubernetes-cni-0.6.0.x86_64 kubelet-1.11.9

版本状态更改

kubectl get node #状态
systemctl restart kubelet 

1.11.9–>1.12.0

master-01

#升级master-01之前需要对mysql-01进行设置禁止调度
kubectl taint node master-01 node-role.kubernetes.io/master="":NoExecute

kubeadm upgrade plan

yum -y remove kubernetes-cni-0.7.5-0.x86_64
yum -y install kubeadm-1.12.0  kubernetes-cni-0.6.0-0.x86_64  kubelet-1.12.0
#ps,注意:如果已经安装了kubernetes-cni-0.7.5-0.x86_64,需要先卸载掉kubernetes-cni-0.7.5-0.x86_64,再安装kubernetes-cni-0.6.0-0.x86_64

#低版本可能使用的是MasterConfiguration,1.11.9以后使用的都是 ClusterConfiguration
kubectl get configmap -n kube-system kubeadm-config -o jsonpath={.data.MasterConfiguration} > kubeadm-config.yaml

#先拉去镜像,这里需要在kubeadm-config中配置镜像版本
kubeadm config images pull --config /root/kubeadm-config.yaml

vim kubeadm-config.yaml #修改里面的参数
advertiseAddress: 10.129.60.213  #本机ip


kubeadm upgrade apply v1.12.0 --config kubeadm-config.yaml

#注意:时间比较长,如果失败了
[upgrade/staticpods] This might take a minute or longer depending on the component/version gap (timeout 5m0s
##查看kubelet日志,发现kubelet.go:2236] node "master-01" not found,说明docker-ce版本过低导致的,需要升级docker版本再升级kubelet

yum -y update  kubectl-1.12.0

master-02

#升级master-02之前需要对mysql-02进行设置禁止调度
kubectl taint node master-02 node-role.kubernetes.io/master="":NoExecute

yum -y remove kubernetes-cni-0.7.5-0.x86_64
yum -y install kubeadm-1.12.0  kubernetes-cni-0.6.0-0.x86_64  kubelet-1.12.0
#ps,注意:如果已经安装了kubernetes-cni-0.7.5-0.x86_64,需要先卸载掉kubernetes-cni-0.7.5-0.x86_64,再安装kubernetes-cni-0.6.0-0.x86_64

#低版本可能使用的是MasterConfiguration,1.11.9以后使用的都是 ClusterConfiguration,这里可能出现没有获取到kubeadm-config.yaml的问题
kubectl get configmap -n kube-system kubeadm-config -o jsonpath={.data.MasterConfiguration} > kubeadm-config.yaml
kubectl get configmap -n kube-system kubeadm-config -o jsonpath={.data.ClusterConfiguration} > kubeadm-config.yaml

#先拉去镜像,这里需要在kubeadm-config中配置镜像版本
kubeadm config images pull --config /root/kubeadm-config.yaml

vim kubeadm-config.yaml #修改里面的参数
advertiseAddress: 10.129.60.213  #本机ip

kubeadm upgrade apply v1.12.0 --config kubeadm-config.yaml

#注意:时间比较长,如果失败了
[upgrade/staticpods] This might take a minute or longer depending on the component/version gap (timeout 5m0s
##查看kubelet日志,发现kubelet.go:2236] node "master-01" not found,说明docker-ce版本过低导致的,需要升级docker版本再升级kubelet
yum -y update docker-ce-18.06.3.ce-3.el7 


yum -y update  kubectl-1.12.0
#开启master调度
kubectl taint node --all node-role.kubernetes.io/master-

master-03

#升级master-03之前需要对mysql-03进行设置禁止调度
kubectl taint node master-03 node-role.kubernetes.io/master="":NoExecute

yum -y remove kubernetes-cni-0.7.5-0.x86_64
yum -y install kubeadm-1.12.0  kubernetes-cni-0.6.0-0.x86_64  kubelet-1.12.0
#ps,注意:如果已经安装了kubernetes-cni-0.7.5-0.x86_64,需要先卸载掉kubernetes-cni-0.7.5-0.x86_64,再安装kubernetes-cni-0.6.0-0.x86_64

#低版本可能使用的是MasterConfiguration,1.11.9以后使用的都是 ClusterConfiguration,这里可能出现没有获取到kubeadm-config.yaml的问题
kubectl get configmap -n kube-system kubeadm-config -o jsonpath={.data.MasterConfiguration} > kubeadm-config.yaml
kubectl get configmap -n kube-system kubeadm-config -o jsonpath={.data.ClusterConfiguration} > kubeadm-config.yaml

#先拉去镜像,这里需要在kubeadm-config中配置镜像版本
kubeadm config images pull --config /root/kubeadm-config.yaml

vim kubeadm-config.yaml #修改里面的参数
advertiseAddress: 10.129.60.213  #本机ip

kubeadm upgrade apply v1.12.0 --config kubeadm-config.yaml

#注意:时间比较长,如果失败了
[upgrade/staticpods] This might take a minute or longer depending on the component/version gap (timeout 5m0s
##查看kubelet日志,发现kubelet.go:2236] node "master-01" not found,说明docker-ce版本过低导致的,需要升级docker版本再升级kubelet
yum -y update docker-ce-18.06.3.ce-3.el7 


yum -y update  kubectl-1.12.0
#开启master调度
kubectl taint node --all node-role.kubernetes.io/master-

node-01

#升级之前需要对节点进行设置禁止调度
kubectl cordon node-01   #将k8s-node1节点设置为不可调度模式
kubectl drain node-01    #将当前运行在k8s-node1节点上的容器驱离


yum -y remove kubernetes-cni-0.7.5-0.x86_64
yum -y update docker-ce-18.06.3.ce-3.el7 

yum -y install  kubectl-1.12.0 kubeadm-1.12.0 kubernetes-cni-0.6.0.x86_64 kubelet-1.12.0

kubectl uncordon node-01  #执行完维护后,将节点重新加入调度

版本状态更改

kubectl get node
systemctl restart kubelet 

1.12.0---->1.13.5

master节点

#如果需要升级docker的话,需要对mysql-01进行设置禁止调度
kubectl taint node master-01 node-role.kubernetes.io/master="":NoExecute

kubeadm upgrade plan

yum -y install kubeadm-1.13.5  kubernetes-cni-0.6.0-0.x86_64  kubelet-1.13.5
#ps,注意:如果已经安装了kubernetes-cni-0.7.5-0.x86_64,需要先卸载掉kubernetes-cni-0.7.5-0.x86_64,再安装kubernetes-cni-0.6.0-0.x86_64

#master-01节点
kubeadm upgrade apply v1.13.5
#其他节点:
kubeadm upgrade node experimental-control-plane


#注意:时间比较长,如果失败了
[upgrade/staticpods] This might take a minute or longer depending on the component/version gap (timeout 5m0s
##查看kubelet日志,发现kubelet.go:2236] node "master-01" not found,说明docker-ce版本过低导致的,需要升级docker版本再升级kubelet

yum -y update  kubectl-1.13.5

node节点

#升级之前需要对节点进行设置禁止调度
kubectl cordon node-01   #将k8s-node1节点设置为不可调度模式
kubectl drain node-01    #将当前运行在k8s-node1节点上的容器驱离


yum -y remove kubernetes-cni-0.7.5-0.x86_64
yum -y update docker-ce-18.06.3.ce-3.el7 

yum -y update  kubectl-1.13.5 kubeadm-1.13.5 kubernetes-cni-0.6.0.x86_64 kubelet-1.13.5

kubectl uncordon node-01  #执行完维护后,将节点重新加入调度

版本状态更改

kubectl get node
systemctl restart kubelet 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值