Skip to content
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

do-loadbalancer-protocol: 'http2' results in 'http2' --> 'http' #378

Open
evilaugust opened this issue Jun 4, 2021 · 4 comments
Open

do-loadbalancer-protocol: 'http2' results in 'http2' --> 'http' #378

evilaugust opened this issue Jun 4, 2021 · 4 comments

Comments

@evilaugust
Copy link

evilaugust commented Jun 4, 2021

When setting the load balancer protocol, the droplet protocol defaults to HTTP instead of HTTP2. Is there an annotation to set the droplet protocol?

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol: 'false'
    service.beta.kubernetes.io/do-loadbalancer-name: 'ingress-lb-nyc1-01'
    service.beta.kubernetes.io/do-loadbalancer-protocol: 'http2'
    service.beta.kubernetes.io/do-loadbalancer-certificate-id: 'e22edb46-3d40-4b4b-a608-bd741da45562'
    service.beta.kubernetes.io/do-loadbalancer-algorithm: 'least_connections'
    service.beta.kubernetes.io/do-loadbalancer-size-slug: 'lb-small'
    service.beta.kubernetes.io/do-loadbalancer-http2-ports: '5000'
  labels:
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/instance: ingress-nginx
    app.kubernetes.io/component: controller
  name: ingress-nginx-controller
  namespace: ingress-nginx
spec:
  type: LoadBalancer
  externalTrafficPolicy: Cluster
  ports:
    - name: grpc
      port: 5000
      protocol: TCP
      targetPort: 5000
  selector:
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/instance: ingress-nginx
    app.kubernetes.io/component: controller
@timoreimann
Copy link
Collaborator

Hi @evilaugust 👋

IIUC, you'd like to set different target and entry protocols. This is similar to #367 but unfortunately, right now it is not supported. I'm happy to keep the ticket open to track support.

@evilaugust
Copy link
Author

@timoreimann Thank you for your response. Actually, I want the target and entry to be the same. They should both be HTTP2, but when I set service.beta.kubernetes.io/do-loadbalancer-protocol: 'http2', the target defaults to HTTP while the entry protocol gets set to HTTP2, which is essentially pointless. I just need them both to be HTTP2. Is that possible?

@evilaugust
Copy link
Author

@timoreimann I honestly have no issue configuring the load balancer manually at the moment, however, with the managed Kubernetes implementation, the load balancer seems to automatically rebuild when the node pool scales, which makes sense, but is there anyway in preventing it from reconfiguring the protocols when this happens? Otherwise, how are other people handling gRPC ingress in DO?

@timoreimann
Copy link
Collaborator

Time has passed on, and by now Gateway API is a thing in the Kubernetes community. We should seriously consider that to be the structure to adopt for better configuration UX.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants