gpt4 book ai didi

kubernetes - 在私有(private) repo 上使用 kubernetes init 容器

转载 作者:行者123 更新时间:2023-12-02 11:19:25 26 4
gpt4 key购买 nike

我一直在尝试使用私有(private)初始化容器镜像运行部署但收效甚微,我总是收到此错误:

Failed to pull image "private/app": Error: image private/app:latest not found
Error syncing pod, skipping: failed to "StartContainer" for "app" with ErrImagePull: "Error: image private/app:latest not found"

这是我的部署:
"kind": "Deployment"
"apiVersion": "extensions/v1beta1"
"metadata":
"name": "tomcat"
"creationTimestamp": null
"spec":
"replicas": 1
"template":
"metadata":
"creationTimestamp": null
"labels":
"service": "tomcat"
"annotations":
"pod.beta.kubernetes.io/init-containers": '[
{
"name": "app",
"image": "private/app",
"imagePullPolicy": "IfNotPresent"
}
]'
"spec":
"containers":
- "name": "tomcat"
"image": "private/tomcat"
"ports":
- "containerPort": 8080
"protocol": "TCP"
"imagePullSecrets":
- "name": "my-secret"
"restartPolicy": "Always"
"strategy": {}
"status": {}

我还尝试了这里建议的更改 kubernetes init containers using a private repo :
"pod.beta.kubernetes.io/init-containers": '[
{
"name": "app",
"image": "private/app",
"imagePullPolicy": "IfNotPresent",
"imagePullSecrets": [
{
"name": "my-secret"
}
]
}
]'

但是还是什么都没有……

请注意,我已经在没有 init 容器的情况下测试了此部署,并且图像拉取成功。

另请注意,这是我实际配置的简化版本,在实际配置中,容器和一些环境变量都有卷安装。

如何为 init-container 配置“imagePullSecrets”?

编辑:
我在 kubernetes slack channel 中四处询问,似乎我忘记授予集群 docker 用户(如果你愿意的话是 CI docker 用户)权限,一旦我这样做了 init 容器上的“imagePullPolicy”是多余的,"template">“规范”上的那个就足够了。

谢谢@koki,无论你在哪里。

最佳答案

您应该使用 secret目的。

像这样的东西:

  kubectl create secret docker-registry myregistry \
--docker-server=https://example.io \
--docker-username=foo \
--docker-password=boosecret \
--docker-email=example@boo.com

并在像这样的另一个对象中使用它:
  imagePullSecrets:
- name: myregistry

关于kubernetes - 在私有(private) repo 上使用 kubernetes init 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42462244/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com