从零搭建k8s集群-基础环境配置

1.服务器配置要求

  1. 一台或者多台服务器,操作系统Centos7;
  2. 硬盘配置:内存4G,CPU4核,硬盘100G;
  3. 集群中所有机器之间网络互通;
  4. 可以访问外网,因为需要拉取镜像;
  5. 关闭swap分区;

2. 搭建k8s集群部署方式

目前生产环节部署k8s集群主要有两种方式:

  1. kubeadm:kubeadm是一个k8s部署工具,提供kubeadmin init和kubeadm join,用于快速部署k8s集群;官网地址:Kubeadm | Kubernetes
  2. 二进制包:从GitHub下载发行部的二进制包,手动部署每个组件,组成k8s集群;

说明:Kubeadm降低部署门槛,但是屏蔽了很多细节,问题很难排查。如果想要更可控,推荐使用二级制包部署k8s集群,虽然手动部署麻烦点,期间可以学习很多工作原理,也有利于后期维护。

3. 搭建k8s集群准备环境

3.1 准备环境

* 服务器1:192.168.23.12 k8s-master
* 服务器2:192.168.23.9   k8s-node1
* 服务器3:192.168.23.10    k8s-node2

3.2 防火墙管理

systemctl stop firewalld #关闭防火墙
systemctl disable firewalld #禁止防火墙开机自启
sed -i 's/enforcing/disabled/' /etc/selinux/config #永久关闭selinux
setenforce 0 #临时关闭selinux 

3.3 关闭swap

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

3.4 设置主机名以及修改host

hostnamectl set-hostname k8s-master #192.168.23.12机器上设置主机名
hostnamectl set-hostname k8s-node1 #192.168.23.9设置
hostnamectl set-hostname k8s-node2 #192.168.23.10设置
cat >> /etc/hosts << EOF
192.168.23.12 k8s-master
192.168.23.9 k8s-node1
192.168.23.10 k8s-node2
EOF

3.5 将桥接的ipv4流量传递到iptables的链

在每个节点添加如下命令:
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
vm.swappiness = 0
EOF

modprobe br_netfilter #加载br_netfilter模块
lsmod | grep br_netfilter #查看是否加载
sysctl --system  #生效

3.6 ntp时间同步

在每个节点添加时间同步:
yum install ntpdate -y
ntpdate time.windows.com

3.7 开启ipvs

yum -y install ipset ipvsadmin #在每个节点安装ipset和ipvsadmin
若提示:No package ipvsadmin available,在http://www.rpmfind.net/linux/rpm2html/search.php?query=ipvsadm(x86-64)下载ipvsadm-1.27-8.el7.x86_64.rpm后上传安装。
rpm -ivh ipvsadm-1.27-8.el7.x86_64.rpm  #ipvsdm安装
yum -y install lrzsz  #安装rz,sz命令
#在所有节点执行如下脚本:
cat > /etc/sysconfig/modules/ipvs.modules <<EOF
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF

#授权、运行、检查是否加载:
chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4

单独检查是否加载的命令:
lsmod | grep -e ip_vs -e nf_conntrack_ipv4
从零搭建k8s集群-基础环境配置

原创文章,作者:jacky,如若转载,请注明出处:https://kubiyun.com/archives/365

(0)
上一篇 2026-01-23 10:36
下一篇 2026-01-27 09:38

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

评论列表(1条)