Skip to content
This repository has been archived by the owner on Dec 13, 2023. It is now read-only.

Connect existing Ingress service on Google Cloud #162

Closed
Simran-B opened this issue Aug 29, 2019 · 0 comments
Closed

Connect existing Ingress service on Google Cloud #162

Simran-B opened this issue Aug 29, 2019 · 0 comments

Comments

@Simran-B
Copy link
Collaborator

Simran-B commented Aug 29, 2019

Theo in Community Slack (about k8s cluster):

I am trying to connect an existing Ingress service on Google Cloud with my ArangoDB instance (using the operator). I do not choose LoadBalancer as an external service since this is going to create a new LoadBalancer (which I do not want), so I create a manual NodePort service which I assign to my Ingress controller yaml. However the Ingress cannot see the service.

...

Ok I found the issue here. The Google Cloud Ingress creates a Level 7 LoadBalancer for HTTP and HTTPS traffic. It demands a health check for all containers. The ArangoDB coordinator containers include a readiness probe, however the schema is set to HTTPS. However the default connection between an Ingress resource defaults to HTTP when communicating with a Service and the Ingress controller cannot access the readinessProbe. The solution is to default the Service with this annotation:

kind: Service
apiVersion: v1
metadata:
  name: arangodb-staging-service-nodeport
  annotations:
    cloud.google.com/app-protocols: '{"https-port":"HTTPS"}'
spec:
  selector:
    arango_deployment: arangodb-staging
    role: coordinator
  type: NodePort
  ports:
    - name: https-port
      port: 8529
      targetPort: 8529

This enables the Ingress to connect with the readiness probe.

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

No branches or pull requests

2 participants