个人笔记:vmware16 +ubuntu22.04搭建单节点 kubernetes 1.24+连接Harbor
本次搭建与上次的类似,不同之处是,本次不用安装docker。不熟悉的同学,可以先看看我的上一篇文章(以下简称上一篇文章):个人笔记:vmware16 +ubuntu20.04搭建单节点 kubernetes 1.22.2_湾区的候鸟的博客-CSDN博客_vmware16密钥今天使用vmware16 +ubuntu20.04搭建单节点 kubernetes 1.22.2,踩了不少的坑,记录一下,希望
本次搭建与上次的类似,不同之处是,本次不用安装docker。
不熟悉的同学,可以先看看我的上一篇文章(以下简称上一篇文章):
第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
3)修改Systemdcgroup
第10步: 重启containerd(所有节点)
第11步: 安装k8s 1.24(master节点执行kubeadm init,worker节点执行kubeadm join)
与上篇文件类似,略。
第12步: 安装calicto v3.22.2(master节点)
安装过程参考上一篇文章,使用两份yaml文件如下:
第1份yaml文件太长了,在此不再贴出,信息如下:
第2份yaml文件:
验证k8s及calico:
第13步: 配置用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
4) 配置crictl使用的sock文件(所有节点)
如果不执行这一步,则使用crictl时会报错。
5) 测试crictl能下载镜像(所有节点)
第14步: 测试ctr能下载Harbor的镜像(所有节点)
设置了上面的crictl的配置后,不需要再为ctr进行额外的配置,只需要在使用ctr命令时加上--hosts-dir参数即可。
参考帮助:
官方教程:
第15步: 测试k8s能从harbor下载镜像(master节点)
1)准备一份yaml文件。
2)应用yaml,验证POD。
问题:
1)crictl pull报: x509证书错误。
如果没有设置config_path,则报以下错误。
2)crictl pull报: sock错误。
问题原因:没有配置/etc/crictl.yaml文件。
更多推荐
所有评论(0)