做网站的时候怎么照片路径,怎么建立一个博客网站,建设自己的网站有钱赚么,个人怎样免费建网站目录 一、项目概述二、环境三、项目样式Harborkuboard运行样式 四、核心点Harbor安装config.toml文件修改(containerd)ctr、nerdctl相关命令kuboard工作负载 五、总结 一、项目概述
使用Kuboard作为k8s集群的管理平台#xff0c;Harbor作为镜像仓库#xff0c;拉取Harbor镜像… 目录 一、项目概述二、环境三、项目样式Harborkuboard运行样式 四、核心点Harbor安装config.toml文件修改(containerd)ctr、nerdctl相关命令kuboard工作负载 五、总结 一、项目概述
使用Kuboard作为k8s集群的管理平台Harbor作为镜像仓库拉取Harbor镜像仓库的镜像运行。 从K8s1.24版本之后k8s就逐渐弃用了docker采用containerd来管理这个很重要。
二、环境
服务器IP地址备注K8sMaster192.168.2.138kuboard,Master管理节点K8sWorker01192.168.2.139Worker工作节点K8sWorker02192.168.2.140Worker工作节点Harbor192.168.2.142Harbor镜像仓库
三、项目样式
Harbor kuboard 运行样式 四、核心点
Harbor安装
Harbor安装网上有很多教程可以使用http的也可以使用https的自行选择我这里使用的http的不过问题有点多不过拉取镜像也能用测试环境可以用http的但是深生产环境建议使用https的。
config.toml文件修改(containerd)
K8s:v1.24版本以后拉取镜像采用containerd所以你需要修改containerd的配置文件记得每个节点都需要修改修改一份后使用scp或者ansible命令进行复制就可以
#scp
scp /etc/containerd/config.toml rootk8sworker01:/etc/containerd
scp /etc/containerd/config.toml rootk8sworker02:/etc/containerd#ansible
ansible k8s -m copy -a src/etc/containerd/config.toml dest/etc/containerd
1、自动生成config.toml文件
# 生成默认配置
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml
2、修改镜像源
# vi编辑配置文件
sudo vi /etc/containerd/config.toml# 将 pause 修改为国内源镜像找到 sanbox_image修改前缀为国内源
sandbox_image registry.aliyuncs.com/google_containers/pause:3.6# 找到 SystemdCgroup
SystemdCgroup true3、修改Habor镜像仓库相关配置拉取Harbor镜像仓库还需要修改如下信息在文件144行左右修改完成记得保存重启containerd
systemctl daemon-reload
systemctl restart containerdctr、nerdctl相关命令
使用containerd需要使用ctr与nerdctl命令来进行查看镜像命名空间进行推送等k8sV1.24版本拉取本地镜像是从containerd镜像库里面拉取的不是从docker images里面拉取的如果你没有Harbor要确保每个工作节点上面k8s.io命名空间有镜像都有镜像这里是新版本k8s的坑
#下载镜像nginx
ctr image pull docker.io/library/nginx:alpine
#查看命名空间
ctr ns ls
#查看default空间镜像
ctr image ls
#查看k8s.io空间镜像
ctr -n k8s.io image ls
#打标签
ctr -n k8s.io images tag docker.io/library/flaskweb:v1.0.0 192.168.2.142:8800/test/flaskweb:v1.0.0
#导入到k8s.io空间镜像
ctr -n k8s.io image import flaskweb.tar.gz
#从镜像仓库下载镜像http需要如下写法不然会报错
ctr images pull --plain-httptrue --skip-verify --user admin:Harbor12345 192.168.2.142:8800/test/flaskweb:v1.0.0
#推送镜像
ctr -n k8s.io image push --plain-httptrue --skip-verify --user admin:Harbor12345 192.168.2.142:8800/test/flaskweb:v1.0.0
#nerdctl命令与docker命令很像
nerdctl images
nerdctl run kuboard工作负载
kuboard新建工作负载在选择容器镜像时新建一个密文如果你有Harbor可以始终拉取新镜像如果你走本地k8s.io空间的镜像时改成Never从不拉取镜像。如果保存后提示镜像无法拉取Error: ErrImagePull可以在每台工作节点上面使用ctr images pull来拉取镜像实施试试。
五、总结
说实话有点后悔装Kubernetes:V1.28版本了在1.24版本后弃用docker改用containerd在我完成整个实验前80%的时间我是不晓得的所以就一直傻乎乎的使用docker login登录Harbordocker pull 拉取镜像docker images来查看镜像所有节点都是可以从Harbor拉取镜像登录Harbor但就是k8s无法自动拉取Harbor镜像与本地镜像查了很多资料但都是说docker的配置很少提到containerd的概念最后查到k8s官网才晓得这个概念最后换了一个思路才解决K8s1.28版本使用kuboard来拉取Harbor镜像仓库镜像。抱怨归抱怨一个星期的尝试对kubectl命令k8s的架构也越来越熟悉继续加油