Log-Based Readiness Notification for Kubernetes Probes in async-container
#39
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Kubernetes has an out-of-band readiness probe, which does not follow the
sd_notifymodel. To integrateasync-containercontrollers with Kubernetes, readiness notifications can now be written to a log file, which Kubernetes can check using a readiness probe.Usage
To enable this feature, set the
NOTIFY_LOGenvironment variable when running a containerized application:During startup, the process logs structured JSON messages:
Once the log contains
{"ready":true}, Kubernetes can detect that the process is ready.Example: Kubernetes Deployment Configuration
The following Kubernetes deployment defines an exec-based readiness probe to check for the readiness message in the log file:
How It Works
/tmp/notify.log.grep -q '\"ready\":true' /tmp/notify.logevery 5 seconds.This allows
async-containercontrollers to integrate with Kubernetes readiness probes without requiring systemd or additional dependencies.Types of Changes
Contribution