k8s 1.35 + containerd v2.2 配置http私库并配置登录信息

我们新安装的k8s 1.35,使用containerd v2.2作为容器引擎,配置折腾了好久才搞定,分享如下。

1、关于国内镜像库的配置

containerd v2.2使用每个镜像库独立配置文件的方式,有点像nginx

首先要在/etc/containerd/config.toml文件中加入以下一行:

复制代码
    [plugins.'io.containerd.cri.v1.images'.pinned_images]
      sandbox = 'registry.aliyuncs.com/google_containers/pause:3.10.1'

    [plugins.'io.containerd.cri.v1.images'.registry] #老版本是io.containerd.grpc.v1.cri".registry
      config_path = '/etc/containerd/certs.d'  #这一行本来有就的,但多了点东西":/etc/docker/certs.d",不知道是不是有影响,反正我删除了

然后,再/etc/containerd/certs.d目录下,每个要做镜像的站点一个目录:

每个目录下一个hosts.toml文件,内容如下:

bash 复制代码
server = "https://docker.io"  #原镜像网址
[host."docker.m.daocloud.io"] #国内的替代网址
  capabilities = ["pull", "resolve"]

2、没有ssl的私库的配置

网上各种配置方法都试过了,就是不支持http私库,按最接近的配置方法:

bash 复制代码
server = "http://10.16.10.28:8088"
[host."http://10.16.10.28:8088"]
  capabilities = ["pull", "resolve", "push"]
  skip_verify = true
  # 如果 http 协议有问题,尝试去掉协议
  # capabilities = ["pull", "resolve", "push"]
  # skip_verify = true

但还是报错:

复制代码
failed to do request: Head "https://10.16.10.28:8088/v2/tmp/tmp-rule/manifests/3.0.0-SNAPSHOT": http: server gave HTTP response to HTTPS client

后来各种尝试,终于搞定了。

正确的配置是:

bash 复制代码
server = "https://10.16.10.28:8088" # 这里是原始要访问的网址,是要带https的
[host."http://10.16.10.28:8088"]  #这里告诉它,转到http网站上去
  capabilities = ["pull", "resolve", "push"]
  skip_verify = true
  username = "user111"
  password = "pass123"
相关推荐
小Pawn爷12 小时前
实战演练:玩转k8s
云原生·容器·kubernetes
nbsaas-boot14 小时前
基于 HTTP 构建 MCP Tools 的完整工程解析
网络·网络协议·http·ai
王码码203514 小时前
Flutter for OpenHarmony:使用 pluto_grid 打造高性能数据网格
flutter·http·华为·架构·harmonyos
先跑起来再说14 小时前
从原理到实践:彻底搞懂Cookie和Session的区别
计算机网络·http·https
兰.lan14 小时前
【黑马ai测试】HTTP协议-抓包工具定位-弱网测试-缺陷介绍
网络·python·网络协议·http
Exquisite.15 小时前
Docker容器技术
docker·容器·eureka
Sephiroth.Ma16 小时前
Mac 提示“Docker 已损坏,无法打开”?我这样排查后 10 分钟修好
macos·docker·容器
清水白石00817 小时前
Python 服务优雅停机实战:信号处理、资源收尾与 Kubernetes 滚动发布避坑指南
python·kubernetes·信号处理
是店小二呀18 小时前
Docker部署EasyNode+内网穿透:轻松实现服务器远程管理
服务器·docker·容器
一招定胜负18 小时前
在 Windows 11 家庭版安装 Docker Desktop解决虚拟化问题
运维·docker·容器