环境
- virtual box 6.1
- centos 7.8
- docker 19.03
- kubernetes 1.20.2
前提条件
准备了 virtual box 6.1 的三台虚拟机,每台虚拟机安装 centos 7.8 的系统。
设置主机名和解析
设置三台服务的 IP 地址
这里以 NAT+host only 网络为例,外部 IP 可以不关注,host only 网络的 IP 分别为:
- 192.168.56.101
- 192.168.56.102
- 192.168.56.103
其中 101 将作为主节点。配置 /etc/hosts,增加如下内容,三台服务器都需要操作:
192.168.56.101 master
192.168.56.102 node1
192.168.56.103 node2
设置主机名
将三台主机名分别设置为 master, node1, node2:
master:
hostnamectl set-hostname master
logout
node1:
hostnamectl set-hostname node1
logout
node2:
hostnamectl set-hostname node2
logout
退出重新登录查看登录主机名已经生效
系统设置
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
关闭 SELinux
setenforce 0
sed -i ‘s/^SELINUX=enforcing$/SELINUX=disabled/‘ /etc/selinux/config
关闭交换分区
swapoff -a
# 上面的命令是临时修改,还需要修改 /etc/fstab 关闭 swap 分区,在包含swap那一行最前面加一个“#”。
加载 br_netfilter 模块
modprobe br_netfilter
路由转发
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo sysctl --system
时间同步
yum install ntpdate -y
ntpdate ntp.aliyun.com
安装 Docker
Docker 的安装教程可以参考【Docker】Docker 安装。
查看 Docker 全部版本
yum list docker-ce.x86_64 --showduplicates | sort -r
安装指定版本
sudo yum install -y containerd.io-1.2.13 docker-ce-19.03.11 docker-ce-cli-19.03.11
配置 Docker
cat <<EOF | sudo tee /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"registry-mirrors": ["https://hub-mirror.c.163.com","https://0kzec4yw.mirror.aliyuncs.com"],
"storage-driver": "overlay2",
"storage-opts": [
"overlay2.override_kernel_check=true"
]
}
EOF
Docker 降级
Kubernetes 在 Docker 19.03 上测试通过,所以如果安装了最新的版本的话,可以选择降级。
yum downgrade docker-ce-19.03.11-3.el7 docker-ce-cli-19.03.11-3.el7 -y
启动 Docker
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl enable docker
总结
介绍了安装 Kubernetes 前的一些准备工作,包括系统设置和 Docker 的安装配置。