Open ishells opened 4 months ago
请 @johnlanni 看一下这个问题,我们是否有必要支持修改 controller 和 gateway name 的功能。
修改 name 的目的是什么呢
修改 name 的目的是什么呢
为了区分多个项目的higress实例,比如我们在之前的nginx ingress的使用习惯中,会为不同的项目部署不同的nginx ingress实例(同时修改不同nginx ingress实例的name和ingressClass)方便在查看时一目了然,而不是只通过ingressClasss进行区分
修改 name 的目的是什么呢
为了区分多个项目的higress实例,比如我们在之前的nginx ingress的使用习惯中,会为不同的项目部署不同的nginx ingress实例(同时修改不同nginx ingress实例的name和ingressClass)方便在查看时一目了然,而不是只通过ingressClasss进行区分
那可以部署到不同的命名空间下诶
修改 name 的目的是什么呢
为了区分多个项目的higress实例,比如我们在之前的nginx ingress的使用习惯中,会为不同的项目部署不同的nginx ingress实例(同时修改不同nginx ingress实例的name和ingressClass)方便在查看时一目了然,而不是只通过ingressClasss进行区分
那可以部署到不同的命名空间下诶
是我们这边有一个validating webhook,会检测 业务名称空间下的服务是否以 project_mark 开头命名,诸如 xxxx-prod 名称空间下的 xxxx-controller,所以我们这边的使用习惯就是不同项目的nginx ingress controller name都会命名为 project_mark-nginx-ingress-...,所以会考虑换名称这个事情
roject_mark-nginx-ingress-...,所以会考虑换名称这个事情
不过higress并不要求必须和业务pod部署在一个ns下。你们可以单独在其他的ns里部署higress,只要让他监听对应ns下面的ingress就行了。这样也可以很好的进行配置和资源隔离。
我们生产环境中为了隔离性与稳定性,一个项目一个单独的nginx ingress controller,基本都是单独部署在xxx-nginx-ingress命名的项目ns下;同时又存在validating webhook检验命名规范,所以如果不更改higress名称的话,做不到部署多个分别监听不同的项目。
就是部署的时候比较疑惑,提供了name相关的参数,改了又会出错。没关系,这个需求可能也算小众。
在对接 console 这方面,可以考虑将 controller 和 gateway 的 service name 写入到 higress-config 之类的 configmap 里,由 console 进行读取。
Ⅰ. Issue Description
Helm模板values参数设计不合理,
1、修改 higress/charts/higress-core/values.yaml 的 .Values.controller.name / .Values.gateway.name 参数之后部署,无法启动 gateway
日志报错
2、修改 higress/charts/higress-console/values.yaml 的 .Values.service.port 参数之后部署,higress console pod 无法变为running状态
Ⅵ. Environment: