一、kubernetes升级说明
### --- kubernetes升级说明
~~~ 在升级的时候建议最后去升级controller-manager
~~~ 在升级的过程中最好把controller-manager停掉,
~~~ 在升级的过程中可能会造成pod的漂移,造成业务pod漂移。
~~~ 在升级的过程中节点挂掉,pod漂移,业务宕机
~~~ 若是controller-manager的版本过高,kubelet版本过低;就会造成循环的去创建pod或者有些api版本不符合报错
~~~ 在升级过程中,一般都是把controller-manager停掉;等升级完所有的节点,包括升级完kubelet再启动controller-manager,再升级
~~~ # 第二种方案:把这个节点下线在升级,与controller-manager在哪里都是没有影响的
### --- kubernetes升级方案
~~~ 方案一:本地直接升级,停止controller-manager再去升级
~~~ 方案二:停止所升级节点,再升级kubernetes相关组件;controller-manager是不可以停止掉的
~~~ 方案三:设置成不可调度的方式,再去升级
### --- 此环境升级采用方案:
~~~ 此环境升级kubernetes方案:把节点下线;容器会漂移到其它节点,然后再升级这个节点相关组件
~~~ 优点一:升级节点pod提前漂移了,系统业务不会受到影响
~~~ 缺点一:若是不下线不漂移;直接升级kubelet,在升级完之后节点上的容器会重启;升级完之后哈希值会变,哈希值变化之后,容器就会重启。先下线,或者设置成不可调度的方式,再滚动发布。pod会滚动重新发布
~~~ 缺点:升级过程中,pod来回漂移会造成pod多次重启;若是在本地直接升级会造成服务中断;若是多副本,是没有任何问题的。
二、下载kubernetes.v1.19.5版本包
### --- 下载kubernetes-server.v1.19.5
~~~ # 下载kubernetes-server.1.19.5版本的资源包
[root@k8s-master01 master]# wget -c https://dl.k8s.io/v1.19.5/kubernetes-server-linux-amd64.tar.gz
~~~ # 查看下载的版本包
[root@k8s-master01 master]# ll