本文将介绍如何搭建 1.30.1 版本的 k8s。
在开始前需要先准备以下 5 台服务器,将搭建一个高可用版本的 k8s。
节点 | IP | Hostname | OS |
---|---|---|---|
master01 | 192.168.8.148 | master01 | Centos7 |
master02 | 192.168.8.149 | master02 | Centos7 |
master03 | 192.168.8.150 | master03 | Centos7 |
worker01 | 192.168.8.151 | worker01 | Centos7 |
worker02 | 192.168.8.152 | worker02 | Centos7 |
VIP | 192.168.8.153 |
初始化节点
在安装 k8s 之前,需要对每台服务器做以下操作:
- 修改主机名称和修改 /etc/hosts 文件
- 修改内核参数
- 关闭防火墙和 selinux
- 关闭 swap
- 安装 containerd、nerdctl、kubeadm、kubelet 和 kubectl 软件
- 配置 containerd 和 nerdctl
修改 hostname
在每台服务器上面分别执行以下命令来修改 hostname :
##每条命令在对应的服务器上单独执行
hostnamectl set-hostname master01
hostnamectl set-hostname master02
hostnamectl set-hostname master03
hostnamectl set-hostname worker01
hostnamectl set-hostname worker02
验证命令如下:
cat /etc/hostname
当 5 台节点对应输出如下时,代表 hostname 设置成功:
master01
master02
master03
worker01
worker02
修改 /etc/hosts 文件可以在每台服务器上执行下命令:
##在每台服务器上执行以下全部内容
echo "192.168.8.148 master01" | sudo tee -a /etc/hosts
echo "192.168.8.149 master02" | sudo tee -a /etc/hosts
echo "192.168.8.150 master03" | sudo tee -a /etc/hosts
echo "192.168.8.151 worker01" | sudo tee -a /etc/hosts
echo "192.168.8.152 worker02" | sudo tee -a /etc/hosts
执行 cat /etc/hosts
命令输出为以下内容,代表命令执行成功:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.8.148 master01
192.168.8.149 master02
192.168.8.150 master03
192.168.8.151 worker01
192.168.8.152 worker02
关闭防火墙和 selinux
执行以下命名关闭 selinux 和 防火墙
##在每台服务器上执行以下全部内容
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
getenforce
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
验证防护墙是否关闭,可以执行 systemctl status firewalld
,结果为以下内容代表命令执行成功:
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
Jun 09 15:28:05 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
Jun 09 15:28:07 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
Jun 09 15:38:01 localhost.localdomain systemd[1]: Stopping firewalld - dynamic firewall daemon...
Jun 09 15:38:02 localhost.localdomain systemd[1]: Stopped firewalld - dynamic firewall daemon.
验证 selinux 是否关闭,执行 cat /etc/selinux/config
,看到以下内容代表命令执行成功:
# This file controls the state of SELinux on the system.