kubernetes1.24环境搭建实验——系统初始化
系统初始化
1、操作系统配置说明
role | hostname | ip | CPU/MEMORY | STAORAGE | 操作系统 |
---|---|---|---|---|---|
master | master | 11.0.1.11 | 2C4U | 40G | CentOS7u9 |
worker | node1 | 11.0.1.12 | 2C4U | 40G | CentOS7u9 |
worker | node2 | 11.0.1.13 | 2C4U | 40G | CentOS7u9 |
2、主机名配置
# master节点
hostnamectl set-hostname master
# node1节点
hostnamectl set-hostname node1
# node2节点
hostnamectl set-hostname node2
3、配置主机名和IP地址解析
cat >> /etc/hosts << EOF
11.0.1.11 master
11.0.1.12 node1
11.0.1.13 node2
EOF
4、所有主机关闭防火墙
systemctl disable firewalld --now
# 检查
[root@master ~]# firewall-cmd --state
not running
5、所有主机关闭selinux
sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
# 临时关闭
setenforce 0
# 检查
sestatus
6、时间同步
yum -y install ntpdate
# 计划任务,每小时同步一次
crontab -e
0 */1 * * * /usr/sbin/ntpdate time1.aliyun.com
7、更新内核
参考地址:
# 导入elrepo gpg key
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# 安装elrepo yum 源仓库
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
#查看可用的系统内核包
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
# 选择的是长期维护版本kernel-lt安装 如需更新最新稳定版选择kernel-ml
yum --enablerepo=elrepo-kernel install -y kernel-lt
# 查看可用内核版本及启动顺序
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/grub2/grub.cfg
# 设置内核默认启动顺序
grub2-set-default 0
# 重新生grub2 引导文件
grub2-mkconfig -o /boot/grub2/grub.cfg
# 重启
reboot
yum remove -y kernel-devel-3.10.0 kernel-3.10.0 kernel-headers-3.10.0
# 查看已安装内核
rpm -qa | grep kernel
# 删除旧版本工具包--可选
yum remove kernel-tools-libs.x86_64 kernel-tools.x86_64
# 安装新版本工具包
yum --disablerepo=\* --enablerepo=elrepo-kernel install -y kernel-lt-tools.x86_64
8、所有主机配置内核转发及网桥过滤
网桥过滤主要用于筛选与kubernetes相关的流量
cat >> /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
# 改/etc/fstab 文件,禁用swap
sed -i '/swap/s/^\(.*\)$/#\1/g' /etc/fstab
增加网桥过滤模块,即加载br_netfilter 模块
modprobe br_netfilter
# 检查是否添加成功
lsmod | grep br_netfilter
加载网桥过滤和内核转发的配置文件
sysctl -p /etc/sysctl.d/k8s.conf
9、所有主机安装ipset和ipvsadm
使用ipvs代理,比iptables性能更好
yum -y install ipset ipvsadm
配置ipvsadm模块加载方式
添加需要加载的模块
cat > /etc/sysconfig/modules/ipvs.module <<EOF
#! /bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_sh
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- nf_conntrack
EOF
授权、运行、检查是否加载
chmod 755 /etc/sysconfig/modules/ipvs.module && bash /etc/sysconfig/modules/ipvs.module && lsmod | grep -e ip_vs -e nf_conntrack
10、关闭swap 分区
作者:likaifei
出处:https://www.cnblogs.com/likaifei/p/16707427.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」