本次搭建与上次的类似,不同之处是,本次不用安装docker。
不熟悉的同学,可以先看看我的上一篇文章(以下简称上一篇文章):
个人笔记:vmware16 +ubuntu20.04搭建单节点 kubernetes 1.22.2_湾区的候鸟的博客-CSDN博客_vmware16密钥今天使用vmware16 +ubuntu20.04搭建单节点 kubernetes 1.22.2,踩了不少的坑,记录一下,希望能帮到大家。先看一篇高质量的参考:基于vmware16 和 ubuntu20.04, 搭建单节点 kubernetes 1.22.2_琦彦的博客-CSDN博客基于vmware16 和 ubuntu20.04, 搭建单节点 kubernetes 1.22.2安装环境win10ubuntu版本 20.04.3docker版本 20.10.7k8s版本 1.22.2vmware参考https://blog.csdn.net/tjg138/article/details/124550033?spm=1001.2014.3001.5501
第1步:安装3台ubuntu 22主机。IP配置:
| 主机名 | IP | 备注 |
| umaster | 192.168.114.20 192.168.43.x | ubuntu 22 |
| worker1 | 192.168.114.21 192.168.43.x | ubuntu 22 |
| worker2 | 192.168.114.22 192.168.43.x | ubuntu 22 |
| workstation | 192.168.114.100 | centos 7 Harbor,域名:hb.cn |
说明:
1) 192.168.114.20、192.168.114.21、192.168.114.22为K8S 1.24集群专用网络。
2)192.168.43.x网卡,用于配置连接互联网。
3) workstation上的Harbor为2.4.1版本,是我之前就安装好的。本次安装K8S的目标是能连接harbor。
第2步:设置root登录、hostname等,略。(所有节点)
第3步:关闭swap(所有节点)
swapoff -a # 临时
sed -ri ‘s/.swap./#&/’ /etc/fstab # 永久
第4步:删除旧的docker(所有节点)
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo apt-get update
第5步:删除旧的docker数据(所有节点)rm -rf /var/lib/docker
rm -rf /var/lib/containerd
第6步:安装依赖命令(所有节点)
apt-get install
ca-certificates
curl
gnupg
lsb-release
第7步: 安装ContainerD(所有节点)
apt-get install containerd.io
参考官方:https://github.com/containerd/containerd/blob/main/docs/getting-started.md
第8步:生成containerd默认配置文件(所有节点)mv /etc/containerd/config.toml /etc/containerd/config.toml.orig
containerd config default > /etc/containerd/config.toml
第9步: 修改config.toml文件(所有节点)1)endpoint加速器
2)修改sandbox_image
第11步: 安装k8s 1.24(master节点执行kubeadm init,worker节点执行kubeadm join)
与上篇文件类似,略。
第12步: 安装calicto v3.22.2(master节点)
安装过程参考上一篇文章,使用两份yaml文件如下:
第1份yaml文件太长了,在此不再贴出,信息如下:
第2份yaml文件:
验证k8s及calico:
第13步: 配置用ctr, crictl连接Harbor(所有节点)
1) 再次修改containerd的config_path:
官方参考:
2) 设置host.toml,以便使用crictl连接harbor.
新建目录/etc/containerd/certs.d/hb.cn,写入以下文件:
注意:hb.cn为我的harbor域名。
官方教程:
官方网址:
containerd/hosts.md at main · containerd/containerd · GitHub
3) 重启containerd
第14步:配置crictl使用的sock文件(所有节点)如果不执行这一步,则使用crictl时会报错。
第15步: 测试ctr,crictl能下载镜像(所有节点)注意:使用ctr时, 需要加上--hosts-dir参数。
官方教程:
第16步: 测试k8s能从harbor下载镜像(master节点)



