Documentation
¶
Overview ¶
Package clusterinfo collects node OS, kernel, container runtime, kubelet and kube-proxy versions and reports drift within a single cluster. The fleet comparison naturally surfaces drift across clusters; this scanner surfaces it inside a cluster, which is where mid-upgrade and rolling-AMI issues hide.
Index ¶
Constants ¶
View Source
const Name = "cluster-info"
Name is the registry key for this scanner.
Variables ¶
This section is empty.
Functions ¶
func NewScanner ¶
NewScanner returns a scanner that aggregates platform identity for every node in the cluster and exposes intra-cluster drift.
Types ¶
type Data ¶
type Data struct {
// NodeCount is the number of nodes inspected.
NodeCount int `json:"node_count"`
// OSImages lists distinct OS images across the cluster.
OSImages []string `json:"os_images"`
// KernelVersions lists distinct kernel versions across the cluster.
KernelVersions []string `json:"kernel_versions"`
// RuntimeVersions lists distinct container runtimes across the cluster.
RuntimeVersions []string `json:"runtime_versions"`
// KubeletVersions lists distinct kubelet versions across the cluster.
KubeletVersions []string `json:"kubelet_versions"`
// HasDrift is true when any of the above lists has more than one entry.
HasDrift bool `json:"has_drift"`
// Nodes is the per-node detail, capped at 200 entries.
Nodes []NodeInfo `json:"nodes"`
}
Data holds platform drift information for one cluster.
type NodeInfo ¶
type NodeInfo struct {
// Name is the node name.
Name string `json:"name"`
// OSImage is the OS image identifier from node.status.nodeInfo.
OSImage string `json:"os_image"`
// KernelVersion is the kernel version string.
KernelVersion string `json:"kernel_version"`
// ContainerRuntimeVersion is the runtime + version (for example "containerd://1.7").
ContainerRuntimeVersion string `json:"container_runtime_version"`
// KubeletVersion is the kubelet version reported by the node.
KubeletVersion string `json:"kubelet_version"`
// KubeProxyVersion is the kube-proxy version reported by the node.
KubeProxyVersion string `json:"kube_proxy_version"`
}
NodeInfo describes the platform identity of a single node.
Click to show internal directories.
Click to hide internal directories.