当前位置:首页 > 系统教程 > 正文

从零搭建K8s集群:虚拟机环境配置全指南

从零搭建K8s集群:虚拟机环境配置全指南

在学习云原生技术的过程中,Kubernetes搭建是每个运维和开发人员的必经之路。一个稳定、高效的 K8s 集群,其核心在于底层的虚拟机环境配置。如果环境初始化不彻底,后续安装 kubeadm、kubelet 时会出现各种莫名其妙的网络或权限报错。

SEO关键词预检:Kubernetes搭建、K8s虚拟机配置、Linux服务器优化、集群防火墙设置

一、 主机名与静态IP配置(网络基础)

在多节点的 K8s虚拟机配置 中,每个节点必须有唯一的 hostname,并且 IP 地址不能动态变化。

  • 使用命令设置主机名:hostnamectl set-hostname master-01
  • 配置 /etc/hosts 文件,将集群内所有节点的 IP 和主机名映射关系写入,确保内部 DNS 解析正常。
从零搭建K8s集群:虚拟机环境配置全指南 Kubernetes搭建  K8s虚拟机配置 Linux服务器优化 集群防火墙设置 第1张

二、 彻底关闭防火墙与 SELinux(权限优化)

为了避免容器间通信被拦截,集群防火墙设置 建议在实验环境下直接关闭 Firewalld:

# 关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
# 临时关闭SELinux
setenforce 0

注意:SELinux 必须永久关闭。修改 /etc/selinux/config 文件,将 SELINUX=enforcing 改为 SELINUX=disabled。这是进行 Linux服务器优化 的标准操作。

三、 禁用 Swap 分区(K8s 强制要求)

Kubernetes 为了保证内存调度性能,默认不允许开启 Swap。如果 Swap 不关闭,Kubelet 将无法启动。

swapoff -a  # 临时关闭
sed -ri 's/.*swap.*/#&/' /etc/fstab # 永久关闭

四、 内核参数与时间同步

在执行 Kubernetes搭建 前,还需要开启内核的桥接网络支持。创建 /etc/sysctl.d/k8s.conf 并添加以下内容:

net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1

最后,确保所有节点的时间保持同步(建议安装 ntpdate 或 chrony),否则集群证书校验会因时间差失效。

总结

通过以上四个维度的 K8s虚拟机配置,你已经打通了集群搭建最艰难的“地基”环节。规范的 Linux服务器优化 不仅能提高部署成功率,更能减少日后运行中的网络异常。接下来,你就可以安心地执行 kubeadm init 命令了!