Add appProtocol option with uppercase support to nginx-ingress-controller service
Summary
For GKE with Gateway API, the nginx-ingress-controller service to has to have spec.ports.*.appProtocol
defined. Additionally for GKE the value needs to be uppercase.
I found !2705 (merged), where this was discussed. With 1.19 out of support, I am hoping this can be revisited.
Steps to reproduce
Helm install
Current behavior
The service is created without appProtocol:
apiVersion: v1
kind: Service
spec:
ports:
- name: http
protocol: TCP
port: 80
targetPort: http
nodePort: 00000
- name: https
protocol: TCP
port: 443
targetPort: https
nodePort: 00000
- name: gitlab-shell
protocol: TCP
port: 22
targetPort: gitlab-shell
nodePort: 00000
selector:
app: nginx-ingress
component: controller
release: gitlab
clusterIP: 00.00.00.00
clusterIPs:
- 00.00.00.00
type: LoadBalancer
sessionAffinity: None
externalTrafficPolicy: Local
healthCheckNodePort: 00000
ipFamilies:
- IPv4
ipFamilyPolicy: SingleStack
allocateLoadBalancerNodePorts: true
internalTrafficPolicy: Cluster
Expected behavior
The service to be created with appProtocol
and and option to make its value uppercase for GKE:
apiVersion: v1
kind: Service
spec:
ports:
- name: http
protocol: TCP
appProtocol: HTTP
port: 80
targetPort: http
nodePort: 00000
- name: https
protocol: TCP
appProtocol: HTTPS
port: 443
targetPort: https
nodePort: 00000
- name: gitlab-shell
protocol: TCP
port: 22
targetPort: gitlab-shell
nodePort: 00000
selector:
app: nginx-ingress
component: controller
release: gitlab
clusterIP: 00.00.00.00
clusterIPs:
- 00.00.00.00
type: LoadBalancer
sessionAffinity: None
externalTrafficPolicy: Local
healthCheckNodePort: 00000
ipFamilies:
- IPv4
ipFamilyPolicy: SingleStack
allocateLoadBalancerNodePorts: true
internalTrafficPolicy: Cluster
Something like:
nginx-ingress:
controller:
service:
appProtocol: true
appProtocolInUpperCase: true
Versions
- Chart: latest (7.2.x)
- Platform:
- Cloud: (GKE | AKS | EKS | ?)
- Self-hosted: (OpenShift | Minikube | Rancher RKE | ?)
- Kubernetes: (
kubectl version
)- Client:
- Server:
- Helm: (
helm version
)- Client:
- Server:
Edited by Jason Plum