-
Notifications
You must be signed in to change notification settings - Fork 136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature]: Helm — Independently configure container and service ports #9997
Comments
Your suggestion makes totally sense. I guess that the only reason why we don't have it is because it has never been asked before :-) I would suggest something like this: service:
ports:
- name: nessie-http
port: 80
targetPort: 19120
- name: nessie-https
port: 443
targetPort: 19121
managementService:
port:
name: nessie-mgmt
port: 9000
targetPort: 9000
extraServices:
ports:
- name: nessie-http-headless
port: 19120
targetPort: 19120
clusterIP: None It's not a difficult change per se, but we need to account for old fields ( WDYT? |
Supporting migration is necessary; even if it makes things more complicated now, it will allow the older fields to be deprecated and removed for an overall cleaner solution later. Regarding your suggestion for extraServices:
- name: nessie-ext
# Or this:
# nameSuffix: -ext
clusterIP: None
ports:
- name: nessie-http-headless
port: 19120
targetPort: 19120 Similarly, |
Absolutely, the structure here is meant to be
Hmm here I'm not so sure. I could easily see people trying to enter more than one port for the management service, which doesn't make sense (or does it?). I understand what you have in mind: you would like the whole thing to be of type |
Another problem with using |
I'm not suggesting you allow all fields; just the fields that you do include should mirror the structure defined by |
Description
I find the template for configuring Nessie's ports odd since there is all this logic going into checking the ports between the service and deployment are synchronized when they don't have to be.
Its best practice to not bind privileged ports inside containers and expose them on whatever port after the fact; doing so will also simplify the helm templates and make them easier to maintain.
nessie/helm/nessie/templates/_helpers.tpl
Lines 428 to 468 in 9954c6e
Put another way, the Kubernetes API exposes a very well defined, well understood way for specifying connections between Service ports and container ports; why not expose it directly?
Expected Use Cases
I would like to expose Nessie from my service on ports 80/443 respectively but still have the container bind on whatever is the defaults e.g. 19120/19121.
Requested Changes in public API
N/A
The text was updated successfully, but these errors were encountered: