GitLab built-in Kubernetes dashboard Design
Problem to solve
As Priyanka (Platform Engineer) I want insights into a cluster around the status of my deployments, tailed logs and overall metrics, so I can troubleshoot a deployment from a review environment to production.
As an Application Operator, I want to follow how a deployment is being rolled out / rolled back, see the related metrics and be warned if my intervention is required, so I can deploy often and with confidence.
JTBD and Tasks
- I want to be confident about the status of a recent deployment, and I want to be able to follow how it's rolled out
- I want to know when the environment changes
- I want to have a quick overview of the systems I own to either start my regular job or to look into potential problems
- I want to reach the logs, metrics and traces easily from a list of reported resources
- I want to see the metrics driving the rollout of an active canary deployment
Proposal
Provide a page with a dashboard view of all available resources. Group some common resources for better UX. For example:
Namespace
- Status - Labels - AnnotationsNot in scope for the MVC:
- CPU
- Memory
- Network
- Quotas and Limits
Deployment
- Synch status
- Labels
- Annotations
- Revisions
- List of Pods
- List of Replicasets
- Namespace
Not in scope for the MVC:
- CPU
- Memory
- Network
Pod
- Status
- Labels
- Annotations
- Namespace
- Container image
- Link to ReplicaSet and Deployment
- Node
- IP and ports
- Mounts
Not in scope for the MVC:
- Logs
- Events
- CPU
- Memory
- Network
ConfigMap
- Namespace
- Labels
- Annotations
- Data
Services
- Status
- Namespace
- Labels
- Annotations
- Type
- Selector
- IP
- Ports
Secret
- Namespace - Type - Labels - Annotations - DataIn terms of resource views
- We can show what the agent/user RBAC allows
- We can show what is within an inventory object
- Or we can start with the RBAC and have quick filters to restrict it to an inventory object
We will start with what the agent/user RBAC allows
Figma link
Intended users
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.