Show current status of pods in deploy board
Description
Deploy boards show information about a deployment as it is rolled out across the pods in a service. But this is only part of the information. We should show the current status of pods during and after deploys. If a pod fails it's liveness probe, for example, it should show up on the board. We could even tie the display to more detailed Prometheus metrics so clicking or hovering over an individual pod could show a condensed view of the system and/or application metrics for that pod. Maybe we reduce the current Prometheus metrics to a simple green/yellow/green status and use that for finer grained status that pass/fail of liveness probe. This could help track down performance problems at the pod-level.
Proposal
In the deploy board show:
- A Pod’s status field is a PodStatus object, which has a phase field. (can also be an icon with a tooltip)
Value | Description |
---|---|
Pending | The Pod has been accepted by the Kubernetes system, but one or more of the Container images has not been created. This includes time before being scheduled as well as time spent downloading images over the network, which could take a while. |
Running | The Pod has been bound to a node, and all of the Containers have been created. At least one Container is still running, or is in the process of starting or restarting. |
Succeeded | All Containers in the Pod have terminated in success, and will not be restarted. |
Failed | All Containers in the Pod have terminated, and at least one Container has terminated in failure. That is, the Container either exited with non-zero status or was terminated by the system. |
Unknown | For some reason the state of the Pod could not be obtained, typically due to an error in communicating with the host of the Pod. |
- Probe state
-
livenessProbe: Indicates whether the Container is running. If the liveness probe fails, Show fail state. If a Container does not provide a liveness probe, the default state is Success.
-
readinessProbe: Indicates whether the Container is ready to service requests. If the readiness probe fails, Show fail state. If a Container does not provide a readiness probe, the default state is Success.
-
startupProbe: Indicates whether the application within the Container is started. All other probes are disabled if a startup probe is provided, until it succeeds. If the startup probe fails, Show fail state. If a Container does not provide a startup probe, the default state is Success
Links / references
https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/
Documentation blurb
(Write the start of the documentation of this feature here, include:
- Why should someone use it; what's the underlying problem.
- What is the solution.
- How does someone use this
During implementation, this can then be copied and used as a starter for the documentation.)
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.