diff --git a/docs/kubernetes/kb/get-kubernetes-nodes-and-their-labels.md b/docs/kubernetes/kb/get-kubernetes-nodes-and-their-labels.md new file mode 100644 index 00000000..3e6d8417 --- /dev/null +++ b/docs/kubernetes/kb/get-kubernetes-nodes-and-their-labels.md @@ -0,0 +1,215 @@ +--- +title: Get Kubernetes nodes and their labels +--- + +## Why + +If you're trying to target specific Nodes or are working with Node Feature Discovery, it's useful to see all the nodes +labels in one go, formatted with `=` instead of JSON + +## How + +```shell +kubectl get nodes -o go-template='{{range .items}}{{.metadata.name}}{{"\n"}}{{range $k,$v := .metadata.labels}} {{$k}}={{$v}}{{"\n"}}{{end}}{{"\n"}}{{end}}' +``` + +??? note "Example response" + + ```text + rg-talos-1 + beta.kubernetes.io/arch=amd64 + beta.kubernetes.io/os=linux + extensions.talos.dev/i915=20250917-v1.11.3 + extensions.talos.dev/intel-ice-firmware=20250917 + extensions.talos.dev/intel-ucode=20250812 + extensions.talos.dev/iscsi-tools=v0.2.0 + extensions.talos.dev/mei=v1.11.3 + extensions.talos.dev/modules.dep=6.12.52-talos + feature.node.kubernetes.io/cpu-cpuid.ADX=true + feature.node.kubernetes.io/cpu-cpuid.AESNI=true + feature.node.kubernetes.io/cpu-cpuid.AVX=true + feature.node.kubernetes.io/cpu-cpuid.AVX2=true + feature.node.kubernetes.io/cpu-cpuid.CMPXCHG8=true + feature.node.kubernetes.io/cpu-cpuid.FLUSH_L1D=true + feature.node.kubernetes.io/cpu-cpuid.FMA3=true + feature.node.kubernetes.io/cpu-cpuid.FXSR=true + feature.node.kubernetes.io/cpu-cpuid.FXSROPT=true + feature.node.kubernetes.io/cpu-cpuid.IA32_ARCH_CAP=true + feature.node.kubernetes.io/cpu-cpuid.IBPB=true + feature.node.kubernetes.io/cpu-cpuid.LAHF=true + feature.node.kubernetes.io/cpu-cpuid.MD_CLEAR=true + feature.node.kubernetes.io/cpu-cpuid.MOVBE=true + feature.node.kubernetes.io/cpu-cpuid.MPX=true + feature.node.kubernetes.io/cpu-cpuid.OSXSAVE=true + feature.node.kubernetes.io/cpu-cpuid.PMU_FIXEDCOUNTER_CYCLES=true + feature.node.kubernetes.io/cpu-cpuid.PMU_FIXEDCOUNTER_INSTRUCTIONS=true + feature.node.kubernetes.io/cpu-cpuid.PMU_FIXEDCOUNTER_REFCYCLES=true + feature.node.kubernetes.io/cpu-cpuid.RTM_ALWAYS_ABORT=true + feature.node.kubernetes.io/cpu-cpuid.SPEC_CTRL_SSBD=true + feature.node.kubernetes.io/cpu-cpuid.SRBDS_CTRL=true + feature.node.kubernetes.io/cpu-cpuid.STIBP=true + feature.node.kubernetes.io/cpu-cpuid.SYSCALL=true + feature.node.kubernetes.io/cpu-cpuid.SYSEE=true + feature.node.kubernetes.io/cpu-cpuid.VMX=true + feature.node.kubernetes.io/cpu-cpuid.X87=true + feature.node.kubernetes.io/cpu-cpuid.XGETBV1=true + feature.node.kubernetes.io/cpu-cpuid.XSAVE=true + feature.node.kubernetes.io/cpu-cpuid.XSAVEC=true + feature.node.kubernetes.io/cpu-cpuid.XSAVEOPT=true + feature.node.kubernetes.io/cpu-cpuid.XSAVES=true + feature.node.kubernetes.io/cpu-hardware_multithreading=false + feature.node.kubernetes.io/cpu-model.family=6 + feature.node.kubernetes.io/cpu-model.id=94 + feature.node.kubernetes.io/cpu-model.vendor_id=Intel + feature.node.kubernetes.io/cpu-pstate.scaling_governor=performance + feature.node.kubernetes.io/cpu-pstate.status=active + feature.node.kubernetes.io/cpu-pstate.turbo=true + feature.node.kubernetes.io/kernel-config.NO_HZ=true + feature.node.kubernetes.io/kernel-config.NO_HZ_IDLE=true + feature.node.kubernetes.io/kernel-version.full=6.12.52-talos + feature.node.kubernetes.io/kernel-version.major=6 + feature.node.kubernetes.io/kernel-version.minor=12 + feature.node.kubernetes.io/kernel-version.revision=52 + feature.node.kubernetes.io/pci-0300_8086.present=true + feature.node.kubernetes.io/storage-nonrotationaldisk=true + feature.node.kubernetes.io/system-os_release.ID=talos + feature.node.kubernetes.io/system-os_release.VERSION_ID=v1.11.3 + gpu.intel.com/device-id.0300-1912.count=1 + gpu.intel.com/device-id.0300-1912.present=true + intel.feature.node.kubernetes.io/gpu=true + kubernetes.io/arch=amd64 + kubernetes.io/os=linux + node-role.kubernetes.io/control-plane= + + rg-talos-2 + beta.kubernetes.io/arch=amd64 + beta.kubernetes.io/os=linux + extensions.talos.dev/i915=20250917-v1.11.3 + extensions.talos.dev/intel-ice-firmware=20250917 + extensions.talos.dev/intel-ucode=20250812 + extensions.talos.dev/iscsi-tools=v0.2.0 + extensions.talos.dev/mei=v1.11.3 + extensions.talos.dev/modules.dep=6.12.52-talos + feature.node.kubernetes.io/cpu-cpuid.ADX=true + feature.node.kubernetes.io/cpu-cpuid.AESNI=true + feature.node.kubernetes.io/cpu-cpuid.AVX=true + feature.node.kubernetes.io/cpu-cpuid.AVX2=true + feature.node.kubernetes.io/cpu-cpuid.CMPXCHG8=true + feature.node.kubernetes.io/cpu-cpuid.FLUSH_L1D=true + feature.node.kubernetes.io/cpu-cpuid.FMA3=true + feature.node.kubernetes.io/cpu-cpuid.FXSR=true + feature.node.kubernetes.io/cpu-cpuid.FXSROPT=true + feature.node.kubernetes.io/cpu-cpuid.IA32_ARCH_CAP=true + feature.node.kubernetes.io/cpu-cpuid.IBPB=true + feature.node.kubernetes.io/cpu-cpuid.LAHF=true + feature.node.kubernetes.io/cpu-cpuid.MD_CLEAR=true + feature.node.kubernetes.io/cpu-cpuid.MOVBE=true + feature.node.kubernetes.io/cpu-cpuid.MPX=true + feature.node.kubernetes.io/cpu-cpuid.OSXSAVE=true + feature.node.kubernetes.io/cpu-cpuid.PMU_FIXEDCOUNTER_CYCLES=true + feature.node.kubernetes.io/cpu-cpuid.PMU_FIXEDCOUNTER_INSTRUCTIONS=true + feature.node.kubernetes.io/cpu-cpuid.PMU_FIXEDCOUNTER_REFCYCLES=true + feature.node.kubernetes.io/cpu-cpuid.RTM_ALWAYS_ABORT=true + feature.node.kubernetes.io/cpu-cpuid.SPEC_CTRL_SSBD=true + feature.node.kubernetes.io/cpu-cpuid.SRBDS_CTRL=true + feature.node.kubernetes.io/cpu-cpuid.STIBP=true + feature.node.kubernetes.io/cpu-cpuid.SYSCALL=true + feature.node.kubernetes.io/cpu-cpuid.SYSEE=true + feature.node.kubernetes.io/cpu-cpuid.VMX=true + feature.node.kubernetes.io/cpu-cpuid.X87=true + feature.node.kubernetes.io/cpu-cpuid.XGETBV1=true + feature.node.kubernetes.io/cpu-cpuid.XSAVE=true + feature.node.kubernetes.io/cpu-cpuid.XSAVEC=true + feature.node.kubernetes.io/cpu-cpuid.XSAVEOPT=true + feature.node.kubernetes.io/cpu-cpuid.XSAVES=true + feature.node.kubernetes.io/cpu-cstate.enabled=true + feature.node.kubernetes.io/cpu-hardware_multithreading=false + feature.node.kubernetes.io/cpu-model.family=6 + feature.node.kubernetes.io/cpu-model.id=94 + feature.node.kubernetes.io/cpu-model.vendor_id=Intel + feature.node.kubernetes.io/cpu-pstate.scaling_governor=powersave + feature.node.kubernetes.io/cpu-pstate.status=active + feature.node.kubernetes.io/cpu-pstate.turbo=true + feature.node.kubernetes.io/kernel-config.NO_HZ=true + feature.node.kubernetes.io/kernel-config.NO_HZ_IDLE=true + feature.node.kubernetes.io/kernel-version.full=6.12.52-talos + feature.node.kubernetes.io/kernel-version.major=6 + feature.node.kubernetes.io/kernel-version.minor=12 + feature.node.kubernetes.io/kernel-version.revision=52 + feature.node.kubernetes.io/pci-0300_8086.present=true + feature.node.kubernetes.io/storage-nonrotationaldisk=true + feature.node.kubernetes.io/system-os_release.ID=talos + feature.node.kubernetes.io/system-os_release.VERSION_ID=v1.11.3 + gpu.intel.com/device-id.0300-1912.count=1 + gpu.intel.com/device-id.0300-1912.present=true + intel.feature.node.kubernetes.io/gpu=true + kubernetes.io/arch=amd64 + kubernetes.io/os=linux + node-role.kubernetes.io/control-plane= + + rg-talos-3 + beta.kubernetes.io/arch=amd64 + beta.kubernetes.io/os=linux + extensions.talos.dev/i915=20250917-v1.11.3 + extensions.talos.dev/intel-ice-firmware=20250917 + extensions.talos.dev/intel-ucode=20250812 + extensions.talos.dev/iscsi-tools=v0.2.0 + extensions.talos.dev/mei=v1.11.3 + extensions.talos.dev/modules.dep=6.12.52-talos + feature.node.kubernetes.io/cpu-cpuid.ADX=true + feature.node.kubernetes.io/cpu-cpuid.AESNI=true + feature.node.kubernetes.io/cpu-cpuid.AVX=true + feature.node.kubernetes.io/cpu-cpuid.AVX2=true + feature.node.kubernetes.io/cpu-cpuid.CMPXCHG8=true + feature.node.kubernetes.io/cpu-cpuid.FLUSH_L1D=true + feature.node.kubernetes.io/cpu-cpuid.FMA3=true + feature.node.kubernetes.io/cpu-cpuid.FXSR=true + feature.node.kubernetes.io/cpu-cpuid.FXSROPT=true + feature.node.kubernetes.io/cpu-cpuid.IA32_ARCH_CAP=true + feature.node.kubernetes.io/cpu-cpuid.IBPB=true + feature.node.kubernetes.io/cpu-cpuid.LAHF=true + feature.node.kubernetes.io/cpu-cpuid.MD_CLEAR=true + feature.node.kubernetes.io/cpu-cpuid.MOVBE=true + feature.node.kubernetes.io/cpu-cpuid.MPX=true + feature.node.kubernetes.io/cpu-cpuid.OSXSAVE=true + feature.node.kubernetes.io/cpu-cpuid.PMU_FIXEDCOUNTER_CYCLES=true + feature.node.kubernetes.io/cpu-cpuid.PMU_FIXEDCOUNTER_INSTRUCTIONS=true + feature.node.kubernetes.io/cpu-cpuid.PMU_FIXEDCOUNTER_REFCYCLES=true + feature.node.kubernetes.io/cpu-cpuid.RTM_ALWAYS_ABORT=true + feature.node.kubernetes.io/cpu-cpuid.SPEC_CTRL_SSBD=true + feature.node.kubernetes.io/cpu-cpuid.SRBDS_CTRL=true + feature.node.kubernetes.io/cpu-cpuid.STIBP=true + feature.node.kubernetes.io/cpu-cpuid.SYSCALL=true + feature.node.kubernetes.io/cpu-cpuid.SYSEE=true + feature.node.kubernetes.io/cpu-cpuid.VMX=true + feature.node.kubernetes.io/cpu-cpuid.X87=true + feature.node.kubernetes.io/cpu-cpuid.XGETBV1=true + feature.node.kubernetes.io/cpu-cpuid.XSAVE=true + feature.node.kubernetes.io/cpu-cpuid.XSAVEC=true + feature.node.kubernetes.io/cpu-cpuid.XSAVEOPT=true + feature.node.kubernetes.io/cpu-cpuid.XSAVES=true + feature.node.kubernetes.io/cpu-cstate.enabled=true + feature.node.kubernetes.io/cpu-hardware_multithreading=false + feature.node.kubernetes.io/cpu-model.family=6 + feature.node.kubernetes.io/cpu-model.id=94 + feature.node.kubernetes.io/cpu-model.vendor_id=Intel + feature.node.kubernetes.io/cpu-pstate.scaling_governor=powersave + feature.node.kubernetes.io/cpu-pstate.status=active + feature.node.kubernetes.io/cpu-pstate.turbo=true + feature.node.kubernetes.io/kernel-config.NO_HZ=true + feature.node.kubernetes.io/kernel-config.NO_HZ_IDLE=true + feature.node.kubernetes.io/kernel-version.full=6.12.52-talos + feature.node.kubernetes.io/kernel-version.major=6 + feature.node.kubernetes.io/kernel-version.minor=12 + feature.node.kubernetes.io/kernel-version.revision=52 + feature.node.kubernetes.io/pci-0300_8086.present=true + feature.node.kubernetes.io/storage-nonrotationaldisk=true + feature.node.kubernetes.io/system-os_release.ID=talos + feature.node.kubernetes.io/system-os_release.VERSION_ID=v1.11.3 + gpu.intel.com/device-id.0300-1912.count=1 + gpu.intel.com/device-id.0300-1912.present=true + intel.feature.node.kubernetes.io/gpu=true + kubernetes.io/arch=amd64 + kubernetes.io/os=linux + node-role.kubernetes.io/control-plane= + ``` diff --git a/mkdocs.yml b/mkdocs.yml index 3bb03be2..9ea385a4 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -325,6 +325,7 @@ nav: - Delete not running pods: kubernetes/kb/deleting-not-running-pods.md - Downward API: kubernetes/kb/downward-api.md - Force Delete pod: kubernetes/kb/force-delete-pod.md + - Get Kubernetes nodes and their labels: kubernetes/kb/get-kubernetes-nodes-and-their-labels.md - Kubectl commands: kubernetes/kb/kubectl-commands.md - "Kubectl get pod and node it's on": kubernetes/kb/kubectl-get-pods-and-nodes.md - Kubectl get Service accounts and namespaces: kubernetes/kb/kubectl-get-service-accounts-namespaces.md