Skip to content
This repository was archived by the owner on Feb 27, 2023. It is now read-only.
This repository was archived by the owner on Feb 27, 2023. It is now read-only.

Can a http/2 gRPC application connect through envoy/heptio? #262

@hmorikaw

Description

@hmorikaw

Describe the solution you'd like
We are operating Gimbal cluster in our private cloud and got a request to get Gimbal support gRPC (http2) based endpoints as well.

Manually change the services discovered by Gimbal discoverer to support gRPC backends will work temporally.
Here is the example displaying what they do by hand.

$ cat loadbalancer-service.yaml
apiVersion: v1
kind: Service
metadata:
  annotations:
    contour.heptio.com/upstream-protocol.h2: 8080,port-8080 // <- Here!!
  labels:
    gimbal.heptio.com/backend: openstack-cluster
    gimbal.heptio.com/load-balancer-id: loadblancer-uuid
    gimbal.heptio.com/load-balancer-name: grpc-http2
    gimbal.heptio.com/service: loadbalancer-service
  name: openstack-cluster-service-uuid
  namespace: loadbalancer-namespace
spec:
  clusterIP: None
  ports:
  - name: port-8080
    port: 8080
    protocol: TCP
    targetPort: 8080
  sessionAffinity: None
  type: ClusterIP

But the services discovered by Gimbal discoverer are overwritten on the next cycle of discovery.
To make this happen without manual changes, we are expecting that ingressRoute has a functionality to support gRPC. If you know how to do it, let us know please.

Environment:

  • Gimbal Cluster Kubernetes version (use kubectl version): v1.13.4
  • Backend Cluster versions (OpenStack and/or Kubernetes): OpenStack Pike
  • Gimbal version (Gimbal git repository tag): v0.4.0
  • Contour version: v0.9.0
  • kubernetes-discoverer version: v0.4.0
  • openstack-discoverer version (if applicable):v0.4.0
  • Cloud provider or hardware configuration: Xeon E5-2650Lv3 1.80GHz /2CPU/512GBMEM/SAS 300GB x2/RAID1*1vol /NVMeSSD 3.2TB/Intel X540 10Gbase-T 2port
  • OS (e.g. from /etc/os-release): CentOS Linux release 7.6.1810
  • Kernel (e.g. uname -a): 3.10.0-957.5.1.el7.x86_64

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions