首页 > 其他分享 >k8s 使用 containerd 作为容器运行时拉取 http 的 harbor 私有仓库镜像

k8s 使用 containerd 作为容器运行时拉取 http 的 harbor 私有仓库镜像

时间:2024-10-24 11:42:48浏览次数:1  
标签:http harbor containerd devops 仓库 icu

目录


版本介绍

  • k8s:v1.28.2
  • containerd:1.6.33

报错内容

我的 harbor 用的是 http 的,因为是内网自己用,就没有配置 https 了,于是配置好镜像拉取的凭据,pod 拉取镜像会有以下的报错

Failed to pull image "harbor.devops.icu/baseimage/prometheus:v2.54.1": failed to pull and unpack image "harbor.devops.icu/baseimage/prometheus:v2.54.1": failed to resolve reference "harbor.devops.icu/baseimage/prometheus:v2.54.1": failed to do request: Head "https://harbor.devops.icu/v2/baseimage/prometheus/manifests/v2.54.1": dial tcp 192.168.18.222:443: connect: connection refused

解决方法

官方 Github 上面展示的配置文件介绍:hosts.md

主配置文件修改

主配置文件需要增加仓库配置文件的目录,目录名称自己定义,我这边是配置的 registry_config

    [plugins."io.containerd.grpc.v1.cri".registry]
      config_path = "/etc/containerd/registry_config"

创建目录

mkdir /etc/containerd/registry_config

创建镜像仓库配置

目录结构树

/etc/containerd/registry_config
└── harbor.devops.icu    # 镜像仓库的 ip:端口 或者域名
    └── hosts.toml       # 这个文件名称是固定的

创建镜像仓库目录,这里的仓库地址换成自己的

mkdir /etc/containerd/registry_config/harbor.devops.icu

创建配置文件,/etc/containerd/registry_config/harbor.devops.icu/hosts.toml,仓库地址这块改成自己的,我是 http 的仓库,所以增加了 skip_verify = true

server = "http://harbor.devops.icu"

[host."http://harbor.devops.icu"]
  capabilities = ["pull", "resolve", "push"]
  skip_verify = true

capabilities 表示可以对镜像仓库执行的操作,总共只有 "pull", "resolve", "push" 这三个值

重启 containerd

systemctl restart containerd

备注

这个只是解决了 k8s 可以直接拉取 http 私有仓库的问题,使用 ctr 命令拉取 http 私有仓库,还是需要加上 --plain-http 参数才可以

标签:http,harbor,containerd,devops,仓库,icu
From: https://www.cnblogs.com/chen2ha/p/18498428

相关文章

  • HTTP 管道
    HTTP管道2024-10-24队头阻塞,多路复用,QUIC外围技术在单个TCP连接上:不使用HTTP管道,那么就必须等待上一次请求响应后,才能发送下一次请求.使用HTTP管道后,就不需要等待上一次请求响应,就可以直接发送下一次请求.队头阻塞虽然HTTP管道允许请求可以连......
  • https免费nginx证书
    快捷阅读:先安装好nginx,并配置好80端口的正常访问#安装Nginxyuminstall-ynginx#设置开机启动systemctlenablenginx#开启nginxsystemctlstartnginx#重启nginxsystemctlrestartnginx#nginx重新加载配置文件systemctlreloadnginx#新增nginx网站配置......
  • let 和 const 与 var 的区别;什么是同源策略?简述 HTTP 请求的过程
    同源策略是一种安全机制,它是浏览器对JavaScript实施的一种安全限制。所谓“同源”是指域名、协议、端口号均相同。同源策略限制了一个页面中的脚本只能与同源页面的脚本进行交互,而不能与不同源页面的脚本进行交互。这是为了防止恶意脚本窃取数据、进行XSS攻击等安全问题。......
  • 【网络原理】——HTTP协议、fiddler抓包
     阿华代码,不是逆风,就是我疯你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你!!目录一:认识HTTP1:超文本传输2:发展历史3:HTML4:交互过程5:报文格式6:HTTP请求格式7:HTTP的响应格式二:fiddler1:介绍2:设置三:URL1:认识URL2:URL完整结构3:URLencode四:HTTP首行方......
  • HTTP协议
    什么是HTTP?◼什么是HTTP呢?我们来看一下维基百科的解释:超文本传输协议(英语:HyperTextTransferProtocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议;HTTP是万维网的数据通信的基础,设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法;通过HTT......
  • HTTP 2.0 新特性
    HTTP2.0新特性HTTP2.0为什么使用二进制分帧?二进制协议比文本协议更加紧凑,减少占用空间分帧层相当于将HTTP切分,更加灵活,比如可以对header帧做单独的特殊处理分帧层有着属于自己的报文头,其中的StreamIdentity使得操作系统具备将多个响应以及请求一一匹配的能力,这个......
  • Java调用第三方接口、http请求详解,一文学会
    系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章Python机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据......
  • Go语言net/http包源码学习
    0.前言该笔记为笔者第一次学习go的net/http包源码的时候所记,也许写的并不是很精确,希望大家多多包涵,一起讨论学习。该笔记很大程度的参考了网名为“小徐先生”的前辈所分享的博客,推荐大家可以先看一看它的博客来一起学习,我的只是照葫芦画瓢还有一些代码更新的讲解而已。当前笔者......
  • 为什么在http协议中使用base64编码方式传输二进制文件
    相关:图解Base64实现原理并使用js实现一个简单的Base64编码器常用加密方法之Base64编解码及代码实现一直都知道在http协议中使用base64的方式传递二进制文件,虽然感觉不理解,但是也都从来没有探究过原因,今天突然看到这方面的资料,这才有了一些理解。PS:把带有图片的网页......
  • 本地签发ssl证书(https)
    说明ssl证书主要用于https网络访问的安全认证工具下载本地自签证书程序https://github.com/FiloSottile/mkcert/releases命令行mkcert-v1.4.4-windows-amd64-?可以查看使用方法生成步骤1、mkcert-v1.4.4-windows-amd64-install 安装本地根证书2、生成自签证书:mkcert-v1.......