如下图所示:
主机名 | K8S版本 | 系统版本 | 内核版本 | IP地址 | 备注 |
---|---|---|---|---|---|
etcd01 | 1.24.12 | Ubuntu 20.04.5 LTS | 5.15.0-69-generic | 192.168.1.62 | etcd节点 |
etcd02 | 1.24.12 | Ubuntu 20.04.5 LTS | 5.15.0-69-generic | 192.168.1.63 | etcd节点 |
etcd03 | 1.24.12 | Ubuntu 20.04.5 LTS | 5.15.0-69-generic | 192.168.1.64 | etcd节点 |
k8s-master-65 | 1.24.12 | Ubuntu 20.04.5 LTS | 5.15.0-69-generic | 192.168.1.64 | master节点 |
k8s-worker-66 | 1.24.12 | Ubuntu 20.04.5 LTS | 5.15.0-69-generic | 192.168.1.64 | worker节点 |
说明:分别在对应的节点IP上设置主机名。
root@lolaage-virtual-machine:~# hostnamectl set-hostname etcd01
root@lolaage-virtual-machine:~# hostnamectl set-hostname etcd02
root@lolaage-virtual-machine:~# hostnamectl set-hostname etcd03
root@lolaage-virtual-machine:~# hostnamectl set-hostname k8s-master-65
root@lolaage-virtual-machine:~# hostnamectl set-hostname k8s-worker-66
说明:以下操作无论是master节点和worker节点均需要执行。
vim /etc/hosts
192.168.1.62 etcd01
192.168.1.63 etcd02
192.168.1.64 etcd03
192.168.1.65 k8s-master-65
192.168.1.66 k8s-worker-66
说明:以下操作无论是master节点和worker节点均需要执行。
ufw status
ufw disable
说明:以下操作无论是master节点和worker节点均需要执行。
apt install selinux-utils
apt install policycoreutils
sed -i 's#SELINUX=permissive#SELINUX=disabled#g' /etc/selinux/config
sestatus -v
说明:如果selinux默认关闭则无需修改。
说明:以下操作无论是master节点和worker节点均需要执行。
swapoff -a
sed -i 's/^\/swapfile\(.*\)$/#\/swapfile \1/g' /etc/fstab
说明:以下操作无论是master节点和worker节点均需要执行。
1、设置时区为Asia/Shanghai,如果已经是则请忽略
root@k8s-master-65:~# timedatectl
Local time: 五 2023-03-31 14:11:36 CST
Universal time: 五 2023-03-31 06:11:36 UTC
RTC time: 五 2023-03-31 06:11:36
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
2、使用chrony同步时间
root@k8s-master-65:~# apt install chrony -y
root@k8s-master-65:~# vim /etc/chrony/chrony.conf
server ntp.aliyun.com minpoll 4 maxpoll 10 iburst
server ntp1.aliyun.com minpoll 4 maxpoll 10 iburst
#pool ntp.ubuntu.com iburst maxsources 4
#pool 0.ubuntu.pool.ntp.org iburst maxsources 1
#pool 1.ubuntu.pool.ntp.org iburst maxsources 1
#pool 2.ubuntu.pool.ntp.org iburst maxsources 2
root@k8s-master-65:~# systemctl enable chronyd.service
root@k8s-master-65:~# systemctl restart chronyd.service
root@k8s-master-65:~# systemctl status chronyd.service
阿里云NTP服务器地址列表,状态检测如下所示:
然后就是chrony客户端上的一些常用命令:
#查看可用的时间同步源
chronyc sources -v
#查看时间同步源的状态
chronyc sourcestats -v
#对客户端系统时间进行强制同步
chronyc -a makestep
说明:以下操作无论是master节点和worker节点均需要执行。
说明:有一些ipv4的流量不能走iptables链,因为linux内核的一个过滤器,每个流量都会经过他,然后再匹配是否可进入当前应用进程去处理,所以会导致流量丢失。配置k8s.conf文件,如下所示:
root@k8s-master-65:~# cat <
overlay
br_netfilter
EOF
root@k8s-master-65:~# modprobe overlay
root@k8s-master-65:~# modprobe br_netfilter
# 设置所需的sysctl参数,参数在重新启动后保持不变
root@k8s-master-65:~# cat <
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF
# 应用sysctl参数而不重新启动
root@k8s-master-65:~# sysctl --system
说明:以下操作无论是master节点和worker节点均需要执行。
说明:ube-proxy开启ipvs的前提需要加载以下的内核模块
ip_vs
ip_vs_rr
ip_vs_wrr
ip_vs_sh
nf_conntrack_ipv4
注意:如果出现modprobe: FATAL: Module nf_conntrack_ipv4 not found in directory /lib/modules/5.15.0-69-generic错误,这是因为使用了高内核,当前内核版本为5.15.0-69-generic,在高版本内核已经把nf_conntrack_ipv4替换为nf_conntrack了。
# 1、安装ipvs
root@k8s-master-65:~# apt -y install ipvsadm ipset sysstat conntrack
# 2、加载内核模块脚本
root@k8s-master-65:~# cat > /etc/profile.d/ipvs.modules <
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack
EOF
chmod 755 /etc/profile.d/ipvs.modules
#3、执行加载模块脚本
bash<