Go to file
“Forest-L e3e5be8010 add kubeye
Signed-off-by: “Forest-L <lilin@yunify.com>
2020-11-08 02:43:58 +08:00
.idea add kubeye 2020-11-08 02:43:58 +08:00
checks add kubeye 2020-11-08 02:43:58 +08:00
cmd add kubeye 2020-11-08 02:43:58 +08:00
config add kubeye 2020-11-08 02:43:58 +08:00
docs add kubeye 2020-11-08 02:43:58 +08:00
examples add kubeye 2020-11-08 02:43:58 +08:00
pkg add kubeye 2020-11-08 02:43:58 +08:00
LICENSE add kubeye 2020-11-08 02:43:58 +08:00
README.md add kubeye 2020-11-08 02:43:58 +08:00
go.mod add kubeye 2020-11-08 02:43:58 +08:00
go.sum add kubeye 2020-11-08 02:43:58 +08:00
ke add kubeye 2020-11-08 02:43:58 +08:00
main.go add kubeye 2020-11-08 02:43:58 +08:00

README.md

kubeye

Kubeye is a tool for inspecting Kubernetes clusters. It runs a variety of checks to ensure that Kubernetes pods are configured using best practices, helping you avoid problems in the future. Quickly get cluster core component status and cluster size information and abnormal Pods information and tons of node problems. Developed by the GO language. Support for user-defined best practice configuration rules and the addition of cluster fault scouts, which can refer to the Node-Problem-Detector project。

Usage

1、Install Node-problem-Detector in the inspection cluster

  • Create a ConfigMap file for Node-Problem-Detector, which contains fault patrol rules and can be added by the user.
    kubectl apply -f

  • Create the DaemonSet file for Node-Problem-Detector
    kubectl apply -f

2、Get the Installer Excutable File

wget 
chmod +x ke

3、Perform operation

./ke audit --kubeconfig ***

--kubeconfig string
      Path to a kubeconfig. Only required if out-of-cluster.

Results

  1. Basic information of cluster, including Kubernetes version, number of nodes, pod number, etc.
  2. Kubernetes Best Practices configuration.
  3. Nodes information when running.
  4. Runtime cluster failure and other information.

Example display

root@node1:/home/ubuntu/go/src/kubeye# ./ke audit --kubeconfig /home/ubuntu/config
AuditAddress: https://192.168.0.3:6443
AuditTime: "2020-11-06T17:39:15+08:00"
ClusterInfo:
  K8sVersion: "1.16"
  NamespaceNum: 6
  NodeNum: 3
  PodNum: 28
ComponentStatus:
  controller-manager: ok
  etcd-0: '{"health":"true"}'
  scheduler: ok
GoodPractice:
- ContainerResults:
  - Results:
      cpuLimitsMissing:
        Category: Resources
        ID: cpuLimitsMissing
        Message: CPU limits should be set
        Severity: warning
        Success: false
  CreatedTime: "2020-11-06T17:39:15+08:00"
  Kind: Deployment
  Name: openebs-ndm-operator
  Namespace: openebs
NodeStatus:
- HeartbeatTime: "2020-11-06T17:38:16+08:00"
  Message: kubelet is posting ready status
  Name: node1
  Reason: KubeletReady
  Status: "True"
- HeartbeatTime: "2020-10-21T17:34:49+08:00"
  Message: Kubelet stopped posting node status.
  Name: node2
  Reason: NodeStatusUnknown
  Status: Unknown
ProblemDetector:
- EventTime: "2020-11-06T17:37:08+08:00"
  Message: 'Error: ImagePullBackOff'
  Name: nginx-6c74496488-s45tg.163ff88f7263ccc7
  Namespace: test
  Reason: Failed