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 | HomePage

# 导入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 国际」许可协议进行许可。

posted @   adai_kfl  阅读(66)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示