k8s在1.24版本以后删除了内置dockershim插件,原生不再支持docker运行时,需要使用第三方cri接口cri-docker
https://github.com/Mirantis/cri-dockerd.git
安装前,需要先升级systemd和主机内核,本操作文档安装的是最新的版本kubernetes1.28.3 需要较高的systemd和内核版本支持
开始安装kubernetes,大体分为三步:
我这里选择使用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
集群初始化工具kubeadm、kuops等、我这里使用的是kubeadm
在所有节点都需要安装如下工具:
yum -y install kubeadm kubelet kubectl
打印出默认初始化配置
kubeadm config print init-defaults > init.yaml
自定义init.yaml文件需要修改几处地方:
拉取镜像
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