One of the advanced and most important features of kubernetes is the health-check which allows you to check the integrity of the services.
It is an additional layer that adds to the standard controls that guarantee that the application processes are always running ( livenessProbe ), the application integrity controls ( ReadinessProbe )
The advantage of the health check is that:
- It is specific for each container.
- It uses the same logic as the application (for example, loading a web page, pinging a DB ).
- The livenessProbe determines if the application is running correctly. Otherwise, the application is restarted.
- The ReadinessProbe describes when the container is ready to satisfy the requests of the users (and therefore of the service)
The configuration of the health -check is done by adding the livenessProbe and ReadinessProbe items to the POD configuration yaml file (see figure 1)
Port forwarding authorizes the service (configured at the POD level) to communicate both with other PODs and with the outside world. Without Port Forwarding, the service is totally isolated.
The simplest example is that of a website. As long as port-forwarding is not started, the pages of the site are not available to users.
In our example ( some-mysql ), after POD has started, the command to enable application port-forwarding on port 8000 is:
kubectl port forward some-mysql 8000: 8000
An article is available on the website www.gable.it that explores the networking issue of Container environments. To read it click here.
In a future article, we will talk about load balancers that help networking management.