k8s版本(k8s版本升级)

k8s版本(k8s版本升级)目录 一 环境准备 二 安装 Docker 三 配置环境变量 四 所有 master 节点安装 keepalived 和 haproxy 服务 五 部署集群 六 部署 k8s 的 dashboard 本文采用的是 etcd master HA 混合部署方式 当然也可以把 etcd cluster 独立出来部署也是可以 本文中 k8s 高可用主要体现在对 master 节点组件及 etcd 存储的高可用

大家好,我是讯享网,很高兴认识大家。



目录

一、环境准备

二、安装Docker

三、配置环境变量

四、所有master节点安装keepalived和haproxy服务

五、部署集群

六、部署k8s的dashboard


本文采用的是etcd、master、HA混合部署方式,当然也可以把etcd cluster独立出来部署也是可以


讯享网

本文中k8s高可用主要体现在对master节点组件及etcd存储的高可用,文中使用到的服务器ip及角色对应如下:

CentOS Linux release 7.7.1908 (Core)  3.10.0-1062.el7.x86_64 

kubeadm-1.22.3-0.x86_64
kubelet-1.22.3-0.x86_64
kubectl-1.22.3-0.x86_64
kubernetes-cni-0.8.7-0.x86_64
 

主机名IPVIPk8s-master01192.168.30..168.30.115k8s-master02192.168.30.107k8s-master03192.168.30.108k8s-node01192.168.30.109k8s-node02192.168.30.110

1、各节点下载docker源

 

讯享网
讯享网

 3、重启Docker服务

 

4、配置各节点hosts文件,实际生产环境中,可以规划好内网dns,每台机器可以做一下主机名解析,就不需要配hosts文件

讯享网

1、关掉各节点防火墙,安装相关软件

 

2、关闭各节点selinux

讯享网

3、关闭各节点swap分区

 

4、同步各节点的时间,这个时间服务,如果机器可以直通外网,那就按以下命令执行就行。

如果机器无法通外网,需要做一台时间服务器,然后别的服务器全部从这台时间服务器同步时间。

讯享网

5、各节点内核调整

 

6、配置各节点k8s的yum源

讯享网

7、各节点开启ipvs模块

 
讯享网

8、设置 rsyslogd 和 systemd journald

 

10、系统内核升级到最新

CentOS 7.x 系统自带的 3.10.x 内核存在一些 Bugs,导致运行的 Docker、Kubernetes 不稳定

讯享网

#升级内核 

 

# 设置开机从新内核启动,这地方要注意一下,看你当时最新的版本是多少,括号里就填多少

讯享网

9、重启服务器(reboot)

1、各master节点安装服务

 

2、修改k8s-master01配置文件

第一台master为master,后面两台master为backup

讯享网

3、修改k8s-master02配置文件

把这个/etc/keepalived/keepalived.conf配置文件scp 到k8s-master02和k8s-master03,只需要修改

state MASTER            # MASTER

priority 100             # 权重100

 

4、修改k8s-master03配置文件

讯享网

5、配置三台haproxy.cfg配置文件,三台g配置文件完全一样‘

 

6、配置keepalived的haproxy检测脚本,三台master都是一样

讯享网

7、给检测脚本添加执行权限

 

8、启动haproxy和keepalived服务

讯享网

9、查看vip地址

这边配的是k8s-master01是master,所以只能在这台机器上看

 

# 安装的kubeadm、kubectl和kubelet要和kubernetes版本一致,kubelet加入开机启动之后不手动启动,要不然会报错,初始化集群之后集群会自动启动kubelet服务!!!

1、安装k8s软件包,每个节点都需要安装这些软件

讯享网

 2、获取默认配置文件,登录到k8s-master01机器

 

 3、修改配置文件

讯享网

 4、下载相关镜像文件

 

5、初始化集群 

讯享网

6、在其它两个master节点要创建etcd目录

 

7、把主master节点证书分别复制到其他2个master节点

讯享网

8、另外两个master节点加入集群

 

9、两个node节点加入集群

讯享网

如果随着集群的运行,以后有需要扩容的,扩容node节点的方法

 

10、所有master节点执行以下命令,node节点随意

#root用户

讯享网

#非root用户

 

11、在k8s-master01上查看所有节点状态

讯享网

12、安装网络插件,在k8s-master01机器上执行

#如果没有翻墙有可能下不来

 
讯享网

13、再查看节点状态

 

#一定是所有的状态为Running才是正常的,如果有以下状态 ,就要去看一下日志(tail -f /var/log/message),分析一下问题,一般的问题 是ipvs环境变量不对等等

讯享网

14、下载etcdctl客户端工具,并安装,在k8s-master01上安装就行

 

  15、验证etcdctl是否能用,只要能输出以下这些日志,说明是没有问题的

讯享网

16、查看etcd集群的各种状态

#查看etcd集群健康状态

 

讯享网

#查看etcd集群可用列表

 

讯享网

#查看etcd集群leader状态

 
讯享网

注:我这边k8s的api版本已经是1.22.3版本了,所有dashboard必需升级到v2.3以上,不能再用v.2.0版本

1、下载recommended.yaml文件,如果没有翻墙,估计下不来

 

 #这边我就把下载的文件直接贴出来,以下有两个地方做了修改,就是增加了NodePort模式和端口,看注释就行。

讯享网

#安装

 

2、 查看安装结果

讯享网

3、 查看dashboard服务

 

4、 创建dashoard管理员

讯享网

#部署

 

5、 为管理员分配权限

讯享网

#部署

 

6、 查看管理员Token

讯享网

7、 打开浏览器,输入:http://192.168.30.115:30000

#选择Token,输入前面查到的Token

 

 到此高可用的k8s服务已经部署完成,测试了一下把k8s-master01关掉,服务一直可用,只有dashboard页面会闪断。

#如果运行一段时间,我们想再加一个新node,方法是:

1、先在主节点上执行

 

2、然后在要新加的node节点执行

讯享网

小讯
上一篇 2025-04-23 14:56
下一篇 2025-05-10 17:28

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/203958.html