如何使用银河麒麟v11 kubeadm部署k8s v1.35.0实现高可用集群?
摘要:银河麒麟v11 kubeadm部署k8s v1.35.0高可用集群 系统环境 # nkvers ############## Kylin Linux Version ################# Release: Kylin Linu
银河麒麟v11 kubeadm部署k8s v1.35.0高可用集群
系统环境
# nkvers
############## Kylin Linux Version #################
Release:
Kylin Linux Advanced Server release V11 (Swan25)
Kernel:
6.6.0-32.7.v2505.ky11.x86_64
Build:
Kylin Linux Advanced Server
release V11 2503/(Swan25)-x86_64-Build20/20250715
#################################################
主机名
ip地址
配置
服务
demo-master-01
192.168.122.171
2c4g
k8s master、etcd、keepalived、haproxy、containerd
demo-master-02
192.168.122.172
2c4g
k8s master、etcd、keepalived、haproxy、containerd
demo-worker-01
192.168.122.173
2c4g
k8s worker、etcd
服务版本介绍
服务名称
版本
kubernetes
1.35.0
containerd
2.2.1
etcd
3.6.7
cni-plugins
1.3.0
runc
1.4.0
keepalived
2.3.4
haproxy
3.2.10
cilium
1.18.6
前言
此文档主要用于演示使用二进制kubeadm部署Kubernetes高可用集群。
此文档仅进行流程演示,后续用户可以使用ansible或编写Shell、Go脚本进行自动化配置,提高部署效率。
v1.35.0版本较之前版本还是有些差异和特性的,再加上新发布的国产服务器操作系统银河麒麟v11,相信看完会有新的收获!
环境准备
此步骤主要将一些部署k8s前的前置条件配置好,每个主机都要进行操作。
配置主机名,配置hosts解析
# 主机名
hostnamectl set-hostname demo-master-01
hostnamectl set-hostname demo-master-02
hostnamectl set-hostname demo-worker-01
# /etc/hosts
192.168.122.171 demo-master-01
192.168.122.172 demo-master-02
192.168.122.173 demo-worker-01
关闭防火墙,SElinux,swap分区
# 防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
# SElinux,默认就是关闭状态,若是开启状态可执行以下命令
setenforce 0
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
# swap分区
swapoff -a
sed -ri 's/.*swap.*/#&/' /etc/fstab
配置时钟同步
# 配置时区
timedatectl set-timezone Asia/Shanghai
# 配置ntp服务器
vim /etc/chrony.conf
...
server ntp1.aliyun.com iburst
...
# 启动服务,并开启自启
systemctl enable --now chronyd.service
# 检查同步服务、同步状态
systemctl status chronyd.service
timedatectl
chronyc sources -v
内核配置
由于银河麒麟V11自带内核已为6.6版本,故不需再进行大版本的升级,仅需进行某些内核参数配置即可。
因为CNI插件准备采用cilium,直接替代kube-proxy,故不需加载ipvs模块,但由于k8s节点与keepalived服务在同一节点,故需加载ipvs模块。
另外银河麒麟的sysctl内核参数加载顺序,可参考前文:银河麒麟v10 sysctl内核参数加载顺序思考。
