<p>I"m new to Kubernetes and AWS, treat me like a noob.</p>

<p>I've got Kubernetes running in AWS with the following names:</p>

<pre><code>&gt;  kube kubectl get pods --all-namespaces
NAMESPACE       NAME                                                                READY   STATUS    RESTARTS   AGE
ingress-nginx   nginx-ingress-controller-76c86d76c4-s6kvk                           1/1     Running   0          28h
kube-system     calico-node-xxzzz                                                   1/1     Running   0          28h
kube-system     dns-controller-5czzzzzzfbd-t7pf8                                    1/1     Running   0          28h
kube-system     etcd-manager-main-ip-11-11-11-11.eu-west-1.compute.internal         1/1     Running   0          28h
kube-system     kube-apiserver-ip-11-11-11-11.eu-west-1.compute.internal            1/1     Running   2          28h
kube-system     kube-controller-manager-ip-11-11-11-11.eu-west-1.compute.internal   1/1     Running   0          28h
kube-system     kube-dns-111116bb49-pbt2l                                           3/3     Running   0          28h
kube-system     kube-dns-autoscaler-11111111-x8                                     1/1     Running   0          28h
kube-system     kube-proxy-ip-11-11-11-11.eu-west-1.compute.internal                1/1     Running   0          28h
kube-system     kube-scheduler-ip-10-84-37-60.eu-west-1.compute.internal            1/1     Running   0          28h
</code></pre>

<p>My goal is to install Gitlab via Charts on Kubernetes. However, the issue i'm up against is the routing. <a href="https://gitlab.doc.ic.ac.uk/help/install/kubernetes/gitlab_chart.md#routing" rel="nofollow noreferrer">Here</a> it states I need to set a <em>serviceType</em> field in a file.</p>

<p>But how can I determine the correct value specified in that file?
Do I need to create a loadbalancer in AWS? Or is it already present somewhere, e.g. is the nginx Ingress controller?</p>

<p>I can install Gitlab via <code>helm</code></p>

<pre><code>helm upgrade --install gitlab gitlab/gitlab \
  --timeout 600 \
  --set global.hosts.domain=my_domain.com \
  --set global.hosts.externalIP=1.2.3.4 \
  --set certmanager-issuer.email=an_email@email.com \
  --namespace=gitlab \
  --debug
</code></pre>

<p>However, the domain I've provided is not reachable via my browser, because I didn't provide an serviceType for the loadbalancer. Also, I'm uncertain if my external IP is correct. </p>

<p>You have an nginx ingress controller running already.  Is it working?  If so, you should probably use that instead of a new load balancer.  </p>

<p>1) Configure your domain so that it is pointing to your ingress load balancer.  If you are using route53, you can set a wildcard A Record so that *.mydomain.com goes to the load balancer.</p>

<p>2) Add the appropriate ingress section to your values.yaml: <a href="https://gitlab.doc.ic.ac.uk/help/install/kubernetes/gitlab_chart.md#ingress-routing" rel="nofollow noreferrer">https://gitlab.doc.ic.ac.uk/help/install/kubernetes/gitlab_chart.md#ingress-routing</a></p>

<p>3) Use serviceType=ClusterIP.  </p>

<p>If you can't or don't want to use that Ingress Controller, then yes, serviceType=LoadBalancer is appropriate.  It will create an AWS ELB for you.  You'll need to add an A record for your domain pointing to that ELB.</p>
