Kubernetes event monitoring
The Helm Deployer has been set up to continuously monitor kubernetes (k8s)
events. This feature uses the kubernetes
python API
and runs using threading.
Pods
Pod monitoring focuses on the deployments the Helm Deployer is responsible for. It updates (or creates if it does not exist) the deployment state entry in the configuration database, and adds information about the status of each pod that belongs to the specific deployment. The pod statuses it provides are:
PENDING
RUNNING
FINISHED
CANCELLED
FAILED
UNSET
The values directly depend on the pod phase and its condition event values.
A pod is set to RUNNING
only if its phase is RUNNING
and if at least
one of its conditions has type READY
and status True
.
SDP resources
The Helm Deployer also monitors certain Kubernetes CustomObject
s
that represent platform-level resources that SDP needs to be aware of.
These resources are read from Kubernetes
and result in entries in the configuration database
under the /resource
prefix.
Currently, the following Kubernetes resources are monitored:
NetworkAttachmentDefinition
s (Kubernetes plural:network-attachment-definitions
) with a labelsdp.skao.int/available-for-allocation
set totrue
. These result innetwork-attachment-definition
andsupernet
SDP resources in the configuration database. Together they define the parameters needed by the vis-receive script to coordinate the setup of the receiver pods to directly listen for data sent by CBF.