【Kubernetes k8s】Ubuntu-22.04搭建 k8s-1.30.1集群,开启Dashboard-2.7.0

[复制链接]
发表于 2026-10-4 11:55:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

从零搭 Kubernetes 集群,Ubuntu 22.04 和 CentOS 的核心操作是同一套,只是命令写法不同。本文记录 Ubuntu-22.04 上搭建 k8s 1.30.1 集群前的系统环境准备:关 swap、关 SELinux、关防火墙、统一时区、改主机名和 hosts、开启 IPv4 流量转发,每一步都说明为什么这么做,以及做完怎么验证。

整体思路与一条重要提醒

目的是把分布式计算容器化交给 k8s 调度,所以从装系统开始就要把节点彼此能通、时间能对齐、内核转发能打开这些基础打成一片。特别提醒:集群 init 之后,下一步命令最好等上一步执行完、随时用 kubectl get pods -A 看 Pod 状态再动手,只要还有一个没 Running 就别急着往下走。

1、关闭 swap

官方要求关掉 swap,也就是虚拟内存相关部分,因为 Kubernetes 读不了 swap 里的数据,开着容易引发内存相关故障。先清掉正在占用的部分暂时关闭:

swapoff -a

再改配置文件永久关闭,把 /etc/fstab 里关于 swap 的那一行注释掉即可。

2、关闭 SELinux

Ubuntu 本身没有这个东西,可以不管;CentOS 执行下面这条:把 /etc/selinux/config 里的 SELINUX=enforcing 改成 disabled,然后重启系统。SELinux 属于系统安全范畴,懂的人可以自己配策略而不必关,但那很麻烦,大多数人直接关掉。

sudo sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

3、关闭防火墙

节点之间要互相通讯,防火墙开着容易出事,先关掉:

ufw disable
# 或者
systemctl disable --now ufw

4、统一时区

这一步关系到集群机器之间的通讯,需要一个统一的时间基准,这里设为上海时区:

timedatectl set-timezone Asia/Shanghai
systemctl restart systemd-timesyncd.service
timedatectl status
# 或者
date

用 timedatectl status 或 date 看一眼时间对不对即可。

5、修改 /etc/hosts 和 /etc/hostname

这么做是为了后面填地址方便,也是 Kubernetes 识别主机名的前提。往 hosts 里追加本机 IP 和主机名:

echo "192.168.10.10 k8s-master" | sudo tee -a /etc/hosts

其他节点想加也可以一起加进去。改主机名文件同样有两种办法,用 hostnamectl 命令或者直接写文件,这里直接改文件:

echo "k8s-master" | sudo tee /etc/hostname

改完最好重开一个 SSH 终端,或者干脆重启一次,让主机名生效。

6、开启 IPv4 流量转发

这一步是让各台主机担当起网络路由的角色,后面还要装网络插件,得有一个路由器才能让 Pod 之间互相通讯。按下面把 IPv4 转发打开:

cat > /etc/sysctl.d/k8s.conf <<EOF
net.ipv4.ip_forward = 1
EOF
sysctl --system

检查清单

  • swapoff -s 或 free -h 看 swap 已经归零
  • sestatus 在 CentOS 上确认 disabled
  • ufw status 显示 inactive
  • timedatectl 确认时区为 Asia/Shanghai
  • hostname 与 /etc/hosts 里本机那条对得上
  • sysctl net.ipv4.ip_forward 返回 1

这几项都落实之后,节点就具备装容器运行时、跑 kubeadm init 的条件了。

qidao123.com企服评测-应用市场 编辑提示

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表