2024 年云原生运维实战文档 99 篇原创计划 第 021 篇 |KubeSphere 最佳实战「2024」系列 第 002 篇
你好,欢迎来到运维有术。
今天分享的内容是 KubeSphere 最佳实战「2024」 系列文档中的 Kubernetes 集群节点 openEuler 22.03 LTS SP3 系统初始化指南。
KubeSphere 最佳实战「2024」 系列文档实战环境选择的操作系统为 openEuler 22.03 LTS SP3。本文将详细介绍 openEuler 22.03 LTS SP3 系统安装完成后的初始化配置。
实战服务器配置(架构1:1复刻小规模生产环境,配置略有不同)
主机名 | IP | CPU | 内存 | 系统盘 | 数据盘 | 用途 |
---|---|---|---|---|---|---|
ksp-control-1 | 192.168.9.111 | 8 | 16 | 40 | 100 | KubeSphere/k8s-control-plane |
ksp-control-2 | 192.168.9.112 | 8 | 16 | 40 | 100 | KubeSphere/k8s-control-plane |
ksp-control-3 | 192.168.9.113 | 8 | 16 | 40 | 100 | KubeSphere/k8s-control-plane |
合计 | 3 | 24 | 48 | 120 | 300 |
实战环境涉及软件版本信息
在 openEuler 官网下载 openEuler 22.03 LTS SP3 安装镜像。并采用最小化的方式,安装 openEuler。
https://mirror.sjtu.edu.cn/openeuler/openEuler-22.03-LTS-SP3/ISO/x86_64/openEuler-22.03-LTS-SP3-x86_64-dvd.iso
可参考的标准配置如下:
DEVICE=eth0
TYPE=Ethernet
BOOTPROTO=none
IPADDR=192.168.9.x
NETMASK=255.255.255.0
GATEWAY=192.168.9.254
ONBOOT=yes
hostnamectl hostname ksp-control-1
DNS 我一般使用 114.114.114.114
,请根据实际情况配置。
echo "nameserver 114.114.114.114" > /etc/resolv.conf
timedatectl set-timezone Asia/Shanghai
yum install chrony
/etc/chrony.conf
,修改 ntp 服务器配置vi /etc/chrony.conf
# 删除所有的 pool 配置
pool pool.ntp.org iburst
# 增加国内的 ntp 服务器,或是指定其他常用的时间服务器
pool cn.pool.ntp.org iburst
# 上面的手工操作,也可以使用 sed 自动替换
sed -i 's/^pool pool.*/pool cn.pool.ntp.org iburst/g' /etc/chrony.conf
systemctl enable chronyd --now
# 执行查看命令
chronyc sourcestats -v
正确执行后,输出结果如下 :
$ chronyc sourcestats -v
.- Number of sample points in measurement set.
/ .- Number of residual runs with same sign.
| / .- Length of measurement set (time).
| | / .- Est. clock freq error (ppm).
| | | / .- Est. error in freq.
| | | | / .- Est. offset.
| | | | | | On the -.
| | | | | | samples. \
| | | | | | |
Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev
==============================================================================
111.230.189.174 18 11 977 -0.693 6.795 -1201us 2207us
electrode.felixc.at 18 10 917 +2.884 8.258 -31ms 2532us
tick.ntp.infomaniak.ch 14 7 720 +2.538 23.906 +6176us 4711us
time.cloudflare.com 18 7 913 +0.633 9.026 -2543us 3142us
systemctl stop firewalld && systemctl disable firewalld
openEuler 22.03 SP3 最小化安装的系统默认启用了 SELinux,为了减少麻烦,我们禁用节点的 SELinux。
# 使用 sed 修改配置文件,实现彻底的禁用
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
# 使用命令,实现临时禁用,这一步其实不做也行,KubeKey 会自动配置
setenforce 0
# 安装 tar 包,不装的话后面会报错。openEuler 也是个奇葩,迭代这么多版本了,默认居然还不安装 tar
yum install tar
在所有 Kubernetes 集群节点,执行下面的命令,安装 Kubernetes 需要的系统依赖包。
# 安装 Kubernetes 系统依赖包
yum install curl socat conntrack ebtables ipset ipvsadm
每台服务器新增一块数据盘 /dev/sdb,用于 Containerd 和 Kubernetes Pod 的持久化存储。
为了满足用户在上线后数据盘容量不足时,可以实现动态扩容的需求。本文采用了 LVM 的方式配置磁盘(实际上,本人维护的生产环境,几乎不用 LVM)。
pvcreate /dev/sdb
vgcreate data /dev/sdb
# 使用所有空间,VG 名字为 data,LV 名字为 lvdata
lvcreate -l 100%VG data -n lvdata
mkfs.xfs /dev/mapper/data-lvdata
mkdir /data
mount /dev/mapper/data-lvdata /data/
tail -1 /etc/mtab >> /etc/fstab
mkdir -p /data/openebs/local
mkdir -p /data/containerd
ln -s /data/containerd /var/lib/containerd
说明: KubeKey 到 v3.1.1 版为止,一直不支持在部署的时候更改 Containerd 的数据目录,只能用这种目录软链接的方式,变相增加存储空间(也可以提前手工安装 Containerd)。
文章中所有操作步骤,已全部编排为自动化脚本,因篇幅限制,不在此文档中展示。
知识星球 运维有术 会员请到专属代码仓库下载(价值内容,仅星球会员专享)。
以上,就是我今天分享的全部内容。下一期分享的内容还没想好,敬请期待开盲盒。
如果你喜欢本文,请分享、收藏、点赞、评论! 请持续关注 @运维有术,及时收看更多好文!
免责声明:
Get 本文实战视频(请注意,文档视频异步发行,请先关注)
欢迎加入 「知识星球|运维有术」 ,获取更多的 KubeSphere、Kubernetes、云原生运维、自动化运维、AI 大模型等实战技能。未来运维生涯始终有我坐在你的副驾。
版权声明
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。