<p>I have a workload deployed in kubernetes. I have exposed it using a load balancer service because I need an external IP to communicate with the workload.
The external IP is now publicly accessible. How do I secure it so that only I will be able to access it from an external application?</p>

<p>Kubernetes doesn't come with out-of-the-box authentication for external services. If you have more services and security is important for you I would take a look into istio project. You can configure authentication for your services in decalarative way using authentication policy:
<a href="https://istio.io/docs/tasks/security/authn-policy/#end-user-authentication" rel="nofollow noreferrer">https://istio.io/docs/tasks/security/authn-policy/#end-user-authentication</a>
Using istio you can secure not only incoming connections, but also outgoing and internal traffic.</p>

<p>If you are new to service mesh concept and you don't know how to start, you can check <a href="https://github.com/kyma-project/kyma" rel="nofollow noreferrer">kyma-project</a> where istio is already configured and you can apply token validation with one click in UI or single kubectl command. Check the example:
<a href="https://github.com/kyma-project/examples/tree/master/gateway" rel="nofollow noreferrer">https://github.com/kyma-project/examples/tree/master/gateway</a></p>
