k8s containerd 坑爹的代理:docker可以拉取镜像,containerd 也可以拉取镜像,但是k8s不可以

代理遇到的问题

背景

公司内网,可以通过代理访问外网

现象

ctr -n k8s.io image pull gcr.io/knative-releases/knative.dev/serving/cmd/activator@sha256:cd4bb3af998f4199ea760718a309f50d1bcc9d5c4a1c5446684a6a0115a7aad5 拉取镜像正常;但是,通过k8s创建的pods时,无法拉取镜像,会超时。

原因

ctr 直接执行命令,会走主机的网络配置;通过k8s 发送的命令,不会直接走主机的网络配置,也不会使用kubelete的网络配置,需要独立的网络配置

解决方法

添加针对containerd的网络配置

/usr/lib/systemd/system/containerd.service.d/http-proxy.conf
[Service]

Environment="HTTP_PROXY=http://user:password@proxy:port/" "HTTPS_PROXY=http://user:password@proxy:port/" "NO_PROXY=127.0.0.1,localhost"
posted @ 2025-02-07 11:58  wei2cai  阅读(404)  评论(0)    收藏  举报