k8s helm ingress-nginx Error: template: ingress-nginx/templates/controller-role “update-status“

这篇具有很好参考价值的文章主要介绍了k8s helm ingress-nginx Error: template: ingress-nginx/templates/controller-role “update-status“。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

环境:

k8s,使用helm包管理器安装ingress-nginx时,安装文件出错

  • helm 版本:Version:“v3.2.3”
  • k8s 版本:Kubernetes v1.23.6
  • ingress-nginx
    • chart version:4.9.0
    • app version:1.9.5

问题描述

前面都按网上的教程做,没有什么大问题
最后一步执行安装命令

helm install ingress-nginx ./ingress-nginx -n ingress-nginx

命令执行失败,报错

Error: template: ingress-nginx/templates/controller-role.yaml:48:9: 
executing "ingress-nginx/templates/controller-role.yaml" at 
<ne (index .Values.controller.extraArgs "update-status") "false">: error calling ne: invalid type for comparison

原因分析:

问题可能出现在对.Values.controller.extraArgs[“update-status”] 的比较上,其中 .Values.controller.extraArgs 是一个值的集合,而 “update-status” 则是要比较的键。而比较的目的是将其与字符串 “false” 进行比较。

简单地说,就是value.yaml文件中有一个值缺少或者设置不对,.Values.controller.extraArgs[“update-status”] ,就是这个


解决方案:

前言:我在网上貌似找不到相应的解答,所以我也就硬着头皮改value.yaml,下面是我尝试的方法,而且ingress-nginx确实成功运行起来了,但我不确定我的修改到底会造成什么后果,我暂时没搞懂背后的具体原理,仅作为参考

  • 首先找到value.yaml文件,value.yaml就在 ingress-nginx 的包中
    error: template: ingress-nginx/templates/controller-role.yaml:48:9: executin,随笔小记,kubernetes,nginx,容器
  • 编辑value.yaml,根据报错信息(Values.controller.extraArgs[“update-status”])与yaml文件的结构找到位置 ,即value文件 controller下的extraArgs的位置

小技巧,先使用编辑器查找功能找到 controller,再使用查找功能找到 extraArgs

error: template: ingress-nginx/templates/controller-role.yaml:48:9: executin,随笔小记,kubernetes,nginx,容器

error: template: ingress-nginx/templates/controller-role.yaml:48:9: executin,随笔小记,kubernetes,nginx,容器

# 如果事先没有修改value.yaml文件
extraArgs: {}
我尝试将其修改为如下,详情看上图
extraArgs:
    update-status:  "true" # 有兴趣的也可以改成false试一下,我就没再实验的
  • 至于为什么这样修改,我的想法是,报错信息说这里的 update-status 与某个值比较失败(invalid type for comparison),但文件里面又没有这个值,我又找不到别的解决方法,我干脆就直接在这里加上一个值 update-status: “true”,再次执行安装指令
helm install ingress-nginx ./ingress-nginx -n ingress-nginx
  • 安装成功

error: template: ingress-nginx/templates/controller-role.yaml:48:9: executin,随笔小记,kubernetes,nginx,容器文章来源地址https://www.toymoban.com/news/detail-841869.html

  • 等待一段时间,等待ingress-nginx运行起来
    error: template: ingress-nginx/templates/controller-role.yaml:48:9: executin,随笔小记,kubernetes,nginx,容器

到了这里,关于k8s helm ingress-nginx Error: template: ingress-nginx/templates/controller-role “update-status“的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 第12关 精通K8s下的Ingress-Nginx控制器:生产环境实战配置指南

    ------ 课程视频同步分享在今日头条和B站 大家好,我是博哥爱运维,这节课带来k8s的流量入口ingress,作为业务对外服务的公网入口,它的重要性不言而喻,大家一定要仔细阅读,跟着博哥的教程一步步实操去理解。 Ingress基本概念 在Kubernetes集群中,Ingress作为集群内服务对外

    2024年02月03日
    浏览(47)
  • grafana呈现loki从k8s/ingress-nginx中收集的日志-地区经纬度部分

    1,在用grafana展示loki日志的时候,想到用可视化的方式来呈现更直观,于是网上查找,找到一篇《如何用Loki来绘制Ingress Nginx监控大屏》被复用多次,按照其过程实践引用了12559的面板,但效果与原文描述的不一致,可能是gf版本,或者插件版本变更等原因造成。尝试了几次终

    2024年02月21日
    浏览(52)
  • k8s中部署nginx-ingress实现外部访问k8s集群内部服务

    k8s通过nginx-ingress实现集群外网访问功能 1.1 ingress 工作原理 step1:ingress contronler通过与k8s的api进行交互,动态的去感知k8s集群中ingress服务规则的变化,然后读取它,并按照定义的ingress规则,转发到k8s集群中对应的service。 step2:而这个ingress规则写明了哪个域名对应k8s集群中的

    2024年02月07日
    浏览(38)
  • K8S Nginx Ingress实现金丝雀发布

    通过给 Ingress 资源指定 Nginx Ingress 所支持的 annotation 可实现金丝雀发布。 需给服务创建2个 Ingress,其中 1个常规 Ingress , 另1个为带  nginx.ingress.kubernetes.io/canary: \\\"true\\\"  固定的 annotation 的 Ingress,称为 Canary Ingress。 Canary Ingress 一般代表新版本的服务,结合另外针对流量切分策

    2024年02月11日
    浏览(44)
  • 关于k8s中ingress、Gateway、nginx之间关系

    在Kubernetes中,Ingress是一种用于将外部流量路由到集群内部服务的API对象。它通常与Ingress控制器一起使用,Ingress控制器负责根据Ingress规则路由外部流量到不同的服务上。 下面是使用Ingress的一些步骤: 安装Ingress控制器 在Kubernetes中,Ingress控制器是需要安装和配置的。有许多

    2024年02月09日
    浏览(37)
  • K8s集群nginx-ingress监控告警最佳实践

    本文分享自华为云社区《K8s集群nginx-ingress监控告警最佳实践》,作者:可以交个朋友。 nginx-ingress作为K8s集群中的关键组成部分。主要负责k8s集群中的服务发布,请求转发等功能。如果在访问服务过程中出现404和502等情况,需要引起注意。 可以通过CCE集群插件kube-prometheus-s

    2024年04月22日
    浏览(34)
  • k8s 对外服务之 ingress|ingress的对外暴露方式|ingress http,https代理|ingress nginx的认证,nginx重写

    service的作用体现在两个方面,对集群内部,它不断跟踪pod的变化,更新endpoint中对应pod的对象,提供了ip不断变化的pod的服务发现机制;对集群外部,他类似负载均衡器,可以在集群内外部对pod进行访问。 在Kubernetes中,Pod的IP地址和service的ClusterIP仅可以在集群网络内部使用,

    2024年02月10日
    浏览(46)
  • k8s之ingress-nginx-controller与metallb部署

    在Kubernetes中,服务和Pod的IP地址仅可以在集群网络内部使用,对于集群外的应用是不可见的。为了使外部的应用能够访问集群内的服务,Kubernetes 目前提供了以下几种方案: NodePort LoadBalancer Ingress 为了解决外部访问k8s内服务及负载均衡问题,这里介绍如何安装ingress-nginx-cont

    2023年04月08日
    浏览(37)
  • k8s 安装 Nginx Ingress 控制器时无法下载镜像的问题

    Ingress 是对集群中服务的外部访问进行管理的 API 对象,典型的访问方式是 HTTP。 Ingress 可以提供负载均衡、SSL 终结和基于名称的虚拟托管 官方说明如下: 你必须拥有一个 Ingress 控制器 才能满足 Ingress 的要求。 仅创建 Ingress 资源本身没有任何效果 你可能需要部署 Ingress 控制

    2024年02月07日
    浏览(54)
  • nginx 多层代理 + k8s ingress 后端服务获取客户真实ip 配置

    1.nginx http 七层代理 修改命令空间: namespace: nginx-ingress : configmap:nginx-configuration 添加如上配置 compute-full-forwarded-for: “true” forwarded-for-header: X-Forwarded-For use-forwarded-headers: “true” 即可; 2. nginx stream 4层代理: nginx 需要编译增加–with-stream_realip_module模块,然后对应的server块

    2024年02月08日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包