kubeadm部署kubernetes1.28

k8s在1.24版本以后删除了内置dockershim插件,原生不再支持docker运行时,需要使用第三方cri接口cri-docker

https://github.com/Mirantis/cri-dockerd.git

安装前,需要先升级systemd和主机内核,本操作文档安装的是最新的版本kubernetes1.28.3 需要较高的systemd和内核版本支持

开始安装kubernetes,大体分为三步:

一、安装容器运行时(docker、container、podman任选一种)

我这里选择使用docker,原因是docker经过这么多年发展,相对成熟,操作易上手

yum -y install docker-ce

安装cri-docker插件

git clone https://github.com/Mirantis/cri-dockerd.git

我使用的是较新的0.3.6版本的cri,会依赖containerd.io-1.2.13

安装service

cd cri-dockerd/

install -o root -g root -m 0755 cri-dockerd /usr/local/bin/cri-dockerd

cp packaging/systemd/* /etc/systemd/system

sed -i -e 's,/usr/bin/cri-dockerd,/usr/local/bin/cri-dockerd,' /etc/systemd/system/cri-docker.service

systemctl daemon-reload

systemctl enable --now cri-docker.socket

二、集群初始化

集群初始化工具kubeadm、kuops等、我这里使用的是kubeadm

在所有节点都需要安装如下工具:

yum -y install kubeadm kubelet kubectl

打印出默认初始化配置

kubeadm config print init-defaults > init.yaml

自定义init.yaml文件需要修改几处地方:

advertiseAddress:                           #主节点master ip

criSocket: unix:///var/run/cri-dockerd.sock  #使用cri-docker后修改为调用cri-docker接口

name: k8s-master:                           #master节点名称

imageRepository :                           #镜像仓库地址,修改为私库地址

networking:                                  #定义pod分配子网,初始配置文件中没有,需要新增一条

    podSubnet: 10.10.0.0/16

拉取镜像

kubeadm config images list --config=init.yaml

kubeadm config images pull --config=init.yaml

初始化:

kubeadm init --config=init.yaml --upload-certs

重置集群:

kubeadm reset --cri-socket=unix:///var/run/cri-dockerd.sock

三、安装网络插件

初始化之后,coredns还没启动,需要安装网络插件,集群才能正常运行,

flannel、calico等插件都可支持,我这里使用的是flannel

network设置为kubeadm init时指定的podSubnet
kubeadm部署kubernetes1.28_第1张图片

kubectl apply -f kube-flannel.yaml

你可能感兴趣的:(云原生,devops,运维)