Checking cluster health on VMware

You can use apicup to check the health of the API Connect clusters in your VMware deployment.

The health-check command checks a number of criteria to determine the health of their cluster. When all criteria are successfully met, the command displays no output, and exits with a status of 0. When one or more criteria are not met, the command stops processing and displays a message with the failure and exits with a status of 1.

The command takes no arguments. The only option is the --verbose flag. If --verbose is set the command prints all checks that were performed.

The health-check is run against the namespace that is specified in apiconnect-up.yaml.

The health check is run on the specified subsystem.

The command verifies that for the specified subsystem:

  • The apicup version matches the API Connect release version.
  • All cluster members are running the same API Connect release version.
  • All cluster members have a deployment status of Done.
  • Docker is running.
  • kubelet is running
  • All Kubernetes-defined nodes are running.
  • The Kubernetes Control Plane pods are running:
    • etcd/kube-apiserver
    • kube-system.kube-controller
    • kube-scheduler
    • kube-apiserver-proxy
  • The add-on Kubernetes Deployments are fulfilled:
    • coredns
    • metrics-server
  • The add-on Kubernetes DaemonSets are fulfilled:
    • calico-node
    • ingress-nginx-ingress-controller
    • kube-proxy

Syntax:


Usage:
  apicup subsys health-check <SUBSYS>  [flags]

Flags:
  -h, --help                help for health-check
      --kubeconfig string   (optional) absolute path to the kubeconfig file (default "/Users/<username>/.kube/config")
  -v, --verbose             Verbose output

Global Flags:
      --accept-license   Accept the license for API Connect
      --debug            Enable debug logging

Example usage, for a subsystem named mgmt:

../apicup subsys health-check mgmt 
Note:
  • The command flag --kubeconfig string does not apply to deployments on VMware.
  • In a multi-node OVA cluster, the apicup subsys health-check command does not return status information if a majority of the nodes are down. To obtain status information, start more nodes. Status is returned only when a quorum is achieved.
  • Version 10.0.1.2-eus Known Limitation: Running apicup subsys health-check on 10.0.1.2-eus may result in some warning messages. The warnings are harmless and can be ignored. The warnings occur because the CRD version for some Kubernetes resources has been deprecated, but the resources have not been removed so are still supported. For example:
    INFO[0000] Log level: info                              
    W0218 08:17:32.224850  424979 warnings.go:70] apiextensions.k8s.io/v1beta1 CustomResourceDefinition is deprecated in v1.16+, unavailable in v1.22+; use apiextensions.k8s.io/v1 CustomResourceDefinition
    W0218 08:17:32.232455  424979 warnings.go:70] rbac.authorization.k8s.io/v1beta1 Role is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 Role
    W0218 08:17:32.237079  424979 warnings.go:70] rbac.authorization.k8s.io/v1beta1 RoleBinding is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 RoleBinding
    W0218 08:17:32.401830  424979 warnings.go:70] apiextensions.k8s.io/v1beta1 CustomResourceDefinition is deprecated in v1.16+, unavailable in v1.22+; use apiextensions.k8s.io/v1 CustomResourceDefinition
    W0218 08:17:34.959226  424979 warnings.go:70] admissionregistration.k8s.io/v1beta1 MutatingWebhookConfiguration is deprecated in v1.16+, unavailable in v1.22+; use admissionregistration.k8s.io/v1 MutatingWebhookConfiguration
    W0218 08:17:34.962512  424979 warnings.go:70] admissionregistration.k8s.io/v1beta1 ValidatingWebhookConfiguration is deprecated in v1.16+, unavailable in v1.22+; use admissionregistration.k8s.io/v1 ValidatingWebhookConfiguration
    W0218 08:17:35.666316  424979 warnings.go:70] rbac.authorization.k8s.io/v1beta1 ClusterRole is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 ClusterRole