Health Check

Last updated: 2021-01-27 15:06:22

    Overview

    The cluster health check feature is a service provided by Tencent Kubernetes Engine (TKE) for checking the status and health of each resource in a cluster. The resulting check report displays the detailed status and configuration of components, nodes, workloads, and other check items. If an exception is detected, this feature can describe the exception in detail, automatically analyze the severity, cause, and impact, and propose rectification suggestions.

    Note:

    During the health check, namespace tke-cluster-inspection will be automatically created in your cluster, and a Daemonset will be installed to collect node information. Both objects will be automatically deleted after the health check is completed.

    Main Check Items

    Check Category Check Item Check Content Self-Deployed Clusters Only
    Resource status kube-apiserver status Check whether the component is running. If the component runs as a pod, the health check feature checks whether it has restarted over the past 24 hours Yes
    kube-scheduler status Yes
    kube-controller-manager status Yes
    etcd status Yes
    kubelet status No
    kube-proxy status No
    dockerd status No
    Master node status Check whether the node status is Ready and free of any other exceptions, such as insufficient memory and insufficient disk space Yes
    Worker node status Check whether the node status is Ready and free of any other exceptions, such as insufficient memory and insufficient disk space No
    Status of each workload Check whether the number of currently available pods of the workload meets the expected number of pods No
    Running status Parameter configuration of kube-apiserver Check the following parameters based on the master node configuration:
    • max-requests-inflight: maximum number of non-change requests running in a given period
    • max-mutating-requests-inflight: maximum number of change requests running in a given period
    Yes
    Parameter configuration of kube-scheduler Check the following parameters based on the master node configuration:
    • kube-api-qps: QPS of kube-apiserver resquests
    • kube-api-burst: maximum burst value during communication with kube-apiserver
    Yes
    Parameter configuration of kube-controller-manager Check the following parameters based on the master node configuration:
    • kube-api-qps: QPS of kube-apiserver requests
    • kube-api-burst: maximum burst value during communication with kube-apiserver
    Yes
    Parameter configuration of etcd Check the following parameter based on the master node configuration:
    quota-backend-bytes: storage capacity
    Yes
    Reasonability of the master node configuration Check whether the current master node configuration is sufficient to the current cluster scale Yes
    High availability of nodes Check whether the current cluster is a single-node cluster. Check whether current cluster nodes support multi-AZ disaster recovery
    That is, the health check feature checks whether the total number of resources in other availability zones is sufficient to the current cluster business scale in the event that one availability zone becomes unavailable
    No
    Request and Limit configuration of workloads Check whether workloads have configured resource-limiting containers. Configuring resource limits helps improve resource planning, pod scheduling, cluster availability, and other functions No
    Anti-affinity configuration of workloads Check whether workloads have configured affinity or anti-affinity. Configuring anti-affinity helps improve the high availability of business No
    PDB configuration of workloads Check whether workloads have configured PDB, which can help prevent your business from becoming unavailable due to eviction. No
    Health check configuration of workloads Check whether a health check is configured for workloads. Health check helps detect business exceptions No
    HPA-IP configuration Check whether the current number of remaining pod IP addresses in the cluster meets the maximum number for HPA scale-out No

    Directions

    1. Log in to the Tencent Kubernetes Engine console and choose Cluster OPS > Health Check in the left sidebar.
    2. On the Health Check page that appears, select the health check mode for the cluster.
      In the Health Check page, there’re three options: Batch Check, Check Now, and Auto Check.
      • Batch Check: simultaneously checks multiple clusters.
      • Check Now: checks only one cluster.
      • Auto Check: enables periodic health check for the cluster.

        In the Auto-Checking Settings window that appears, you can enable/disable auto-check, and set the check period and time based on your needs.
    3. When the health check starts, you can view the check progress.
    4. After the check is completed, you can click View Check Result to view the check report.

      On the check report page, click Resource Status and Running Status tab to view resource statuses and exceptions respectively. Click Check Contents to view the detailed check contents. Click Exceptions to view the exception severity, descriptions, causes, impacts, and rectification suggestions.