基于containerd部署Kubernetes
本章资源请访问:
https://download.csdn.net/download/weixin_54373617/18838400
当Kubernetes 1.20开始准备弃用Docker,相信很多人在k8s 1.20版本出现的时候,都听说了即将弃用docker。
建议使用CentOS 7.5版本以上
当弃用docker后,可以直接使用containerd来做
案例环境
操作系统 | 主机名 | IP | 配置 |
---|---|---|---|
CentOS7.9 | k8smaster | 192.168.10.101 | 2C/4G |
CentOS7.9 | k8snode1 | 192.168.10.102 | 2C/4G |
CentOS7.9 | k8snode2 | 192.168.10.103 | 2C/4G |
基础环境
每台主机修改主机名
- 192.168.10.101主机
hostnamectl set-hostname k8smaster
su
- 192.168.10.102主机
hostnamectl set-hostname k8snode1
su
- 192.168.10.103主机
hostnamectl set-hostname k8snode2
su
所有节点操作
- 关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
- 永久关闭seLinux(需重启系统生效)
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
- 关闭swap
swapoff -a # 临时关闭
sed -i 's/.*swap.*/#&/g' /etc/fstab #永久关闭
- 添加hosts
cat >> /etc/hosts << EOF
192.168.10.101 k8smaster
192.168.10.102 k8snode1
192.168.10.103 k8snode2
EOF
- 部署启动时间同步服务器
yum install chrony -y
systemctl enable chronyd
systemctl start chronyd
chronyc sources
部署Containerd
所有节点操作
- 安装依赖及常用工具
yum install -y yum-utils device-mapper-persistent-data lvm2 wget vim yum-utils net-tools epel-release
- 添加加载的内核模块
cat << EOF | sudo tee /etc/modules-load.d/containerd.conf
overlay
br_netfilter
EOF
- 加载内核模块
modprobe overlay
modprobe br_netfilter
- 设置内核参数
cat << EOF | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF
- 应用内核参数
sysctl --system
- 添加docker源,这里使用的是国内的阿里源