1.k8s集群安装 -- 主机的准备
安装注意事项
- 最好选择2个CPU,否则可能会报一个致命的错误,而且看不到错误的具体信息
修改固定IP
- 编辑文件
sudo vim /etc/netplan/00-installer-config.yaml
- 把 DHCP4 改为false,内容如下,IP根本自身设置对
network:
ethernets:
enp0s3:
dhcp4: no
addresses: [172.16.1.100/24]
gateway4: 172.16.1.1
nameservers:
addresses: [172.16.1.1]
version: 2
关闭swap
- 使用 swapon 命令
swapon 命令可以显示当前启用的 swap 设备。运行以下命令:
sudo swapon --show
如果没有输出,说明 swap 已关闭。
- 检查 /proc/swaps 文件
/proc/swaps 文件包含当前启用的 swap 设备的信息。运行以下命令:
cat /proc/swaps
如果输出为空,说明 swap 已关闭。
- 使用 free 命令
free 命令可以显示系统的内存和 swap 使用情况。运行以下命令:
free -h
输出中 Swap 行的 total 值为 0 表示 swap 已关闭
关闭 swap
- 临时关闭 swap:
sudo swapoff -a
- 永久关闭 swap:
编辑 /etc/fstab 文件,注释掉(在行首添加 #)包含 swap 分区的行。例如:
# /swapfile none swap sw 0 0
保存并关闭文件,然后重新启动系统:
sudo reboot
修改主机名
- 临时修改主机名
临时修改主机名只在当前会话中有效,重启后会恢复原来的主机名。
使用 hostnamectl 命令:
sudo hostnamectl set-hostname 新主机名
例如:
sudo hostnamectl set-hostname my-new-hostname
- 永久修改主机名
要永久修改主机名,需要修改系统配置文件。以下是具体步骤:
修改 /etc/hostname 文件
打开 /etc/hostname 文件:
sudo vim /etc/hostname
将文件中的内容替换为新的主机名,然后保存并关闭文件。
修改 /etc/hosts 文件
打开 /etc/hosts 文件:
sudo vim /etc/hosts
找到 127.0.1.1 行,并将其后的主机名替换为新的主机名。例如:
127.0.0.1 localhost
127.0.1.1 my-new-hostname
- 配置主机名解析
sudo vim /etc/hosts
添加记录
172.16.2.100 k8s-master
172.16.2.101 k8s-node1
172.16.2.102 k8s-node2
应用更改
保存并关闭文件后,重新启动系统以应用更改:
sudo reboot
验证更改
重启后,使用以下命令验证主机名是否修改成功
生成新的 Machine ID
如果您发现多个系统具有相同的 Machine ID,可以通过以下步骤生成新的 Machine ID:
删除现有的 Machine ID 文件:
sudo rm /etc/machine-id
重新生成 Machine ID:
sudo systemd-machine-id-setup
设置root的密码
sudo passwd root
使用root用户
su root
设置系统时区,同步时间
- 设置时区
timedatectl set-timezone Asia/Shanghai
- 安装ntpdate 自己动同步
apt install ntpdate
- 配置ntp.aliyun.com时钟
ntpdate ntp.aliyun.com
- 配置自动同步
crontab -e
修选【2】
按格式配置什么时候执行什么命令
例如:每天0时0分执行ntpdate ntp.aliyun.com
0 0 * * * ntpdate ntp.aliyun.com
配置内核转发与网桥过滤
- 创建加载模块文件
cat << EOF | tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF
手动本次加载
modprobe overlay
modprobe br_netfilter
查看是否已加载的模块
lsmod | egrep "overlay"
lsmod | egrep "br_netfilter"
- 添加网桥过滤级内核转发配置文件
cat << EOF | tee /etc/sysctl/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
安装ipset 与 ipvsadm
apt install ipset ipvsadm
配置ipvsadm模块加载
cat << EOF | tee /etc/modules-load.d/ipvs.conf
ip_vs
ip_vs_rr
ip_vs_wrr
ip_vs_sh
nf_conntrack
EOF
创建加载脚本
cat << EOF | tee ipvs.sh
#!/bin/sh
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack
EOF
执行脚本文件,加载模块
sh ipvs.sh
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!