以下操作三台设备都需完成
1.三台虚机设置时间同步和域名解析 2.禁用iptables和firewalld服务 3.禁用swap分区 4.升级操作系统内核
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum -y install https://www.elrepo.org/elrepo-release-7.0- 4.el7.elrepo.noarch.rpm
yum --enablerepo="elrepo-kernel" -y install kernel-ml.x86_64
grub2-set-default 0
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot
5.修改linux的内核参数 6.配置ipvs功能 在kubernetes中service有两种代理模型,一种是基于iptables的,一种是基于ipvs的 两者比较的话,ipvs的性能明显要高一些,但是如果要使用它,需要手动载入ipvs模块
yum install ipset ipvsadm -y
添加需要加载的模块写入脚本文件
cat <<EOF > /etc/sysconfig/modules/ipvs.modules #!/bin/bash modprobe -- ip_vs modprobe -- ip_vs_rr modprobe -- ip_vs_wrr modprobe -- ip_vs_sh modprobe -- nf_conntrack EOF
为脚本文件添加执行权限
chmod +x /etc/sysconfig/modules/ipvs.modules
执行脚本文件
/bin/bash /etc/sysconfig/modules/ipvs.modules
查看对应的模块是否加载成功
lsmod | grep -e ip_vs -e nf_conntrack_ipv4
k8s基础环境准备 安装最新版本 版本为最新的1.24.x 为了实现docker使用的cgroupdriver与kubelet使用的cgroup的一致性,建议修改如下文件内容。 设置kubelet开机自启
systemctl enable kubelet
做完基础环境,建议创建快照
使用containerd创建集群采用在线方式安装 验证 以下操作只在master上进行
初始化 Master 节点
生成配置文件
kubeadm config print init-defaults > kubeadm.yml
修改后配置文件如下: 初始化 K8S 集群
运行集群 在master上运行: 在其他两台上运行: 查看 安装配置网络插件 查看集群状态 显示Ready就表示成功