<p>I am using Kubernetes with service as ClusterIP and placing ingress in front of the service to expose this to outside the Kubernetes cluster.</p>
<p>Running ingress with https and to make it https, I created the secret and using the same in ingress.</p>
<pre><code>kubectl create secret tls test-secret --key key --cert cert
</code></pre>
<p>Using netscalar in our Kubernetes cluster and hence, I am able to use X-Forward-For, Session affinity, Load balancing algorithms along with ingress.</p>
<p>Now, trying to make the service type as LoadBalancer so that I don't have to have ingress.  I know, service type loadbalancer provides L4-loadbalancer and hence there won't be session affinity feature in the load balancer. Since it is okay for few services, I am trying to use this.</p>
<p>I would like to make the service HTTPS and I came across:</p>
<blockquote>
<p><a href="https://kubernetes.io/docs/concepts/services-networking/connect-applications-service/#securing-the-service" rel="nofollow noreferrer">https://kubernetes.io/docs/concepts/services-networking/connect-applications-service/#securing-the-service</a></p>
</blockquote>
<p>Here, we create TLS secret and using the reference in the deployment section and not in the service section. I am not sure how it works. Also, when I use <a href="https://servicename.namespace.svc.XXXXX.com" rel="nofollow noreferrer">https://servicename.namespace.svc.XXXXX.com</a> in the browser getting the cert error.</p>
<p>My application is running as https and it needs keystore and truststore in a property file like,</p>
<pre><code>ssl.trustore=PATH_TO_THE_FILE
ssl.keystore=PATH_TO_THE_FILE
</code></pre>
<p>I am confused - how can I make the service type loadbalancer https?</p>

<p>If you are using a cloud provider for example AWS you can enable TLS termination in a LoadBalancer Service like this:</p>

<pre><code>apiVersion: v1
kind: Service
metadata:
  name: api
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:...
    service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
spec:
  type: LoadBalancer
  selector:
    app: myApp
  ports:
    -  protocol: TCP
       port: 443
       targetPort: 8080
</code></pre>
