【问题标题】:Error in installing ingress-nginx helm chart安装 ingress-nginx helm chart 出错
【发布时间】:2022-08-18 15:30:52
【问题描述】:

我正在通过 helm chart 安装 nginx 入口控制器,并且 pod 没有出现。权限有问题。

图表链接 - https://artifacthub.io/packages/helm/ingress-nginx/ingress-nginx

我正在使用最新版本 4.2.1

我按照此处所述进行了调试https://github.com/kubernetes/ingress-nginx/issues/4061 还尝试以root用户身份运行运行用户:0

我想我在集群从 1.19 升级到 1.22 后遇到了这个问题。以前它工作正常。

有什么建议我需要做些什么来解决这个问题?

存储假 SSL 证书时出现意外错误:无法创建 PEM 证书文件 /etc/ingress-controller/ssl/default-fake-certificate.pem:打开 /etc/ingress-controller/ssl/default-fake-certificate.pem:权限 拒绝

  • 我建议省略此参数,以便创建映像,或者创建一个具有相同卷的新测试 pod,并尝试执行到该 pod/容器中,然后您将看到问题出在哪里。
  • 我尝试将图像拉取策略设置为始终。我可以使用示例 pod 中的默认服务帐户访问机密。但我无法在该掌舵图中设置默认服务帐户
  • 您不需要 serviceAccount 来访问机密。您也可以在defaultBackend.serviceAccount 下的 values.yaml 文件中修改服务帐户
  • 但它仍然无法读取秘密。我应该怎么做才能让它能够读取秘密

标签: kubernetes kubernetes-helm amazon-eks nginx-ingress


【解决方案1】:

你显然有权限问题。查看您指定的图表,runAsUser 的多个值用于不同的配置。

controller.image.runAsUser: 101
controller.admissionWebhooks.patch.runAsUser: 2000
defaultBackend.image.runAsUser: 65534

我不确定为什么这些不同,但如果可能的话 -

尝试删除您现有的图表,然后重新安装它。

如果问题仍然存在 - 检查部署 / pod 事件,看看集群是否会提醒您某些事情。

同样值得注意的是,在 1.22 中对 Ingress 资源进行了重大更改。 检查官方发行说明中的​​thislinks

【讨论】: