Kubernetes 1.27.2集群安装|环球简讯

2023-06-16 17:06:19 来源:博客园

基础环境

系统Ubuntu 22.04.2

| 主机名称 | IP |

| ----- | -------- |


(资料图)

| k8s-master | 192.168.198.141 |

| k8s-node01 | 192.168.198.142 |

| k8s-node02 | 192.168.198.143 |

  1. 设置k8s环境准备条件(所有机器)
# 禁用交换分区(在旧版的 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
  1. 安装配置container2.1 安装启动
--安装依赖工具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
  1. 安装与配置k8s

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

标签: