部署K8S 1.28版本集群部署(基于Containerd容器运行)

发布时间 2023-09-08 13:42:16作者: 属于我的梦,明明还在

1、主机配置

hostnamectl set-hostname k8s-master

echo "172.21.131.89 k8s-master" >> /etc/hosts

systemctl stop firewalld && systemctl disable  firewalld

setenforce 0 && sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

sestatus #查看selinux 状态

2、多节点进行时间同步

ntpdate
ntpdate time1.aliyun.com

3、升级内核

导elrepo gpg key,软件验证
# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
安装elrepoYUM源仓库
# yum -y install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
安装kernel-ml版本,ml为长期稳定版本,1t为长期维护版本
# yum --enablerepo="elrepo-kernel" -y install kernel-lt.x86_64
设置grub2默认引导为0,就是重启后会使用最新内核
# grub2-set-default 0
重新生成grub2引导文件
# grub2-mkconfig -o /boot/grub2/grub.cfg
更新后,需要重启,使用升级的内核生效。
#reboot
重启后检查版本
#uname -r

 4、配置内核转发以及过滤

添加网桥过滤及内核转发配置文件
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
vm.swappiness = 0
EOF
加载br_netfilter模块
# modprobe br_netfilter
# sysctl -p /etc/sysctl.d/k8s.conf 查看是否加载 # lsmod | grep br_netfilter
br_netfilter 222560 设置开机自启
vi  /etc/sysconfig/modules/br_netfilter.modules
#!/bin/bash
modprobe br_netfilter
设置权限
chmod 755 /etc/sysconfig/modules/br_netfilter.modules

5、安装ipset ipvsadm

yum -y install ipset ipvsadm

 配置ipvsadm模块加载方式
 添加需要加载的模块
# cat > /etc/sysconfig/modules/ipvs.modules <<EOF
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack
EOF
授权、运行、检查是否加载
# chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack

6、关闭swap 分区

swapoff -a && sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

7、部署containerd

7.1、containerd 准备

github 地址:https://github.com/containerd/containerd

  wget https://github.com/containerd/containerd/releases/download/v1.7.3/cri-containerd-1.7.3-linux-amd64.tar.gz
  tar xf cri-containerd-1.7.3-linux-amd64.tar.gz -c/ I

7.2、runc 准备(替换原有问题的runc)