kubernetes 从不安全的注册表中提取图像-在containerd上

2j4z5cfb  于 2023-03-01  发布在  Kubernetes
关注(0)|答案(1)|浏览(183)

我有一个码头注册表(不安全)对我的堡垒/跳转盒。
我们正在运行Kubernetes,我尝试在集群上运行一个pod,从这个注册表中提取一个映像。由于containerd是容器运行时,它抛出一个错误(ImagePullBackOff):
Failed to pull image "1.1.1.2:4657/82d4bb7b89/dockerimages/abc:v2.3.0": http: server gave HTTP response to HTTPS client
看起来我们可以使用ctr cli**--plain-http**来拉取映像,但是,这不适用于此场景。
对于这个错误有什么解决办法吗?另外,我们正在使用“kubectl create -f”来调出pod。

kqlmhetl

kqlmhetl1#

我也得到了同样的错误。我按照下面的步骤重新设置了它

    • sudo rm-rf/etc/容器d/配置对象列表**
    • 须藤须-**
    • mkdir-p/etc/容器d**
    • 容器配置默认值〉/etc/容器/配置. toml**
    • sudo systemctl重新启动容器d**
    • sudo systemctl启用容器d**

然后在这些步骤之后打开文件

    • sudo nano/等/容器d/配置对象l**

找到这条线

  • [插件."io.containerd.grpc.v1.cri".注册表.配置]*

在那行下面加上这6行
[插件."io.containerd.grpc.v1.cri".注册表.配置."注册表-ip:5000"]
[插件."io.containerd.grpc.v1.cri".注册表.配置."注册表-ip:5000". tls]

ca_file = ""

    cert_file = "" 

    insecure_skip_verify = true 

    key_file = ""

然后搜索此行**[插件."io.containerd.grpc.v1.cri".注册表.镜像]**
并在该行下方添加以下行

[plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry-ip:5000"] 
      endpoint = ["http://reistry-ip:5000"]

在这之后我重新启动containerd
sudo systemctl重新启动容器d
从那以后它工作得很好

相关问题