During the launch, Pods go through a sequence of execution stages. After scheduling the Pod on the Node and preparing and launching all containers, Kubernetes will check if the Pod is ready to serve requests. This validator detects if the Pod is not ready to serve requests. Pod can become not ready if the readinessProbe has failed. Also, there can be a readinessGates defined in the PodSpec to check for other custom readiness conditions.
Affected Resources: Pod
kind: Pod
...
status:
conditions:
- type: Ready
status: "False"
lastProbeTime: null
lastTransitionTime: 2022-01-01T00:00:00Z
kind: Pod
...
spec:
containers:
- name: worker
ports:
- containerPort: 8080
readinessProbe:
tcpSocket:
port: 8080
initialDelaySeconds: 5
periodSeconds: 10
kind: Pod
...
spec:
readinessGates:
- conditionType: "www.example.com/feature-1"
status:
conditions:
- type: Ready # a built in PodCondition
status: "False"
lastProbeTime: null
lastTransitionTime: 2022-01-01T00:00:00Z
- type: "www.example.com/feature-1" # an extra PodCondition
status: "False"
lastProbeTime: null
lastTransitionTime: 2022-01-01T00:00:00Z
Please let us know if there are other built-in validation rules you would like to see in Kubevious to detect misconfigurations and violations to best practices. Optionally, you can provide your details so we can reach out to you with follow-up questions.