Skip to content
This repository has been archived by the owner on Sep 17, 2020. It is now read-only.

Support Server Only K8s Deployments #14

Open
GaneshSPatil opened this issue Sep 30, 2017 · 2 comments
Open

Support Server Only K8s Deployments #14

GaneshSPatil opened this issue Sep 30, 2017 · 2 comments
Assignees

Comments

@GaneshSPatil
Copy link
Contributor

Type

  • Bug Report

Description

GoCD Helm Chart exposes GoCD application to the external world through Ingress. Which supports only http connections.
GoCD agents are unable to connect to the server running on kubernetes cluster as HTTPS port is not exposed!

@dodizzle
Copy link

I have this same issue.
To work around it I have 2 service configs.
One for port 8153 which is type:NodePort which the nginx-ingress loadbalancer uses as its backend.
The second service exposes port 8154 using the service type LoadBalancer.

The agents still fail to connect even with the correct goServerUrl because of a ssl handshake error but that is a separate issue.

@varshavaradarajan
Copy link
Contributor

Workaround: While using the helm chart, disable ingress. The gocd service (of type NodePort or LoadBalancer) exposes the https port which can be used by agents outside of the cluster to access the gocd server.

Service type (LoadBalancer|NodePort) is not designed to terminate HTTP(S) traffic as they are not aware of individual HTTP(S) requests while ingress is.

This worked on minikube. Since ingress is disabled, we need to provide another way of having ssl certs. Adding ssl certificates to this depends on the platform. On AWS, the service annotation - service.beta.kubernetes.io/aws-load-balancer-ssl-cert can be set to the ARN of the certificate, I think. I don't know what it is on GCP. Maybe https://cloud.google.com/load-balancing/docs/ssl-certificates will help.

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

No branches or pull requests

4 participants
@dodizzle @varshavaradarajan @GaneshSPatil and others