DigitalOcean Kubernetes (DOKS) is a managed Kubernetes service that lets you deploy Kubernetes clusters without the complexities of handling the control plane and containerized infrastructure. Clusters are compatible with standard Kubernetes toolchains and integrate natively with DigitalOcean Load Balancers and block storage volumes.
DigitalOcean Kubernetes includes metrics visualizations to provide insight into the health of your Kubernetes clusters and deployments.
Basic metrics include CPU usage, load averages, bandwidth, and disk I/O. Basic metrics are useful for capacity planning and identifying unhealthy worker nodes. For example, you can set up alerting for worker node metrics.
Basic metrics are available by default for clusters, node pools, and worker nodes because all Kubernetes clusters come with the DigitalOcean metrics agent, a lightweight, open-source service that forwards metrics to the DigitalOcean’s Prometheus backend.
Advanced metrics include deployment status metrics, like DaemonSet pod scheduling and availability. Advanced metrics are useful for in-depth views into Kubernetes-specific metrics.
To use advanced monitoring, you need to install the sidecar agent
To complement DigitalOcean advanced Kubernetes monitoring, you can also install Linkerd 2, a third-party tool that provides service-level observability.
To enable DigitalOcean’s optional Kubernetes deployment metrics, you need to install
kube-state-metrics, a sidecar metrics agent that collects object state metrics from the Kubernetes API server.
From the command line, first clone the
git clone https://github.com/kubernetes/kube-state-metrics.git
kube-state-metrics to the
kube-system namespace using
kubectl create -f kube-state-metrics/examples/standard/
kube-state-metrics is installed, the new metrics will appear along with your Kubernetes basic metrics for cluster-level views. It may take a few minutes for the graphs to populate.
kube-state-metricsdeployment is in the
kube-state-metrics, run the following
kubectl delete command from the directory where you installed the repo.
kubectl delete -f kube-state-metrics/examples/standard/
You can view advanced performance metrics after you install
kube-state-metrics. Click the name of the cluster to go to its Overview page, then click the Insights tab.
Use the Select object drop-down to choose a cluster.
Use the Select period drop-down to change between metrics time frames, from 1 hour to 30 days. Each graph will display approximately 300 data points.
By default, the summary to the right shows the most recent metrics values. If you hover over a time point on one of the graphs, the summary will display the values from that time point instead.
If you recently installed the sidecar agent, it may take a few minutes for the metrics data to finish processing before you see it on the Insights page.
The Kubernetes deployment metrics include:
All advanced metrics plots represent metrics aggregated across the cluster.
The pod deployment status plot displays the number of pods expected at deployment start, and the count of the pods that are available and unavailable after deployment.
If you are using DaemonSets, the DaemonSet deployment status plot displays the number of nodes that should be running a daemon pod, the number of nodes that have been updated and have available daemon pods, and the number of nodes that have been updated but have unavailable daemon pods.
If you are using StatefulSets, the StatefulSet deployment status plot displays the requested number of StatefulSet pods and the number created and ready for use.