系统Ubuntu 22.04.2
| 主机名称 | IP |
| ----- | -------- |
(资料图)
| k8s-master | 192.168.198.141 |
| k8s-node01 | 192.168.198.142 |
| k8s-node02 | 192.168.198.143 |
# 禁用交换分区(在旧版的 k8s 中 kubelet 都要求关闭 swapoff ,但最新版的 kubelet 其实已经支持 swap ,因此这一步其实可以不做。)swapoff -a# 永久禁用,打开/etc/fstab注释掉swap那一行。 sudo vim /etc/fstab# 修改内核参数(首先确认你的系统已经加载了 br_netfilter 模块,默认是没有该模块的,需要你先安装 bridge-utils)apt-get install -y bridge-utilsmodprobe br_netfilterlsmod | grep br_netfilter# 如果报错找不到包,需要先更新 apt-get update -y
--安装依赖工具sudo apt-get install -y apt-transport-https ca-certificates curl--安装containerdsudo apt-get -y install containerdsudo systemctl enable containerdsudo systemctl start containerd
2.2 输出配置(需手动创建空文件)
--输出默认配置文件sudo mkdir /etc/containerdsudo touch /etc/containerd/config.tomlsudo containerd config default>/etc/containerd/config.toml
2.3 编辑配置文件
sudo vi/etc/containerd/config.toml1.修改SystemdCgroup参数为true,默认为false[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]SystemdCgroup=true2.修改sandbox_image参数,其值一定要和 kubeadm config images list 命令输出的pause版本和tag保持一致,否则Node节点的Pod一直CrashLoopBackOff而且查询 kubectl logs 时也没有任何错误,此处我的版本为阿里云3.6sandbox_image="registry.aliyuncs.com/google_containers/pause:3.6"
2.4 配置容器ENDPOINT并生效
crictl config runtime-endpoint unix:///run/containerd/containerd.sockcrictl config image-endpoint unix:///run/containerd/containerd.socksystemctl restart containerd
3.1 安装 kubelet kubeadm kubectl
# 安装基础环境apt-get install -y ca-certificates curl software-properties-common apt-transport-https curlcurl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -# 执行配置k8s阿里云源 vim /etc/apt/sources.list.d/kubernetes.list#加入以下内容deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main# 执行更新apt-get update -y# 安装kubeadm、kubectl、kubelet apt-get install -y kubelet=1.27.2-00 kubeadm=1.27.2-00 kubectl=1.27.2-00# 阻止自动更新(apt upgrade时忽略)。所以更新的时候先unhold,更新完再hold。apt-mark hold kubelet kubeadm kubectl# 集群初始化kubeadm init --apiserver-advertise-address=192.168.198.141 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.27.2 --service-cidr=10.1.0.0/16 --pod-network-cidr=10.244.0.0/16 --v=5
安装网络插件
kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml
标签: