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

Description
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