集群环境准备
先准备三台虚拟主机(一主二从),虚拟机配置为(master节点2CPU3G内存20G硬盘,node节点1CPU2G内存20G硬盘),虚拟机安装软件为VirtualBox7.0
1.环境初始化
主机名解析,为了方便后续三台虚拟机可以直接通过主机名访问,企业中推荐使用内部DNS服务器
编辑三台虚拟机的/etc/hosts文件
vi /etc/hosts
时间同步
kubernetes要求集群中的节点必须精确一致,这里所以chronyd服务从网络同步时间
企业中建议配置内部的时间同步服务器
# 启动chronyd服务
systemctl start chronyd
# 设置chronyd服务开机自启
systemctl enable chronyd
# chronyd服务启动几秒钟后使用date命令验证时间
date
禁用firewalld服务
kuberbetes和docker在运行中会产生大量的iptables规则,为了不让系统规则和它们混淆,直接关闭系统的规则
# 关闭firewalld服务
systemctl stop firewalld
# 禁止firewalld服务开机自启
systemctl disable firewalld
禁用selinux服务
selinux是Liunx系统下的一个安全服务,如果不关闭它,在安装集群中会出现各种问题
# 执行命令
setenforce 0
# 执行命令
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
禁用swap分区
kubernetes要求每个节点都需要禁用swap分区,不然会对集群造成极大的性能影响
编辑/etc/fstab文件,注释掉swap分区一行
vi /etc/fstab
我这里安装虚拟机的时候选的手动分区,我没有使用swap分区,所以可以省略这一步文章来源:https://www.toymoban.com/news/detail-424131.html
转发 IPv4 并让 iptables 看到桥接流量
为了让 Linux 节点的 iptables 能够正确查看桥接流量,请确认 sysctl 配置中的 net.bridge.bridge-nf-call-iptables 设置为 1。例如:文章来源地址https://www.toymoban.com/news/detail-424131.html
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF
sudo modprobe overlay
sudo modprobe br_netfilter
# 设置所需的 sysctl 参数,参数在重新启动后保持不变
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF
# 应用 sysctl 参数而不重新启动
到了这里,关于Kubernetes1.26集群环境搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!