Separating internal and external services
Internal services are services that are accessed directly only by other services or jobs in the cluster (or administrators that log in and run ad hoc tools). In some cases, internal services are not accessed at all, and just perform their function and store their results in a persistent store that other services access in a decoupled way.
But some services need to be exposed to users or external programs. Let's look at a fake Hue service that manages a list of reminders for a user. It doesn't really do anything, but we'll use it to illustrate how to expose services. I pushed a dummy hue-reminders
image (the same as hue-learn
) to Docker Hub:
docker push g1g1/hue-reminders:v2.2
Deploying an internal service
Here is the deployment, which is very similar to the Hue-learner deployment, except that I dropped the annotations
, env
, and resources
sections, kept just one label to save space, and added a ports
section to the container. That's crucial, because a...