主机规划

本次搭建的是「一主两从」类型的集群,搭建采用Linux国产发行版AnolisOS(Centos国产替代版),当然用其他的Linux发行版也是可以的~

由于Kubernetes某些特性可能依赖于新的内核功能并具有特定的内核要求,最好使用内核版本较高的Linux发行版,至少都得在4.4+的内核版本,否则可能会出现意想不到的BUG哦

作用 IP地址 操作系统 配置
master01 192.168.66.11 AnolisOS-8.9-minimal 4HCPU 4G内存 40G硬盘
node01 192.168.66.12 AnolisOS-8.9-minimal 4HCPU 4G内存 40G硬盘
node02 192.168.66.13 AnolisOS-8.9-minimal 4HCPU 4G内存 40G硬盘
harbor(暂定) 192.168.66.14 AnolisOS-8.9-minimal 4HCPU 4G内存 40G硬盘
ikuai软路由 192.168.66.222 iKuai8_3.7.14 1HCPU 1G内存 1G硬盘

环境初始化

以下初始化操作,所有master节点以及node节点都需要执行

检测操作系统与内核版本

1
2
3
4
[root@localhost ~]# cat /etc/anolis-release 
Anolis OS release 8.9
[root@localhost ~]# uname -r
5.10.134-17.2.an8.x86_64

设置系统主机名及主机名解析

为了方便后面集群节点间的直接调用,在这里设置一下主机名解析,企业中推荐使用内部DNS服务器

1
2
3
4
5
6
7
8
# 分别给三台服务器设置主机名
hostnamectl set-hostname 主机名

# 主机名解析,编辑三台服务器的 /etc/hosts文件,添加下面内容
192.168.66.11 k8s-master01 m1
192.168.66.12 k8s-node01 n1
192.168.66.13 k8s-node02 n2
192.168.66.14 harbor harbor.mewsays.local

设置防火墙为Iptables

1
2
3
4
5
6
7
8
9
10
11
12
# 安装iptables
yum -y install iptables-services

# 设置防火墙为iptables并清空规则
systemctl stop firewalld
systemctl disable firewalld

systemctl enable iptables
systemctl start iptables

iptables -F
service iptables save

关闭SELINUX

1
2
3
4
5
# 临时关闭
setenforce 0

# 永久关闭(重启后生效)
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

禁用swap分区

1
2
3
4
5
6
## 如果开启了swap分区才需要执行
# 临时关闭
swapoff -a

# 永久关闭(重启后生效)
将 /etc/fstab 文件中的 swap分区挂载 注释即可

安装 ipvs

1
2
# 安装ipvs
yum install -y ipvsadm

开启路由转发

1
2
3
# 开启路由转发
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
sysctl -p

加载 bridge

1
2
3
4
5
6
7
8
9
# 加载 bridge
yum install -y epel-release
yum install -y bridge-utils

modprobe br_netfilter
echo 'br_netfilter' >> /etc/modules-load.d/bridge.conf
echo 'net.bridge.bridge-nf-call-iptables=1' >> /etc/sysctl.conf
echo 'net.bridge.bridge-nf-call-ip6tables=1' >> /etc/sysctl.conf
sysctl -p

设置时区

1
2
# 设置时区为Asia/Shanghai
timedatectl set-timezone Asia/Shanghai