新版K8s:v1.28拉取Harbor仓库镜像以及本地镜像(docker弃用改用containerd,纯纯踩坑)

news2024/11/30 10:50:05

这里写目录标题

    • 一、项目概述
    • 二、环境
    • 三、项目样式
        • Harbor
        • kuboard
        • 运行样式
    • 四、核心点
        • 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 root@k8sworker01:/etc/containerd
scp /etc/containerd/config.toml root@k8sworker02:/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 = true

3、修改Habor镜像仓库相关配置:拉取Harbor镜像仓库,还需要修改如下信息,在文件144行左右,修改完成记得保存,重启containerd

systemctl daemon-reload
systemctl restart containerd

在这里插入图片描述

ctr、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-http=true --skip-verify  --user admin:Harbor12345 192.168.2.142:8800/test/flaskweb:v1.0.0
#推送镜像
ctr -n k8s.io image push --plain-http=true --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登录Harbor,docker pull 拉取镜像,docker images来查看镜像,所有节点都是可以从Harbor拉取镜像,登录Harbor,但就是k8s无法自动拉取Harbor镜像与本地镜像,查了很多资料,但都是说docker的配置,很少提到containerd的概念,最后查到k8s官网才晓得这个概念,最后换了一个思路才解决K8s1.28版本使用kuboard来拉取Harbor镜像仓库镜像。抱怨归抱怨,一个星期的尝试,对kubectl命令,k8s的架构也越来越熟悉,继续加油!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1392020.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LeetCode 41 缺失的第一个正数

题目描述 缺失的第一个正数 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1: 输入:nums [1,2,0] 输出:3示例 2&#xff…

中科院自动化所:基于关系图深度强化学习的机器人多目标包围问题新算法

摘要:中科院自动化所蒲志强教授团队,提出一种基于关系图的深度强化学习方法,应用于多目标避碰包围(MECA)问题,使用NOKOV度量动作捕捉系统获取多机器人位置信息,验证了方法的有效性和适应性。研究成果在2022年ICRA大会发…

【目标检测】YOLOv7算法实现(一):模型搭建

本系列文章记录本人硕士阶段YOLO系列目标检测算法自学及其代码实现的过程。其中算法具体实现借鉴于ultralytics YOLO源码Github,删减了源码中部分内容,满足个人科研需求。   本篇文章在YOLOv5算法实现的基础上,进一步完成YOLOv7算法的实现。…

yum仓库以及NFS共享

yum实现过程 1.光驱里自带yum 2.网络下载到本地 3.直接通过网络 如何实现安装服务 yum客户端找到yum服务端,找到yum的仓库位置,下载元信息,因为里面有软件的位置,因此可以找到软件包的位置,然后下载到本地 仓库的类…

Matlab 求解非刚性微分方程(ode45)

语法 1、[t,y] ode45(odefun,tspan,y0) 2、[t,y] ode45(odefun,tspan,y0,options) 3、[t,y,te,ye,ie] ode45(odefun,tspan,y0,options) 4、sol ode45(___)描述 [t,y] ode45(odefun,tspan,y0) 其中,tspan [t0 tf] 为微分方程 odefun 的积分区间,y…

mobi文件怎么转换成pdf?

mobi文件怎么转换成pdf?在数字化时代,电子书籍成为了越来越受欢迎的阅读方式。我们可以通过多种格式的电子书来获取知识和娱乐,其中一种常见的格式就是Mobi文件。Mobi文件是亚马逊公司开发的一种电子书格式,它主要用于Kindle设备和…

Maven 依赖传递和冲突、继承和聚合

一、依赖传递和冲突 1.1 Maven 依赖传递特性 1.1.1 概念 假如有三个 Maven 项目 A、B 和 C,其中项目 A 依赖 B,项目 B 依赖 C。那么我们可以说 A 依赖 C。也就是说,依赖的关系为:A—>B—>C, 那么我们执行项目 …

从零开发短视频电商 PaddleOCR Java推理 (三)优化文本检测模型输入和输出

背景 PaddleOCR提供了一系列测试图片,你可以通过点击这里来下载。 值得注意的是,PaddleOCR的模型更新速度远远快于DJL,这导致了一些DJL的优化滞后问题。因此,我们需要采取一些策略来跟上PaddleOCR的最新进展。 针对文本检测模型…

Postgresql 12.2 + PostGIS 3.0.1 安装部署

参考文档: 按照该文档安装即可,如果遇到报错,可以参考下文: https://blog.csdn.net/weixin_41166785/article/details/127674169 所需的安装包 在资源里面(我看下怎么可以不用积分下载) 1、no acceptable…

项目01——《3D滚球跑酷》

布局通常2 by 3 接下来我们布置场景,我们的预期结果(功能分析)是: 游戏中中的小球会以恒定速度向前移动,而玩家控制着小球左右移动来躲避跑道中的红色障碍物,如果玩家能控制小球在跑到上移动一定距离则视为…

从CISC到RISC-V:揭开指令集的面纱

对于大多数同学来说,计算机或智能手机的运行似乎就像魔法一样神奇。你可能知道它们内部都是一些复杂的电子组件,比如CPU、内存等等,但这些组件是如何协同工作,让我们可以在电脑上打字,或者在手机上看视频呢&#xff1f…

基于SSM的在线宠物商城设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue、HTML 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是…

Tide Quencher 7.1WS azide,TQ7.1WS N3,适用于多种荧光物质的分析

您好,欢迎来到新研之家 文章关键词:Tide Quencher 7.1WS 叠氮,TQ7.1WS 叠氮,Tide Quencher 7.1WS azide,TQ7.1WS N3,TQ7.1WS azide,Tide Quencher 7.1WS N3 一、基本信息 产品简介&#xff1…

java SECS管理系统 将逐步推出 SECS 客户端(Passive) 管理系统 SECS快速开发平台 springboot secs开发平台

SECS管理系统 这是一套SECS客户端(Passive),可以直接连接PLC设备,支持Modbus、三菱MC、欧姆龙Fine、OPC-UA、西门子S7设备等通信。 企业已经有了EAP软件,但是设备没有SECS通信功能,这时候可以使用这套框架,直接连接设备&#xff…

springboot集成shiro+前端vue,前后端分离项目遇到跨域以及sessionid拿不到等问题

近期在写前后端分离的项目,由于前后端分离导致原来使用的shiro配置无法满足现有系统要求。同时在前后端分离项目中存在的一些问题。例如,一些用户信息需要存储在后端方便进行安全性判断,但这些存储在后端的session前端却获取不到(…

专业140+总410+哈尔滨工业大学803信号与系统和数字逻辑电路考研经验哈工大电子信息(信息与通信工程-信通)

一年的努力付出终于有了收获,今年专业课140,总分410顺利上岸哈工大803电子信息(信息与通信-信通),回顾总结了自己这一年的复习,有得有失,希望对大家复习有所帮助。 数学 时间安排:…

C++力扣题目40--组合总和II

力扣题目链接(opens new window) 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用一次。 说明: 所有数字(包括目标数)都是…

linux pxe高效批量网络装机

系统装机的三种方式 U盘(pe) 光驱 网络启动(pxe) pxe PXE 的全称是 preboot execute environment它其实是Intel在很久以前提出来的一项用于通过网络来引导系统的标准。允许客户机通过网络从远程服务器上下载引导镜像&#…

252:vue+openlayers 绘制锥形渐变填充色的圆形

第252个 点击查看专栏目录 本示例的目的是介绍如何在vue+openlayer中绘制带有锥形渐变填充色的圆形。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共131行)相关API参考专栏目标示例效果 </

【论文阅读】Speech Driven Video Editing via an Audio-Conditioned Diffusion Model

DiffusionVideoEditing&#xff1a;基于音频条件扩散模型的语音驱动视频编辑 code&#xff1a;GitHub - DanBigioi/DiffusionVideoEditing: Official project repo for paper "Speech Driven Video Editing via an Audio-Conditioned Diffusion Model" paper&#…