#!/bin/bash set +e echo "=== os ===" . /etc/os-release echo "$PRETTY_NAME" uname -r echo "=== disk ===" df -h / /usr /var /usr/cluster 2>/dev/null echo "=== versions ===" kubelet --version 2>/dev/null kubeadm version -o short 2>/dev/null kubectl version --client -o yaml 2>/dev/null | head -20 which kubeadm kubelet kubectl cri-dockerd containerd crictl 2>/dev/null echo "=== units ===" systemctl is-active kubelet containerd docker cri-dockerd nginx 2>/dev/null systemctl list-units --type=service --all --no-pager | grep -Ei 'kube|etcd|containerd|cri-dockerd' echo "=== cri ===" ls -l /var/run/containerd/containerd.sock /var/run/cri-dockerd.sock /var/run/docker.sock /run/containerd/containerd.sock 2>/dev/null ps -ef | grep -E '[k]ubelet|[c]ri-dockerd|[c]ontainerd ' | head -20 echo "=== ports ===" ss -lntup | grep -E ':6443|:10250|:10257|:10259|:2379|:2380|:80 |:443 ' || true echo "=== k8s paths ===" ls -d /etc/kubernetes /var/lib/kubelet /var/lib/etcd /etc/cni /opt/cni /etc/systemd/system/kubelet.service.d 2>/dev/null echo "=== docker names ===" docker ps -a --format '{{.Names}}\t{{.Status}}\t{{.Image}}' | head -80 echo "=== k8s labeled ===" docker ps -aq --filter label=io.kubernetes.pod.name | wc -l echo "=== non-k8s running ===" docker ps --format '{{.Names}}' | grep -v '^k8s_' | head -60 echo "=== ipvs ===" ipvsadm -Ln 2>/dev/null | head -30 || echo no-ipvsadm echo "=== routes ===" ip route | head -40 echo "=== done ==="