一、基本信息和服务器准备

一、基本信息和服务器准备 #

这节记录了服务器准备阶段要做的事情。

基本信息 #

需要的准备内容:

  • 3 台 Linux 服务器,我们这里使用了 Rocky Linux 8
  • 3 个同网段的 IP,挂在这 3 台服务器上

计划表如下:

角色IP要在上面安装的组件
master192.168.56.10
  • etcd
  • kube-apiserver
  • kube-controller-manager
  • kube-scheduler
node01192.168.56.11
  • containerd
  • runc
  • kubelet
node02192.168.56.12
  • containerd
  • runc
  • kubelet

服务器准备 #

  1. 设置这 3 台服务器的 hostname
hostnamectl set-hostname master
hostnamectl set-hostname node01
hostnamectl set-hostname node02

把这三个 hostname 都写在 /etc/hosts 里面

# /etc/hosts

192.168.56.10 master
192.168.56.11 node01
192.168.56.12 node02

设置好时间和时区(根据自己的实际情况进行设置)

timedatectl set-timezone <你的时区>
timedatectl set-timezone <你的时区>
timedatectl set-timezone <你的时区>

在 3 台服务器上安装一些基础工具

# master 节点要用到 openssl 
dnf install -y wget vim openssl
# node 节点要用到一些命令行工具
dnf install -y wget vim socat conntrack ipset
# node 节点要用到一些命令行工具
dnf install -y wget vim socat conntrack ipset

关闭 swap 和 selinux

# 三台都要操作,

vim /etc/fstab
vim /etc/selinux/config

允许 ip_forward(这样的话 Node 节点才知道要把数据包转发给 Pod)

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p

创建 K8s 各个组件的配置文件夹,我们后面还要创建其他文件夹

mkdir /etc/kubernetes       # 这里放配置
mkdir /etc/kubernetes/pki   # 这里放证书
mkdir /etc/kubernetes       # 这里放配置
mkdir /etc/kubernetes/pki   # 这里放证书
mkdir /etc/kubernetes       # 这里放配置
mkdir /etc/kubernetes/pki   # 这里放证书

有关网络的特别说明 #

执行 ip addr

  • 如果你的机器上只显示 loeth0,那么在本次配置中,你的主网卡就是 eth0

  • 如果你有不止这两张网卡,很可能你使用了自己电脑的虚拟机:

    • 如果你使用了 VirtualBox,可能会有一个 NAT 网络和一个 Host-only 网络:NAT 网络用于联网下载资源,Host-only 网络用于虚拟机之间的互联。在这种情况下,主网卡是 Host-only 的那个网卡,K8s 各 Node 之间的通信会通过这张网卡进行。

建议在每台服务器上相互 ping 一下,确保节点间可以互通。

接下来准备 K8s 的证书

comments powered by Disqus