You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

正常部署可拉取私有镜像,Knative拉取失败求助

问题原因

普通Kubernetes Pod拉取镜像由节点上的containerd处理,你已经将私有仓库配置为containerd的不安全镜像仓库,因此可以正常拉取。但Knative在创建Revision前,会先执行镜像摘要解析操作(将镜像tag转换为固定digest,避免镜像被篡改),这个操作由Knative Serving的控制平面组件(如serving-controller)完成,而这些组件并未配置信任该HTTP私有仓库,默认会使用HTTPS协议访问,从而触发http: server gave HTTP response to HTTPS client错误。

解决方案

需要给Knative Serving控制平面配置信任该HTTP私有仓库,具体操作如下:

  1. 编辑Knative Serving的config-deployment配置映射:
kubectl edit configmap config-deployment -n knative-serving
  1. 在data字段下添加私有仓库的不安全访问配置:
data:
  # 保留已有配置,新增以下内容
  registries.insecure: |
    <ip>:5000

若你的私有仓库是带自签名证书的HTTPS仓库,替换为registries.skip-cert-verify: | <ip>:5000即可

  1. 保存退出后,Knative Serving的控制平面组件会自动重启,之后镜像解析操作就会使用HTTP协议访问你的私有仓库,拉取失败问题即可解决。
额外验证
  • 确认container-registry Secret的docker-server字段确实为http://<ip>:5000,避免协议配置错误。
  • 确保集群所有节点的containerd都已正确配置该私有仓库为不安全镜像仓库(你已完成此步骤,可跳过)。

内容的提问来源于stack exchange,提问作者Chris G.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 22:10:31