Tuesday, January 10, 2023

Expose services from k8s clusters running on MacBook

Since Mac won’t route to docker network, it is a big problem when you run multiple clusters on Mac when you need to expose services outside of the k8s clusters, but with Nginx proxy, one can simply use the docker port map to achieve this. 

The idea is to do the following

1. Write a script which  will query every cluster and find all load balancer services
2. With all known load balancer services, create Nginx configuration file to proxy request
3. Once the Nginx configuration file is created, lunch Nginx on the docker network used by k8s clusters and map all the ports used.
4. Based on the nature of the services, either http, https or stream can be used.

The drawback is that the port map certainly will change, and each time a service is added or removed, the Nginx container will need to be restarted with new port map and configuration.

For test purposes, this solution should work.

No comments:

Post a Comment