【问题标题】:helm custom chart ErrImagePullhelm 自定义图表 ErrImagePull
【发布时间】:2020-01-17 18:31:18
【问题描述】:

我一直在尝试创建一个自定义 helm 图表,但是无论我在图表中添加什么图像,我都会得到 ErrImagePull,我可以很容易地重新创建它:

helm create my-chart

(使用默认的 nginx docker 镜像):

helm install my-chart . 
NAME: my-chart
LAST DEPLOYED: Fri Jan 17 12:26:13 2020
NAMESPACE: example
STATUS: deployed
REVISION: 1
NOTES:

为不同的图像更改 values.yaml (nginx -> ubuntu):

    7 image:
    8   repository: ubuntu
    9   pullPolicy: IfNotPresent

更新 helm 部署:

helm upgrade my-chart . 
Release "my-chart" has been upgraded. Happy Helming!
NAME: my-chart
LAST DEPLOYED: Fri Jan 17 12:30:13 2020
NAMESPACE: example
STATUS: deployed
REVISION: 2
NOTES:

Pod 状态:

kubectl get pods
NAME                        READY   STATUS             RESTARTS   AGE
my-chart-54fb9969dd-gnpt9   0/1     ImagePullBackOff   0          32s
my-chart-56485d7b7-hc25q    1/1     Running            0          4m32s

描述 pod:

Events:
  Type     Reason     Age                From               Message
  ----     ------     ----               ----               -------
  Normal   Scheduled  <unknown>          default-scheduler  Successfully assigned example/my-chart-54fb9969dd-gnpt9 to aw
  Normal   Pulling    15s (x3 over 62s)  kubelet, aw        Pulling image "ubuntu:1.16.0"
  Warning  Failed     13s (x3 over 59s)  kubelet, aw        Failed to pull image "ubuntu:1.16.0": rpc error: code = Unknown desc = failed to resolve image "docker.io/library/ubuntu:1.16.0": no available registry endpoint: docker.io/library/ubuntu:1.16.0 not found
  Warning  Failed     13s (x3 over 59s)  kubelet, aw        Error: ErrImagePull
  Normal   BackOff    1s (x3 over 58s)   kubelet, aw        Back-off pulling image "ubuntu:1.16.0"
  Warning  Failed     1s (x3 over 58s)   kubelet, aw        Error: ImagePullBackOff

【问题讨论】:

  • “没有可用的注册表端点”听起来像是网络连接问题,而不是真正与编程相关的问题。
  • 我可以毫无问题地安装其他 helm 图表:kubectl get pods NAME READY STATUS RESTARTS AGE apache-755bb59fdf-cntck 1/1 Running 0 4m32s my-chart-nameservers-5746bf949d-n86tk 0/1 ImagePullBackOff 0 52m nginx-78c744689d-szzkf 1/1 Running 0 18s

标签: docker kubernetes-helm


【解决方案1】:

问题是由于helm模板默认使用chart.appversion引起的

image: "{{ .Values.image.repository }}:{{ .Chart.AppVersion }}"
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"

当您helm create my-chart 转到 deployments.yaml 并更改 image: 部分以使用 tag 变量,然后从 values.yaml 添加如下内容:

 8   repository: ubuntu
 9   tag: latest                 
10   pullPolicy: IfNotPresent    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-16
    • 2020-03-28
    • 1970-01-01
    • 2019-11-23
    • 2020-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多