1. 1. 配置互信
  2. 2. 关闭防火墙
  3. 3. 关闭SELinux
  4. 4. 关闭Swap
  5. 5. 内核参数修改
  6. 6. 安装 kubelet、kubectl、kubeadm
  7. 7. 安装docker
  8. 8. 修改docker配置
  9. 9. 初始化集群

配置互信

所有机器执行

1
2
3
4
# 所有机器都执行,生成密钥对 一路回车
ssh-keygen
# 所有机器都执行,输入 yes 密码 IP替换成要互信的机器IP
ssh-copy-id ip

关闭防火墙

所有机器都执行

1
systemctl stop firewalld; systemctl disable firewalld

关闭SELinux

所有机器都执行

1
setenforce 0

关闭Swap

所有机器都执行

1
2
3
4
5
6
7
8
# 关闭
swapoff -a
# 检查是否关闭
free
# 关了的话,Swap 是0
total used free shared buff/cache available
Mem: 3880200 256216 2159544 520 1464440 3361912
Swap: 0 0 0
image-20211124194524583

内核参数修改

所有机器都执行

image-20211124194718999
1
2
3
4
5
6
7
8
9
10
11
12
# 开启
modprobe br_netfilter
# 写到开机启动脚本
echo "modprobe br_netfilter" >> /etc/profile
# 写配置文件
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
> EOF
# 加载配置文件
sysctl -p /etc/sysctl.d/k8s.conf

这个操作相当于

1
2
3
touch /etc/sysctl.d/k8s.conf
vim /etc/sysctl.d/k8s.conf
# 然后写入内容

安装 kubelet、kubectl、kubeadm

所有机器都执行

1
2
3
4
5
6
7
8
9
10
11
12
13
# 添加源
tee /etc/yum.repos.d/kubernetes.repo << EOF
> [kubernetes]
> name=Kubernetes
> baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
> enabled=1
> gpgcheck=0
> EOF
# 安装
yum install -y kubelet-1.20.4 kubectl-1.20.4 kubeadm-1.20.4
# 启动
systemctl enable kubelet && systemctl start kubelet

安装docker

所有机器都执行

1
2
3
# 安装 docker 之前 先安装这个
yum install -y yum-utils device-mapper-persistent-data lvm2
# 正常安装docker

修改docker配置

所有机器都执行

/etc/docker/daemon.json

1
2
3
4
5
6
7
8
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com" # 镜像加速地址
],
"exec-opts": [
"native.cgroupdriver=systemd" # 文件驱动
]
}
1
2
3
# 
systemctl daemon-reload
systemctl restart docker

初始化集群

1
2
3
4
kubeadm init --kubernetes-version=1.20.4 \
--apiserver-advertise-address=150.158.22.49 \
--image-repository registry.cn-hangzhou.aliyuncs.com/google_containers \
--service-cidr=10.10.0.0/16 --pod-network-cidr=10.122.0.0/16