nginx 当我升级kubernetes集群到v1.24时,无法从nexus存储库中拉取映像

iqih9akk  于 2023-10-17  发布在  Nginx
关注(0)|答案(1)|浏览(113)

我们无法从Kubernetes版本1.24及以上的Nexus存储库中提取容器映像。但是,在Kubernetes版本1.23上,我们可以成功地从同一个存储库中拉取容器镜像。因此,我们在集群中一直使用Kubernetes 1.23版本。然而,当使用Kubernetes版本1.23时,我们遇到了同样的问题,即在创建Fargate配置文件时无法从Nexus存储库中提取容器映像。
目前,我们使用nginx管理Nexus。
有趣的是,当我们将容器镜像放在Docker Hub上的私有存储库中时,我们可以成功地从Fargate配置文件中提取容器镜像。
我们怀疑这个问题可能与Kubernetes从v1.24开始从Docker过渡到containerd作为运行时有关。
您能否帮助我们了解如何排除故障并解决此问题?

xxls0lw8

xxls0lw81#

问题是nginx。我们使用nginx和$http_user_agent变量将docker请求定向到nexus上的docker仓库。kubernetes v1.24运行时更改为containerd后,在nginx.conf中添加了$http_user_agent=containerd的拉取镜像请求

if ($http_user_agent ~ containerd ) {
    proxy_pass http://localhost:5000;
}

解决问题。5000端口是Docker仓库端口。

相关问题