Kubernetes Control Plane Monitoring
Kubernetes Control Plane Monitoring
Why Kubernetes Control Plane monitoring
Ensure the Control Plane is functioning with its complete capacity by monitoring its key components. The Control Plane is the nerve center of a Kubernetes cluster and provides detailed insights into the health of the kubernetes infrastructure allowing you to monitor container workloads of all the components of the kubernetes cluster.
- API Server: API server is considered as the front end of the kubernetes control plane which also acts as a communication hub between the components and the developer. Kubernetes API server validates and configures data for API objects which include pods, services, replication controllers and others.
Gain insight into the server’s workload and its resources e.g. number of requests , goroutines, and threads. analyze the depth of the registration queue, which tracks queued requests from the Controller or Scheduler and can reveal if the API Server is falling behind in its work. Keep track of total number of server requests, number of dropped requests, to manage resource saturation.
- Scheduler: A policy rich function that significantly impacts availability, performance, capacity of cluster as scheduler has to assign nodes as soon a new pod is created. Scheduler designates nodes based on many factors, such as collective resource requirements, quality of service requirements, data location, affinity and anti-affinity specifications, deadlines.
Insight into number of goroutines, threads, and HTTP requests to and from the API Server, count of goroutines and threads for high-level view of the overall workload of Scheduler, client request rates and duration for deeper insight into the calls Scheduler is making, and how efficiently those calls are being managed.
- etcd: Store all of the data related to cluster configuration including the current and desired state of components running in the cluster.
Identify no of pending and failed proposals and generate alerts for any changes on to your data propagating across the cluster. Analyzing data sent and received by the gRPC proxy can help ensuring the downstream and upstream connections are alive and etcd is communicating uninterruptedly.
- Controller Manager: Controller manager embeds the core control loops shipped with Kubernetes. The controller watches the status of different services deployed and take corrective actions to drive the cluster towards the desired state.
- Node Controller: Take care of noticing and responding when nodes go down
- Replication controller: Maintain the number of pods for every replication controller object in the system
- Token controller: Creates accounts and API access tokens for new namespaces
- Endpoints controller: Populates the endpoints objects, such as joins services and pods
Monitor the number of healthy versus unhealthy nodes to identify cluster-wide issues or the Controller Manager’s failure to correctly handle failing nodes. observe the number of HTTP requests from the manager to the API Server to ensure normal communication across two components. Monitor the manager’s queues, where every actionable component (e.g. replication of a pod) is placed before it’s carried out. Insight into latency per queue, retries per queue, and depth per queue to track the performance of the manager.
Benefits of Cloud Plane Monitoring through Cavisson NetDiagnostics
Detect and troubleshoot latency and cluster errors
Validate service performance
Visibility into communication between cluster components
Data about clusters state and configuration
Detailed view of real time data on workload & latencies of components
Track the source of truth of the entire kubernetes technology
Detect anomalies upon any breaches
Generate alerts for any threshold breach