如何通过Helm/Helmfile部署kind官方Nginx Ingress远程YAML配置
可直接落地的两种Helm/Helmfile解决方案
两种方案均不需要本地维护配置副本,可自动同步上游更新,无需额外手动执行kubectl命令。
方案1:使用Ingress Nginx官方Chart部署(推荐,扩展性更强)
Ingress Nginx官方已提供原生维护的Helm Chart,只需在你的helmfile.yaml中新增对应Release配置,填入kind适配参数即可:
releases: # 你原有应用的Release配置保持不变,新增以下内容 - name: ingress-nginx namespace: ingress-nginx createNamespace: true chart: ingress-nginx/ingress-nginx version: ">=4.7.0" repo: https://kubernetes.github.io/ingress-nginx values: controller: # 完全对齐kind官方部署配置的参数 service: type: NodePort nodePorts: http: 30080 https: 30443 extraArgs: publish-status-address: localhost
该方案优势:可跟随官方Chart版本迭代自动获取功能更新、安全修复,同时支持灵活自定义Ingress配置。
方案2:直接引用官方kind部署YAML(零改造成本,完全复用现有配置)
如果你不需要自定义参数,想完全复用当前使用的官方kind专用部署文件,可直接在Helmfile中引用远程YAML资源,无需自行封装Chart:
releases: # 你原有应用的Release配置保持不变,新增以下内容 - name: ingress-nginx namespace: ingress-nginx createNamespace: true chart: "https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml"
如果需要锁定配置版本避免上游更新带来的不稳定,只需将链接中的main替换为对应Ingress Nginx的发布分支标签即可。
内容的提问来源于stack exchange,提问作者Abulafia
相关产品推荐
相关产品推荐

