updated IPV6 [] and testing#165
Open
peatey wants to merge 5 commits into
Open
Conversation
thomasvn
reviewed
Mar 30, 2026
| {"metadata":{"name":"nodename2","uid":"934ae34e-a4bc-4936-bbfe-5b63f8a092aa","resourceVersion":"377577810","creationTimestamp":"2025-02-27T21:56:56Z","labels":{"beta.kubernetes.io/arch":"amd64","beta.kubernetes.io/instance-type":"e2-medium","beta.kubernetes.io/os":"linux","cloud.google.com/gke-boot-disk":"pd-balanced","cloud.google.com/gke-container-runtime":"containerd","cloud.google.com/gke-cpu-scaling-level":"2","cloud.google.com/gke-logging-variant":"DEFAULT","cloud.google.com/gke-max-pods-per-node":"100","cloud.google.com/gke-memory-gb-scaling-level":"4","cloud.google.com/gke-nodepool":"default-pool","cloud.google.com/gke-os-distribution":"cos","cloud.google.com/gke-provisioning":"standard","cloud.google.com/gke-stack-type":"IPV4","cloud.google.com/machine-family":"e2","cloud.google.com/private-node":"false","failure-domain.beta.kubernetes.io/region":"us-central1","failure-domain.beta.kubernetes.io/zone":"us-central1-c","kubernetes.io/arch":"amd64","kubernetes.io/hostname":"nodename2","kubernetes.io/os":"linux","node.kubernetes.io/instance-type":"e2-medium","topology.gke.io/zone":"us-central1-c","topology.kubernetes.io/region":"us-central1","topology.kubernetes.io/zone":"us-central1-c"},"annotations":{"container.googleapis.com/instance_id":"8761733261181149550","csi.volume.kubernetes.io/nodeid":"{\"pd.csi.storage.gke.io\":\"projects/containers-183923/zones/us-central1-c/instances/nodename2\"}","node.alpha.kubernetes.io/ttl":"0","node.gke.io/last-applied-node-labels":"cloud.google.com/gke-boot-disk=pd-balanced,cloud.google.com/gke-container-runtime=containerd,cloud.google.com/gke-cpu-scaling-level=2,cloud.google.com/gke-logging-variant=DEFAULT,cloud.google.com/gke-max-pods-per-node=100,cloud.google.com/gke-memory-gb-scaling-level=4,cloud.google.com/gke-nodepool=default-pool,cloud.google.com/gke-os-distribution=cos,cloud.google.com/gke-provisioning=standard,cloud.google.com/gke-stack-type=IPV4,cloud.google.com/machine-family=e2,cloud.google.com/private-node=false","node.gke.io/last-applied-node-taints":"","volumes.kubernetes.io/controller-managed-attach-detach":"true"},"managedFields":[{"manager":"cloud-controller-manager","operation":"Update","apiVersion":"v1","time":"2025-02-27T21:56:56Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:labels":{"f:beta.kubernetes.io/instance-type":{},"f:failure-domain.beta.kubernetes.io/region":{},"f:failure-domain.beta.kubernetes.io/zone":{},"f:node.kubernetes.io/instance-type":{},"f:topology.kubernetes.io/region":{},"f:topology.kubernetes.io/zone":{}}},"f:spec":{"f:podCIDR":{},"f:podCIDRs":{".":{},"v:\"10.84.3.0/24\"":{}},"f:providerID":{}}}},{"manager":"cloud-controller-manager","operation":"Update","apiVersion":"v1","time":"2025-02-27T21:56:56Z","fieldsType":"FieldsV1","fieldsV1":{"f:status":{"f:addresses":{".":{},"k:{\"type\":\"ExternalIP\"}":{".":{},"f:address":{},"f:type":{}},"k:{\"type\":\"InternalIP\"}":{".":{},"f:address":{},"f:type":{}}},"f:conditions":{"k:{\"type\":\"NetworkUnavailable\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}}}}},"subresource":"status"},{"manager":"kube-controller-manager","operation":"Update","apiVersion":"v1","time":"2025-02-27T21:56:56Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{"f:node.alpha.kubernetes.io/ttl":{}}}}},{"manager":"kubelet","operation":"Update","apiVersion":"v1","time":"2025-02-27T21:56:56Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{".":{},"f:volumes.kubernetes.io/controller-managed-attach-detach":{}},"f:labels":{".":{},"f:beta.kubernetes.io/arch":{},"f:beta.kubernetes.io/os":{},"f:cloud.google.com/gke-boot-disk":{},"f:cloud.google.com/gke-container-runtime":{},"f:cloud.google.com/gke-cpu-scaling-level":{},"f:cloud.google.com/gke-logging-variant":{},"f:cloud.google.com/gke-max-pods-per-node":{},"f:cloud.google.com/gke-memory-gb-scaling-level":{},"f:cloud.google.com/gke-nodepool":{},"f:cloud.google.com/gke-os-distribution":{},"f:cloud.google.com/gke-provisioning":{},"f:cloud.google.com/gke-stack-type":{},"f:cloud.google.com/machine-family":{},"f:cloud.google.com/private-node":{},"f:kubernetes.io/arch":{},"f:kubernetes.io/hostname":{},"f:kubernetes.io/os":{}}}}},{"manager":"gcp-controller-manager","operation":"Update","apiVersion":"v1","time":"2025-02-27T21:56:57Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{"f:container.googleapis.com/instance_id":{},"f:node.gke.io/last-applied-node-labels":{},"f:node.gke.io/last-applied-node-taints":{}}}}},{"manager":"node-problem-detector","operation":"Update","apiVersion":"v1","time":"2025-03-01T23:37:39Z","fieldsType":"FieldsV1","fieldsV1":{"f:status":{"f:conditions":{"k:{\"type\":\"CorruptDockerOverlay2\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"DeprecatedAuthsFieldInContainerdConfiguration\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"DeprecatedConfigsFieldInContainerdConfiguration\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"DeprecatedMirrorsFieldInContainerdConfiguration\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"DeprecatedOtherContainerdFeatures\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"DeprecatedPullingSchemaV1Image\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"DeprecatedUsingV1Alpha2Cri\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"FrequentContainerdRestart\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"FrequentDockerRestart\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"FrequentKubeletRestart\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"FrequentUnregisterNetDevice\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"KernelDeadlock\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"ReadonlyFilesystem\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"SysctlChanged\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}}}}},"subresource":"status"},{"manager":"kubelet","operation":"Update","apiVersion":"v1","time":"2025-03-01T23:38:27Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{"f:csi.volume.kubernetes.io/nodeid":{}},"f:labels":{"f:topology.gke.io/zone":{}}},"f:status":{"f:conditions":{"k:{\"type\":\"DiskPressure\"}":{"f:lastHeartbeatTime":{}},"k:{\"type\":\"MemoryPressure\"}":{"f:lastHeartbeatTime":{}},"k:{\"type\":\"PIDPressure\"}":{"f:lastHeartbeatTime":{}},"k:{\"type\":\"Ready\"}":{"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{}}},"f:images":{}}},"subresource":"status"}]},"spec":{"podCIDR":"10.84.3.0/24","podCIDRs":["10.84.3.0/24"],"providerID":"gce://containers-183923/us-central1-c/nodename2"},"status":{"capacity":{"cpu":"2","ephemeral-storage":"98831908Ki","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"4018124Ki","pods":"100"},"allocatable":{"cpu":"940m","ephemeral-storage":"47060071478","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"2872268Ki","pods":"100"},"conditions":[{"type":"SysctlChanged","status":"False","lastHeartbeatTime":"2025-03-01T23:37:39Z","lastTransitionTime":"2025-02-27T21:56:56Z","reason":"SysctlNotChanged","message":"Default sysctls are in effect, no unexpected sysctl changes"},{"type":"FrequentUnregisterNetDevice","status":"False","lastHeartbeatTime":"2025-03-01T23:37:39Z","lastTransitionTime":"2025-02-27T21:56:56Z","reason":"NoFrequentUnregisterNetDevice","message":"node is functioning properly"},{"type":"FrequentKubeletRestart","status":"False","lastHeartbeatTime":"2025-03-01T23:37:39Z","lastTransitionTime":"2025-02-27T21:56:56Z","reason":"NoFrequentKubeletRestart","message":"kubelet is functioning properly"},{"type":"FrequentDockerRestart","status":"False","lastHeartbeatTime":"2025-03-01T23:37:39Z","lastTransitionTime":"2025-02-27T21:56:56Z","reason":"NoFrequentDockerRestart","message":"docker is functioning properly"},{"type":"DeprecatedUsingV1Alpha2Cri","status":"False","lastHeartbeatTime":"2025-03-01T23:37:39Z","lastTransitionTime":"2025-02-27T21:56:56Z","reason":"DeprecatedUsingV1Alpha2CriNotDetected","message":"No deprecation risk: did not use v1alpha2 CRI"},{"type":"CorruptDockerOverlay2","status":"False","lastHeartbeatTime":"2025-03-01T23:37:39Z","lastTransitionTime":"2025-02-27T21:56:56Z","reason":"NoCorruptDockerOverlay2","message":"docker overlay2 is functioning properly"},{"type":"DeprecatedPullingSchemaV1Image","status":"False","lastHeartbeatTime":"2025-03-01T23:37:39Z","lastTransitionTime":"2025-02-27T21:56:56Z","reason":"DeprecatedPullingSchemaV1ImageDetected","message":"No deprecation risk: did not pull any schema v1 images"},{"type":"DeprecatedMirrorsFieldInContainerdConfiguration","status":"False","lastHeartbeatTime":"2025-03-01T23:37:39Z","lastTransitionTime":"2025-02-27T21:56:56Z","reason":"DeprecatedMirrorsFieldInContainerdConfigurationNotDetected","message":"No deprecation risk: did not find any deprecated 'mirrors' field in containerd's config"},{"type":"DeprecatedAuthsFieldInContainerdConfiguration","status":"False","lastHeartbeatTime":"2025-03-01T23:37:39Z","lastTransitionTime":"2025-02-27T21:56:56Z","reason":"DeprecatedAuthsFieldInContainerdConfigurationNotDetected","message":"No deprecation risk: did not find any deprecated 'auths' field in containerd's config"},{"type":"KernelDeadlock","status":"False","lastHeartbeatTime":"2025-03-01T23:37:39Z","lastTransitionTime":"2025-02-27T21:56:56Z","reason":"KernelHasNoDeadlock","message":"kernel has no deadlock"},{"type":"DeprecatedOtherContainerdFeatures","status":"False","lastHeartbeatTime":"2025-03-01T23:37:39Z","lastTransitionTime":"2025-02-27T21:56:56Z","reason":"DeprecatedOtherContainerdFeaturesNotDetected","message":"No deprecation risk: did not find any deprecations other than 3 configs fields (auths/configs/mirrors), pulling schema v1 images and using v1alpha2 CRI."},{"type":"DeprecatedConfigsFieldInContainerdConfiguration","status":"False","lastHeartbeatTime":"2025-03-01T23:37:39Z","lastTransitionTime":"2025-02-27T21:56:56Z","reason":"DeprecatedConfigsFieldInContainerdConfigurationNotDetected","message":"No deprecation risk: did not find any deprecated 'configs' field in containerd's config"},{"type":"FrequentContainerdRestart","status":"False","lastHeartbeatTime":"2025-03-01T23:37:39Z","lastTransitionTime":"2025-02-27T21:56:56Z","reason":"NoFrequentContainerdRestart","message":"containerd is functioning properly"},{"type":"ReadonlyFilesystem","status":"False","lastHeartbeatTime":"2025-03-01T23:37:39Z","lastTransitionTime":"2025-02-27T21:56:56Z","reason":"FilesystemIsNotReadOnly","message":"Filesystem is not read-only"},{"type":"NetworkUnavailable","status":"False","lastHeartbeatTime":"2025-02-27T21:56:56Z","lastTransitionTime":"2025-02-27T21:56:56Z","reason":"RouteCreated","message":"NodeController create implicit route"},{"type":"MemoryPressure","status":"False","lastHeartbeatTime":"2025-03-01T23:38:27Z","lastTransitionTime":"2025-02-27T21:56:54Z","reason":"KubeletHasSufficientMemory","message":"kubelet has sufficient memory available"},{"type":"DiskPressure","status":"False","lastHeartbeatTime":"2025-03-01T23:38:27Z","lastTransitionTime":"2025-02-27T21:56:54Z","reason":"KubeletHasNoDiskPressure","message":"kubelet has no disk pressure"},{"type":"PIDPressure","status":"False","lastHeartbeatTime":"2025-03-01T23:38:27Z","lastTransitionTime":"2025-02-27T21:56:54Z","reason":"KubeletHasSufficientPID","message":"kubelet has sufficient PID available"},{"type":"Ready","status":"True","lastHeartbeatTime":"2025-03-01T23:38:27Z","lastTransitionTime":"2025-02-27T21:56:56Z","reason":"KubeletReady","message":"kubelet is posting ready status"}],"addresses":[{"type":"InternalIP","address":"10.128.15.218"},{"type":"ExternalIP","address":"104.154.120.113"}],"daemonEndpoints":{"kubeletEndpoint":{"Port":10250}},"nodeInfo":{"machineID":"0a8dd5524cb9aff0eea913210e98dab7","systemUUID":"0a8dd552-4cb9-aff0-eea9-13210e98dab7","bootID":"a2e09d0b-ad28-471c-a375-3959a856c779","kernelVersion":"6.1.123+","osImage":"Container-Optimized OS from Google","containerRuntimeVersion":"containerd://1.7.24","kubeletVersion":"v1.30.9-gke.1127000","kubeProxyVersion":"v1.30.9-gke.1127000","operatingSystem":"linux","architecture":"amd64"},"images":[{"names":["asia.gcr.io/gke-release-staging/cilium/cilium@sha256:a69b8b0cab532f641f2bcdd823842599b852666f1bcc763200b9cf4b3f40537f","eu.gcr.io/gke-release-staging/cilium/cilium@sha256:a69b8b0cab532f641f2bcdd823842599b852666f1bcc763200b9cf4b3f40537f","gcr.io/gke-release-staging/cilium/cilium@sha256:a69b8b0cab532f641f2bcdd823842599b852666f1bcc763200b9cf4b3f40537f","asia.gke.gcr.io/cilium/cilium:v1.14.13-gke1.30-gke.64","eu.gke.gcr.io/cilium/cilium:v1.14.13-gke1.30-gke.64"],"sizeBytes":171632673},{"names":["gke.gcr.io/prometheus-engine/prometheus@sha256:3e6493d4b01ab583382731491d980bc164873ad4969e92c0bdd0da278359ccac"],"sizeBytes":113010021},{"names":["gke.gcr.io/fluent-bit@sha256:bd48755377a723a91bc3fd96f67796ba3a3023808fd69b37d97cb1aa5985d9ae"],"sizeBytes":93330926},{"names":["gke.gcr.io/kube-proxy-amd64:v1.30.9-gke.1127000","gke.gcr.io/kube-proxy-amd64:v1.30.9-gke.500","k8s.gcr.io/kube-proxy-amd64:v1.30.9-gke.500"],"sizeBytes":88273080},{"names":["gke.gcr.io/gcp-compute-persistent-disk-csi-driver@sha256:bbbf275b1482cf3fc658f0bde28b1fbd24054451b5a97e23812821c82374a2b2"],"sizeBytes":60814920},{"names":["gke.gcr.io/prometheus-engine/config-reloader@sha256:d199f266545ee281fa51d30e0a5f9c4da27da23055b153ca93adbf7483d19633"],"sizeBytes":59834302},{"names":["asia.gcr.io/gke-release-staging/cilium/certgen@sha256:73529e65f241d2b390d4eadb4b886ea9de8c3ef27ae3854733d6a9cbefd6d0b0","eu.gcr.io/gke-release-staging/cilium/certgen@sha256:73529e65f241d2b390d4eadb4b886ea9de8c3ef27ae3854733d6a9cbefd6d0b0","gcr.io/gke-release-staging/cilium/certgen@sha256:73529e65f241d2b390d4eadb4b886ea9de8c3ef27ae3854733d6a9cbefd6d0b0","asia.gke.gcr.io/cilium/certgen:v0.1.13-gke.14","eu.gke.gcr.io/cilium/certgen:v0.1.13-gke.14"],"sizeBytes":40760357},{"names":["gke.gcr.io/k8s-dns-dnsmasq-nanny@sha256:e178b753d49a90ec32f1f45e0f52ce64019641d3fd45d8deadcf08cb73b8c840"],"sizeBytes":37001839},{"names":["gke.gcr.io/prometheus-to-sd@sha256:443ce4937d4bc893e894cd740c730e9039ccc76e0bd7494d8bf8725486658e10"],"sizeBytes":35881529},{"names":["docker.io/cloudability/metrics-agent@sha256:88da6d41e0cd48be4e273fc4bb640c98883259c3b8e450175725e75150b075dd","docker.io/cloudability/metrics-agent:latest"],"sizeBytes":35846897},{"names":["asia.gcr.io/gke-release-staging/cilium/slim-daemon/anet-agent@sha256:1a871e457e08d4e3e06a079f76e6a5a67c5869797ae305a6fb7f1e2c4712f0cd","eu.gcr.io/gke-release-staging/cilium/slim-daemon/anet-agent@sha256:1a871e457e08d4e3e06a079f76e6a5a67c5869797ae305a6fb7f1e2c4712f0cd","gcr.io/gke-release-staging/cilium/slim-daemon/anet-agent@sha256:1a871e457e08d4e3e06a079f76e6a5a67c5869797ae305a6fb7f1e2c4712f0cd","asia.gke.gcr.io/cilium/slim-daemon/anet-agent:v1.14.13-gke1.30-gke.64","eu.gke.gcr.io/cilium/slim-daemon/anet-agent:v1.14.13-gke1.30-gke.64"],"sizeBytes":33172919},{"names":["gke.gcr.io/fluent-bit-gke-exporter@sha256:0ed31fb2cc1b2b747a1e304a5530124c97909a0eb17774c7ce80595abf73d1e6"],"sizeBytes":32969391},{"names":["gke.gcr.io/k8s-dns-kube-dns@sha256:b609a51c8aa4add2d1d0811737f177b4e944ea0781a48eead0d804722787f96f"],"sizeBytes":32667404},{"names":["gke.gcr.io/k8s-dns-sidecar@sha256:9e60f83b54d010a7dd7e5a868a6713ad410442c72f0b7540cda010c50651c0bc"],"sizeBytes":29112653},{"names":["gke.gcr.io/gke-metrics-agent@sha256:be215beaf8f2acd5c4f64ff3d28e6dc60071ef6f0da5eb9774fda69148c38ba4"],"sizeBytes":27003958},{"names":["gke.gcr.io/gke-metrics-collector@sha256:3d76420863be0cdbdf5f9a512e032d9b20ae8fd7be4b5eca22ecdb1e867f23bf"],"sizeBytes":25809971},{"names":["gke.gcr.io/gke-metrics-collector@sha256:360c05bb437d77b55090ba512bddfda52f62166c78171593d1152327db2a914f"],"sizeBytes":25582287},{"names":["gke.gcr.io/gke-metrics-collector@sha256:d460e6b5088332f62b990f8a1f7bf6d9eca7c3f41cb974e3db493d6b0fc4ad70"],"sizeBytes":24425624},{"names":["gke.gcr.io/gke-metrics-collector@sha256:463e73163c4d343b8a3327e0d2e8e955d22434e9005a1a188275ac55b8cfebb4"],"sizeBytes":24343841},{"names":["asia.gcr.io/gke-release-staging/cilium/hubble-cli@sha256:327d40413ece3e0cf8e14cebd5d24b15a1987bf8a4e5ec369dabdb17203e62c2","eu.gcr.io/gke-release-staging/cilium/hubble-cli@sha256:327d40413ece3e0cf8e14cebd5d24b15a1987bf8a4e5ec369dabdb17203e62c2","gcr.io/gke-release-staging/cilium/hubble-cli@sha256:327d40413ece3e0cf8e14cebd5d24b15a1987bf8a4e5ec369dabdb17203e62c2","asia.gke.gcr.io/cilium/hubble-cli:v0.13.5-gke.14","eu.gke.gcr.io/cilium/hubble-cli:v0.13.5-gke.14"],"sizeBytes":24123625},{"names":["asia.gcr.io/gke-release-staging/anthos-networking/anetd-sidecar@sha256:2a788f8b3fc1112f706a7b22f13fb0e430d76c5743e6f8a6c2c350345f3a006d","eu.gcr.io/gke-release-staging/anthos-networking/anetd-sidecar@sha256:2a788f8b3fc1112f706a7b22f13fb0e430d76c5743e6f8a6c2c350345f3a006d","gcr.io/gke-release-staging/anthos-networking/anetd-sidecar@sha256:2a788f8b3fc1112f706a7b22f13fb0e430d76c5743e6f8a6c2c350345f3a006d","asia.gke.gcr.io/anthos-networking/anetd-sidecar:v2.9.77","eu.gke.gcr.io/anthos-networking/anetd-sidecar:v2.9.77"],"sizeBytes":23881188},{"names":["asia.gcr.io/gke-release-staging/gke-metrics-collector@sha256:1593f1e9570b99b1843cc886b723d4e291e2281fe2b9e45f565064cac379e4cf","eu.gcr.io/gke-release-staging/gke-metrics-collector@sha256:1593f1e9570b99b1843cc886b723d4e291e2281fe2b9e45f565064cac379e4cf","gcr.io/gke-release-staging/gke-metrics-collector@sha256:1593f1e9570b99b1843cc886b723d4e291e2281fe2b9e45f565064cac379e4cf","asia.gke.gcr.io/gke-metrics-collector:20240508_2300_RC0","eu.gke.gcr.io/gke-metrics-collector:20240508_2300_RC0"],"sizeBytes":23823718},{"names":["asia.gcr.io/gke-release-staging/gke-metrics-collector@sha256:545f5594f9a6ee714b315897f92edeaa858b1074e4c6a38894353214907e4fe5","eu.gcr.io/gke-release-staging/gke-metrics-collector@sha256:545f5594f9a6ee714b315897f92edeaa858b1074e4c6a38894353214907e4fe5","gcr.io/gke-release-staging/gke-metrics-collector@sha256:545f5594f9a6ee714b315897f92edeaa858b1074e4c6a38894353214907e4fe5","asia.gke.gcr.io/gke-metrics-collector:20240425_2300_RC0","eu.gke.gcr.io/gke-metrics-collector:20240425_2300_RC0"],"sizeBytes":23717101},{"names":["asia.gcr.io/gke-release-staging/netd@sha256:6ca0892cc32f66705087257c12ef97f3f27b270402e03299450b19ecb93e48e6","eu.gcr.io/gke-release-staging/netd@sha256:6ca0892cc32f66705087257c12ef97f3f27b270402e03299450b19ecb93e48e6","gcr.io/gke-release-staging/netd@sha256:6ca0892cc32f66705087257c12ef97f3f27b270402e03299450b19ecb93e48e6","asia.gke.gcr.io/netd:v0.8.4-gke.18","eu.gke.gcr.io/netd:v0.8.4-gke.18"],"sizeBytes":23427157},{"names":["asia.gcr.io/gke-release-staging/cilium/hubble-relay@sha256:365232539d4c473b20544833b79b2fe448190dc2a5280e6bd38b672a2d7ad121","eu.gcr.io/gke-release-staging/cilium/hubble-relay@sha256:365232539d4c473b20544833b79b2fe448190dc2a5280e6bd38b672a2d7ad121","gcr.io/gke-release-staging/cilium/hubble-relay@sha256:365232539d4c473b20544833b79b2fe448190dc2a5280e6bd38b672a2d7ad121","asia.gke.gcr.io/cilium/hubble-relay:v1.14.13-gke1.30-gke.64","eu.gke.gcr.io/cilium/hubble-relay:v1.14.13-gke1.30-gke.64"],"sizeBytes":21850766}]}} | ||
| {"metadata":{"name":"nodename3","uid":"e11a5a98-56c9-4bc9-b8f7-1e951f1f2140","resourceVersion":"377579378","creationTimestamp":"2025-02-27T21:49:29Z","labels":{"beta.kubernetes.io/arch":"amd64","beta.kubernetes.io/instance-type":"e2-medium","beta.kubernetes.io/os":"linux","cloud.google.com/gke-boot-disk":"pd-balanced","cloud.google.com/gke-container-runtime":"containerd","cloud.google.com/gke-cpu-scaling-level":"2","cloud.google.com/gke-logging-variant":"DEFAULT","cloud.google.com/gke-max-pods-per-node":"100","cloud.google.com/gke-memory-gb-scaling-level":"4","cloud.google.com/gke-nodepool":"default-pool","cloud.google.com/gke-os-distribution":"cos","cloud.google.com/gke-provisioning":"standard","cloud.google.com/gke-stack-type":"IPV4","cloud.google.com/machine-family":"e2","cloud.google.com/private-node":"false","failure-domain.beta.kubernetes.io/region":"us-central1","failure-domain.beta.kubernetes.io/zone":"us-central1-c","kubernetes.io/arch":"amd64","kubernetes.io/hostname":"nodename3","kubernetes.io/os":"linux","node.kubernetes.io/instance-type":"e2-medium","topology.gke.io/zone":"us-central1-c","topology.kubernetes.io/region":"us-central1","topology.kubernetes.io/zone":"us-central1-c"},"annotations":{"container.googleapis.com/instance_id":"2148973188718879535","csi.volume.kubernetes.io/nodeid":"{\"pd.csi.storage.gke.io\":\"projects/containers-183923/zones/us-central1-c/instances/nodename3\"}","node.alpha.kubernetes.io/ttl":"0","node.gke.io/last-applied-node-labels":"cloud.google.com/gke-boot-disk=pd-balanced,cloud.google.com/gke-container-runtime=containerd,cloud.google.com/gke-cpu-scaling-level=2,cloud.google.com/gke-logging-variant=DEFAULT,cloud.google.com/gke-max-pods-per-node=100,cloud.google.com/gke-memory-gb-scaling-level=4,cloud.google.com/gke-nodepool=default-pool,cloud.google.com/gke-os-distribution=cos,cloud.google.com/gke-provisioning=standard,cloud.google.com/gke-stack-type=IPV4,cloud.google.com/machine-family=e2,cloud.google.com/private-node=false","node.gke.io/last-applied-node-taints":"","volumes.kubernetes.io/controller-managed-attach-detach":"true"},"managedFields":[{"manager":"kubelet","operation":"Update","apiVersion":"v1","time":"2025-02-27T21:49:29Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{".":{},"f:volumes.kubernetes.io/controller-managed-attach-detach":{}},"f:labels":{".":{},"f:beta.kubernetes.io/arch":{},"f:beta.kubernetes.io/os":{},"f:cloud.google.com/gke-boot-disk":{},"f:cloud.google.com/gke-container-runtime":{},"f:cloud.google.com/gke-cpu-scaling-level":{},"f:cloud.google.com/gke-logging-variant":{},"f:cloud.google.com/gke-max-pods-per-node":{},"f:cloud.google.com/gke-memory-gb-scaling-level":{},"f:cloud.google.com/gke-nodepool":{},"f:cloud.google.com/gke-os-distribution":{},"f:cloud.google.com/gke-provisioning":{},"f:cloud.google.com/gke-stack-type":{},"f:cloud.google.com/machine-family":{},"f:cloud.google.com/private-node":{},"f:kubernetes.io/arch":{},"f:kubernetes.io/hostname":{},"f:kubernetes.io/os":{}}}}},{"manager":"cloud-controller-manager","operation":"Update","apiVersion":"v1","time":"2025-02-27T21:49:30Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:labels":{"f:beta.kubernetes.io/instance-type":{},"f:failure-domain.beta.kubernetes.io/region":{},"f:failure-domain.beta.kubernetes.io/zone":{},"f:node.kubernetes.io/instance-type":{},"f:topology.kubernetes.io/region":{},"f:topology.kubernetes.io/zone":{}}},"f:spec":{"f:podCIDR":{},"f:podCIDRs":{".":{},"v:\"10.84.4.0/24\"":{}},"f:providerID":{}}}},{"manager":"cloud-controller-manager","operation":"Update","apiVersion":"v1","time":"2025-02-27T21:49:30Z","fieldsType":"FieldsV1","fieldsV1":{"f:status":{"f:addresses":{".":{},"k:{\"type\":\"ExternalIP\"}":{".":{},"f:address":{},"f:type":{}},"k:{\"type\":\"InternalIP\"}":{".":{},"f:address":{},"f:type":{}}},"f:conditions":{"k:{\"type\":\"NetworkUnavailable\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}}}}},"subresource":"status"},{"manager":"kube-controller-manager","operation":"Update","apiVersion":"v1","time":"2025-02-27T21:49:30Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{"f:node.alpha.kubernetes.io/ttl":{}}}}},{"manager":"gcp-controller-manager","operation":"Update","apiVersion":"v1","time":"2025-02-27T21:49:31Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{"f:container.googleapis.com/instance_id":{},"f:node.gke.io/last-applied-node-labels":{},"f:node.gke.io/last-applied-node-taints":{}}}}},{"manager":"node-problem-detector","operation":"Update","apiVersion":"v1","time":"2025-03-01T23:40:09Z","fieldsType":"FieldsV1","fieldsV1":{"f:status":{"f:conditions":{"k:{\"type\":\"CorruptDockerOverlay2\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"DeprecatedAuthsFieldInContainerdConfiguration\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"DeprecatedConfigsFieldInContainerdConfiguration\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"DeprecatedMirrorsFieldInContainerdConfiguration\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"DeprecatedOtherContainerdFeatures\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"DeprecatedPullingSchemaV1Image\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"DeprecatedUsingV1Alpha2Cri\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"FrequentContainerdRestart\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"FrequentDockerRestart\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"FrequentKubeletRestart\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"FrequentUnregisterNetDevice\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"KernelDeadlock\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"ReadonlyFilesystem\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"SysctlChanged\"}":{".":{},"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}}}}},"subresource":"status"},{"manager":"kubelet","operation":"Update","apiVersion":"v1","time":"2025-03-01T23:41:05Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{"f:csi.volume.kubernetes.io/nodeid":{}},"f:labels":{"f:topology.gke.io/zone":{}}},"f:status":{"f:conditions":{"k:{\"type\":\"DiskPressure\"}":{"f:lastHeartbeatTime":{}},"k:{\"type\":\"MemoryPressure\"}":{"f:lastHeartbeatTime":{}},"k:{\"type\":\"PIDPressure\"}":{"f:lastHeartbeatTime":{}},"k:{\"type\":\"Ready\"}":{"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{}}},"f:images":{}}},"subresource":"status"}]},"spec":{"podCIDR":"10.84.4.0/24","podCIDRs":["10.84.4.0/24"],"providerID":"gce://containers-183923/us-central1-c/nodename3"},"status":{"capacity":{"cpu":"2","ephemeral-storage":"98831908Ki","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"4018132Ki","pods":"100"},"allocatable":{"cpu":"940m","ephemeral-storage":"47060071478","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"2872276Ki","pods":"100"},"conditions":[{"type":"DeprecatedUsingV1Alpha2Cri","status":"False","lastHeartbeatTime":"2025-03-01T23:40:09Z","lastTransitionTime":"2025-02-27T21:49:29Z","reason":"DeprecatedUsingV1Alpha2CriNotDetected","message":"No deprecation risk: did not use v1alpha2 CRI"},{"type":"CorruptDockerOverlay2","status":"False","lastHeartbeatTime":"2025-03-01T23:40:09Z","lastTransitionTime":"2025-02-27T21:49:29Z","reason":"NoCorruptDockerOverlay2","message":"docker overlay2 is functioning properly"},{"type":"SysctlChanged","status":"False","lastHeartbeatTime":"2025-03-01T23:40:09Z","lastTransitionTime":"2025-02-27T21:49:29Z","reason":"SysctlNotChanged","message":"Default sysctls are in effect, no unexpected sysctl changes"},{"type":"DeprecatedAuthsFieldInContainerdConfiguration","status":"False","lastHeartbeatTime":"2025-03-01T23:40:09Z","lastTransitionTime":"2025-02-27T21:49:29Z","reason":"DeprecatedAuthsFieldInContainerdConfigurationNotDetected","message":"No deprecation risk: did not find any deprecated 'auths' field in containerd's config"},{"type":"FrequentUnregisterNetDevice","status":"False","lastHeartbeatTime":"2025-03-01T23:40:09Z","lastTransitionTime":"2025-02-27T21:49:29Z","reason":"NoFrequentUnregisterNetDevice","message":"node is functioning properly"},{"type":"FrequentContainerdRestart","status":"False","lastHeartbeatTime":"2025-03-01T23:40:09Z","lastTransitionTime":"2025-02-27T21:49:29Z","reason":"NoFrequentContainerdRestart","message":"containerd is functioning properly"},{"type":"DeprecatedPullingSchemaV1Image","status":"False","lastHeartbeatTime":"2025-03-01T23:40:09Z","lastTransitionTime":"2025-02-27T21:49:29Z","reason":"DeprecatedPullingSchemaV1ImageDetected","message":"No deprecation risk: did not pull any schema v1 images"},{"type":"FrequentDockerRestart","status":"False","lastHeartbeatTime":"2025-03-01T23:40:09Z","lastTransitionTime":"2025-02-27T21:49:29Z","reason":"NoFrequentDockerRestart","message":"docker is functioning properly"},{"type":"DeprecatedOtherContainerdFeatures","status":"False","lastHeartbeatTime":"2025-03-01T23:40:09Z","lastTransitionTime":"2025-02-27T21:49:29Z","reason":"DeprecatedOtherContainerdFeaturesNotDetected","message":"No deprecation risk: did not find any deprecations other than 3 configs fields (auths/configs/mirrors), pulling schema v1 images and using v1alpha2 CRI."},{"type":"DeprecatedConfigsFieldInContainerdConfiguration","status":"False","lastHeartbeatTime":"2025-03-01T23:40:09Z","lastTransitionTime":"2025-02-27T21:49:30Z","reason":"DeprecatedConfigsFieldInContainerdConfigurationNotDetected","message":"No deprecation risk: did not find any deprecated 'configs' field in containerd's config"},{"type":"ReadonlyFilesystem","status":"False","lastHeartbeatTime":"2025-03-01T23:40:09Z","lastTransitionTime":"2025-02-27T21:49:29Z","reason":"FilesystemIsNotReadOnly","message":"Filesystem is not read-only"},{"type":"DeprecatedMirrorsFieldInContainerdConfiguration","status":"False","lastHeartbeatTime":"2025-03-01T23:40:09Z","lastTransitionTime":"2025-02-27T21:49:29Z","reason":"DeprecatedMirrorsFieldInContainerdConfigurationNotDetected","message":"No deprecation risk: did not find any deprecated 'mirrors' field in containerd's config"},{"type":"KernelDeadlock","status":"False","lastHeartbeatTime":"2025-03-01T23:40:09Z","lastTransitionTime":"2025-02-27T21:49:29Z","reason":"KernelHasNoDeadlock","message":"kernel has no deadlock"},{"type":"FrequentKubeletRestart","status":"False","lastHeartbeatTime":"2025-03-01T23:40:09Z","lastTransitionTime":"2025-02-27T21:49:29Z","reason":"NoFrequentKubeletRestart","message":"kubelet is functioning properly"},{"type":"NetworkUnavailable","status":"False","lastHeartbeatTime":"2025-02-27T21:49:30Z","lastTransitionTime":"2025-02-27T21:49:30Z","reason":"RouteCreated","message":"NodeController create implicit route"},{"type":"MemoryPressure","status":"False","lastHeartbeatTime":"2025-03-01T23:41:05Z","lastTransitionTime":"2025-02-27T21:49:27Z","reason":"KubeletHasSufficientMemory","message":"kubelet has sufficient memory available"},{"type":"DiskPressure","status":"False","lastHeartbeatTime":"2025-03-01T23:41:05Z","lastTransitionTime":"2025-02-27T21:49:27Z","reason":"KubeletHasNoDiskPressure","message":"kubelet has no disk pressure"},{"type":"PIDPressure","status":"False","lastHeartbeatTime":"2025-03-01T23:41:05Z","lastTransitionTime":"2025-02-27T21:49:27Z","reason":"KubeletHasSufficientPID","message":"kubelet has sufficient PID available"},{"type":"Ready","status":"True","lastHeartbeatTime":"2025-03-01T23:41:05Z","lastTransitionTime":"2025-02-27T21:49:30Z","reason":"KubeletReady","message":"kubelet is posting ready status"}],"addresses":[{"type":"InternalIP","address":"10.128.15.217"},{"type":"ExternalIP","address":"34.56.144.234"}],"daemonEndpoints":{"kubeletEndpoint":{"Port":10250}},"nodeInfo":{"machineID":"97fb66702ba318020f503a2cb0c3d8e7","systemUUID":"97fb6670-2ba3-1802-0f50-3a2cb0c3d8e7","bootID":"22f0f516-6608-4f80-bfb8-d2529fe5b7d7","kernelVersion":"6.1.123+","osImage":"Container-Optimized OS from Google","containerRuntimeVersion":"containerd://1.7.24","kubeletVersion":"v1.30.9-gke.1127000","kubeProxyVersion":"v1.30.9-gke.1127000","operatingSystem":"linux","architecture":"amd64"},"images":[{"names":["asia.gcr.io/gke-release-staging/cilium/cilium@sha256:a69b8b0cab532f641f2bcdd823842599b852666f1bcc763200b9cf4b3f40537f","eu.gcr.io/gke-release-staging/cilium/cilium@sha256:a69b8b0cab532f641f2bcdd823842599b852666f1bcc763200b9cf4b3f40537f","gcr.io/gke-release-staging/cilium/cilium@sha256:a69b8b0cab532f641f2bcdd823842599b852666f1bcc763200b9cf4b3f40537f","asia.gke.gcr.io/cilium/cilium:v1.14.13-gke1.30-gke.64","eu.gke.gcr.io/cilium/cilium:v1.14.13-gke1.30-gke.64"],"sizeBytes":171632673},{"names":["gke.gcr.io/prometheus-engine/prometheus@sha256:3e6493d4b01ab583382731491d980bc164873ad4969e92c0bdd0da278359ccac"],"sizeBytes":113010021},{"names":["gke.gcr.io/fluent-bit@sha256:bd48755377a723a91bc3fd96f67796ba3a3023808fd69b37d97cb1aa5985d9ae"],"sizeBytes":93330926},{"names":["gke.gcr.io/kube-proxy-amd64:v1.30.9-gke.1127000","gke.gcr.io/kube-proxy-amd64:v1.30.9-gke.500","k8s.gcr.io/kube-proxy-amd64:v1.30.9-gke.500"],"sizeBytes":88273080},{"names":["gke.gcr.io/gcp-compute-persistent-disk-csi-driver@sha256:bbbf275b1482cf3fc658f0bde28b1fbd24054451b5a97e23812821c82374a2b2"],"sizeBytes":60814920},{"names":["gke.gcr.io/prometheus-engine/config-reloader@sha256:d199f266545ee281fa51d30e0a5f9c4da27da23055b153ca93adbf7483d19633"],"sizeBytes":59834302},{"names":["asia.gcr.io/gke-release-staging/cilium/certgen@sha256:73529e65f241d2b390d4eadb4b886ea9de8c3ef27ae3854733d6a9cbefd6d0b0","eu.gcr.io/gke-release-staging/cilium/certgen@sha256:73529e65f241d2b390d4eadb4b886ea9de8c3ef27ae3854733d6a9cbefd6d0b0","gcr.io/gke-release-staging/cilium/certgen@sha256:73529e65f241d2b390d4eadb4b886ea9de8c3ef27ae3854733d6a9cbefd6d0b0","asia.gke.gcr.io/cilium/certgen:v0.1.13-gke.14","eu.gke.gcr.io/cilium/certgen:v0.1.13-gke.14"],"sizeBytes":40760357},{"names":["docker.io/artichoke111/metrics-agent@sha256:3cbe3fbd370ee77dc47fc4a918b14822811d22585566791a9f4ecc569d9c29c9","docker.io/artichoke111/metrics-agent:metrics-agent-2.11.17-dirty"],"sizeBytes":35927772},{"names":["docker.io/cloudability/metrics-agent@sha256:88da6d41e0cd48be4e273fc4bb640c98883259c3b8e450175725e75150b075dd","docker.io/cloudability/metrics-agent:latest"],"sizeBytes":35846897},{"names":["asia.gcr.io/gke-release-staging/cilium/slim-daemon/anet-agent@sha256:1a871e457e08d4e3e06a079f76e6a5a67c5869797ae305a6fb7f1e2c4712f0cd","eu.gcr.io/gke-release-staging/cilium/slim-daemon/anet-agent@sha256:1a871e457e08d4e3e06a079f76e6a5a67c5869797ae305a6fb7f1e2c4712f0cd","gcr.io/gke-release-staging/cilium/slim-daemon/anet-agent@sha256:1a871e457e08d4e3e06a079f76e6a5a67c5869797ae305a6fb7f1e2c4712f0cd","asia.gke.gcr.io/cilium/slim-daemon/anet-agent:v1.14.13-gke1.30-gke.64","eu.gke.gcr.io/cilium/slim-daemon/anet-agent:v1.14.13-gke1.30-gke.64"],"sizeBytes":33172919},{"names":["gke.gcr.io/fluent-bit-gke-exporter@sha256:0ed31fb2cc1b2b747a1e304a5530124c97909a0eb17774c7ce80595abf73d1e6"],"sizeBytes":32969391},{"names":["gke.gcr.io/gke-metrics-agent@sha256:be215beaf8f2acd5c4f64ff3d28e6dc60071ef6f0da5eb9774fda69148c38ba4"],"sizeBytes":27003958},{"names":["gke.gcr.io/gke-metrics-collector@sha256:3d76420863be0cdbdf5f9a512e032d9b20ae8fd7be4b5eca22ecdb1e867f23bf"],"sizeBytes":25809971},{"names":["gke.gcr.io/gke-metrics-collector@sha256:d460e6b5088332f62b990f8a1f7bf6d9eca7c3f41cb974e3db493d6b0fc4ad70"],"sizeBytes":24425624},{"names":["gke.gcr.io/gke-metrics-collector@sha256:463e73163c4d343b8a3327e0d2e8e955d22434e9005a1a188275ac55b8cfebb4"],"sizeBytes":24343841},{"names":["asia.gcr.io/gke-release-staging/cilium/hubble-cli@sha256:327d40413ece3e0cf8e14cebd5d24b15a1987bf8a4e5ec369dabdb17203e62c2","eu.gcr.io/gke-release-staging/cilium/hubble-cli@sha256:327d40413ece3e0cf8e14cebd5d24b15a1987bf8a4e5ec369dabdb17203e62c2","gcr.io/gke-release-staging/cilium/hubble-cli@sha256:327d40413ece3e0cf8e14cebd5d24b15a1987bf8a4e5ec369dabdb17203e62c2","asia.gke.gcr.io/cilium/hubble-cli:v0.13.5-gke.14","eu.gke.gcr.io/cilium/hubble-cli:v0.13.5-gke.14"],"sizeBytes":24123625},{"names":["asia.gcr.io/gke-release-staging/anthos-networking/anetd-sidecar@sha256:2a788f8b3fc1112f706a7b22f13fb0e430d76c5743e6f8a6c2c350345f3a006d","eu.gcr.io/gke-release-staging/anthos-networking/anetd-sidecar@sha256:2a788f8b3fc1112f706a7b22f13fb0e430d76c5743e6f8a6c2c350345f3a006d","gcr.io/gke-release-staging/anthos-networking/anetd-sidecar@sha256:2a788f8b3fc1112f706a7b22f13fb0e430d76c5743e6f8a6c2c350345f3a006d","asia.gke.gcr.io/anthos-networking/anetd-sidecar:v2.9.77","eu.gke.gcr.io/anthos-networking/anetd-sidecar:v2.9.77"],"sizeBytes":23881188},{"names":["asia.gcr.io/gke-release-staging/gke-metrics-collector@sha256:1593f1e9570b99b1843cc886b723d4e291e2281fe2b9e45f565064cac379e4cf","eu.gcr.io/gke-release-staging/gke-metrics-collector@sha256:1593f1e9570b99b1843cc886b723d4e291e2281fe2b9e45f565064cac379e4cf","gcr.io/gke-release-staging/gke-metrics-collector@sha256:1593f1e9570b99b1843cc886b723d4e291e2281fe2b9e45f565064cac379e4cf","asia.gke.gcr.io/gke-metrics-collector:20240508_2300_RC0","eu.gke.gcr.io/gke-metrics-collector:20240508_2300_RC0"],"sizeBytes":23823718},{"names":["asia.gcr.io/gke-release-staging/gke-metrics-collector@sha256:545f5594f9a6ee714b315897f92edeaa858b1074e4c6a38894353214907e4fe5","eu.gcr.io/gke-release-staging/gke-metrics-collector@sha256:545f5594f9a6ee714b315897f92edeaa858b1074e4c6a38894353214907e4fe5","gcr.io/gke-release-staging/gke-metrics-collector@sha256:545f5594f9a6ee714b315897f92edeaa858b1074e4c6a38894353214907e4fe5","asia.gke.gcr.io/gke-metrics-collector:20240425_2300_RC0","eu.gke.gcr.io/gke-metrics-collector:20240425_2300_RC0"],"sizeBytes":23805895},{"names":["asia.gcr.io/gke-release-staging/netd@sha256:6ca0892cc32f66705087257c12ef97f3f27b270402e03299450b19ecb93e48e6","eu.gcr.io/gke-release-staging/netd@sha256:6ca0892cc32f66705087257c12ef97f3f27b270402e03299450b19ecb93e48e6","gcr.io/gke-release-staging/netd@sha256:6ca0892cc32f66705087257c12ef97f3f27b270402e03299450b19ecb93e48e6","asia.gke.gcr.io/netd:v0.8.4-gke.18","eu.gke.gcr.io/netd:v0.8.4-gke.18"],"sizeBytes":23427157},{"names":["asia.gcr.io/gke-release-staging/cilium/hubble-relay@sha256:365232539d4c473b20544833b79b2fe448190dc2a5280e6bd38b672a2d7ad121","eu.gcr.io/gke-release-staging/cilium/hubble-relay@sha256:365232539d4c473b20544833b79b2fe448190dc2a5280e6bd38b672a2d7ad121","gcr.io/gke-release-staging/cilium/hubble-relay@sha256:365232539d4c473b20544833b79b2fe448190dc2a5280e6bd38b672a2d7ad121","asia.gke.gcr.io/cilium/hubble-relay:v1.14.13-gke1.30-gke.64","eu.gke.gcr.io/cilium/hubble-relay:v1.14.13-gke1.30-gke.64"],"sizeBytes":21850766},{"names":["gke.gcr.io/gke-distroless/bash@sha256:12d99a6a72f4fecd689ead5d93001c1f3acea08ec72a55bbdfc070e0edc30fa4"],"sizeBytes":18654784},{"names":["gke.gcr.io/gke-distroless/bash@sha256:ec5022c67b5316ae07f44ed374894e9bb55d548884d293da6b0d350a46dff2df"],"sizeBytes":18373482},{"names":["asia.gcr.io/gke-release-staging/ip-masq-agent@sha256:4035e9a6996d792ded07e94aab4e0a54bd3a3d58dddbbd0fb4edc8898a4c4d71","eu.gcr.io/gke-release-staging/ip-masq-agent@sha256:4035e9a6996d792ded07e94aab4e0a54bd3a3d58dddbbd0fb4edc8898a4c4d71","gcr.io/gke-release-staging/ip-masq-agent@sha256:4035e9a6996d792ded07e94aab4e0a54bd3a3d58dddbbd0fb4edc8898a4c4d71","asia.gke.gcr.io/ip-masq-agent:v2.11.0-gke.30","eu.gke.gcr.io/ip-masq-agent:v2.11.0-gke.30"],"sizeBytes":16420466},{"names":["asia.gcr.io/gke-release-staging/netd-init@sha256:96c1dd2984b3d3f7029242b9248a0dcbdde2714e7d92bdbc51e9a85f60f0e9f3","eu.gcr.io/gke-release-staging/netd-init@sha256:96c1dd2984b3d3f7029242b9248a0dcbdde2714e7d92bdbc51e9a85f60f0e9f3","gcr.io/gke-release-staging/netd-init@sha256:96c1dd2984b3d3f7029242b9248a0dcbdde2714e7d92bdbc51e9a85f60f0e9f3","asia.gke.gcr.io/netd-init:v0.8.4-gke.18","eu.gke.gcr.io/netd-init:v0.8.4-gke.18"],"sizeBytes":15416418}]}} | ||
|
|
||
| {"metadata":{"name":"nodename5","uid":"f8a3c2d1-9b4e-4c5a-a1f2-3d6e7b8c9a0b","resourceVersion":"377580000","creationTimestamp":"2025-02-27T22:30:00Z","labels":{"beta.kubernetes.io/arch":"amd64","beta.kubernetes.io/instance-type":"e2-medium","beta.kubernetes.io/os":"linux","cloud.google.com/gke-boot-disk":"pd-balanced","cloud.google.com/gke-container-runtime":"containerd","cloud.google.com/gke-cpu-scaling-level":"2","cloud.google.com/gke-logging-variant":"DEFAULT","cloud.google.com/gke-max-pods-per-node":"100","cloud.google.com/gke-memory-gb-scaling-level":"4","cloud.google.com/gke-nodepool":"ipv6-pool","cloud.google.com/gke-os-distribution":"cos","cloud.google.com/gke-provisioning":"standard","cloud.google.com/gke-stack-type":"IPV4_IPV6","cloud.google.com/machine-family":"e2","cloud.google.com/private-node":"false","failure-domain.beta.kubernetes.io/region":"us-central1","failure-domain.beta.kubernetes.io/zone":"us-central1-c","kubernetes.io/arch":"amd64","kubernetes.io/hostname":"nodename5","kubernetes.io/os":"linux","node.kubernetes.io/instance-type":"e2-medium","topology.gke.io/zone":"us-central1-c","topology.kubernetes.io/region":"us-central1","topology.kubernetes.io/zone":"us-central1-c"},"annotations":{"container.googleapis.com/instance_id":"1234567890123456789","csi.volume.kubernetes.io/nodeid":"{\"pd.csi.storage.gke.io\":\"projects/containers-183923/zones/us-central1-c/instances/nodename5\"}","node.alpha.kubernetes.io/ttl":"0","volumes.kubernetes.io/controller-managed-attach-detach":"true"},"managedFields":[{"manager":"kubelet","operation":"Update","apiVersion":"v1","time":"2025-02-27T22:30:00Z","fieldsType":"FieldsV1"}]},"spec":{"podCIDR":"10.84.5.0/24","podCIDRs":["10.84.5.0/24","2600:1900:4000::/64"],"providerID":"gce://containers-183923/us-central1-c/nodename5"},"status":{"capacity":{"cpu":"2","ephemeral-storage":"98831908Ki","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"4018132Ki","pods":"100"},"allocatable":{"cpu":"940m","ephemeral-storage":"47060071478","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"2872276Ki","pods":"100"},"conditions":[{"type":"Ready","status":"True","lastHeartbeatTime":"2025-03-01T23:45:00Z","lastTransitionTime":"2025-02-27T22:30:00Z","reason":"KubeletReady","message":"kubelet is posting ready status"}],"addresses":[{"type":"InternalIP","address":"2001:db8::1"},{"type":"InternalIP","address":"10.128.0.50"},{"type":"ExternalIP","address":"2001:db8:85a3::8a2e:370:7334"}],"daemonEndpoints":{"kubeletEndpoint":{"Port":10250}},"nodeInfo":{"machineID":"a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6","systemUUID":"a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6","bootID":"b1c2d3e4-f5g6-h7i8-j9k0-l1m2n3o4p5q6","kernelVersion":"6.1.123+","osImage":"Container-Optimized OS from Google","containerRuntimeVersion":"containerd://1.7.24","kubeletVersion":"v1.30.9-gke.1127000","kubeProxyVersion":"v1.30.9-gke.1127000","operatingSystem":"linux","architecture":"amd64"},"images":[]}} |
Member
There was a problem hiding this comment.
Is this necessary? I see that it's given an IPv6 address, but I don't feel we're really testing against it at all?
thomasvn
approved these changes
Mar 30, 2026
thomasvn
left a comment
Member
There was a problem hiding this comment.
Left a minor comment, but overall LGTM!
Co-authored-by: Warwick <warwick@automatic.systems> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
fix: use net.JoinHostPort for IPv6-safe kubelet scrape URLs
Fixes #164
Problem
directNode.formatEndpoint()constructs kubelet scrape URLs viafmt.Sprintf("https://%s:%v/%s", d.ip, d.port, s). On IPv6-only clusters,NodeAddress()returns a bare IPv6 address from the Kubernetes API (e.g.2a05:d014:1314:704::a282), producing an invalid URL:Go's
net/url.Parse(called byhttp.NewRequest) interprets the colons as port delimiters and fails withinvalid port ":d014:1314:..." after host. This silently breaks all node metrics scraping on IPv6-only clusters — the pod staysRunningbut cost allocation data is completely absent.Per RFC 3986 §3.2.2, IPv6 literals in URIs must be enclosed in square brackets:
Fix
Replace bare string concatenation with
net.JoinHostPortinpkg/nodes/request.go:net.JoinHostPortis the Go standard library's intended API for this — it wraps IPv6 addresses in brackets automatically and passes IPv4 addresses through unchanged. No behavioural change for existing IPv4 clusters.Changes
pkg/nodes/request.go— Added"net"and"strconv"imports; replacedfmt.SprintfURL construction withnet.JoinHostPortpkg/nodes/request_test.go(new) — Unit tests forformatEndpointcovering IPv4, full IPv6, loopback (::1), and ULA (fd00::1) addresses. Each test verifies the URL is parseable bynet/url.ParseTesting
All existing tests pass. New tests validate:
Impact
- IPv6-only clusters: Fixes complete loss of cost allocation data
- IPv4 clusters: No change —
- Dual-stack clusters: Fix applies when
# fix: use net.JoinHostPort for IPv6-safe kubelet scrape URLsnet.JoinHostPortis a no-op for IPv4NodeInternalIPresolves to an IPv6 addressFixes #164
Problem
directNode.formatEndpoint()constructs kubelet scrape URLs viafmt.Sprintf("https://%s:%v/%s", d.ip, d.port, s). On IPv6-only clusters,NodeAddress()returns a bare IPv6 address from the Kubernetes API (e.g.2a05:d014:1314:704::a282), producing an invalid URL:Go's
net/url.Parse(called byhttp.NewRequest) interprets the colons as port delimiters and fails withinvalid port ":d014:1314:..." after host. This silently breaks all node metrics scraping on IPv6-only clusters — the pod staysRunningbut cost allocation data is completely absent.Per [RFC 3986 §3.2.2](https://www.rfc-editor.org/rfc/rfc3986#section-3.2.2), IPv6 literals in URIs must be enclosed in square brackets:
Fix
Replace bare string concatenation with
net.JoinHostPortinpkg/nodes/request.go:net.JoinHostPortis the Go standard library's intended API for this — it wraps IPv6 addresses in brackets automatically and passes IPv4 addresses through unchanged. No behavioural change for existing IPv4 clusters.Changes
pkg/nodes/request.go— Added"net"and"strconv"imports; replacedfmt.SprintfURL construction withnet.JoinHostPortpkg/nodes/request_test.go(new) — Unit tests forformatEndpointcovering IPv4, full IPv6, loopback (::1), and ULA (fd00::1) addresses. Each test verifies the URL is parseable bynet/url.ParseTesting
All existing tests pass. New tests validate:
10.128.15.23910250https://10.128.15.239:10250/stats/summary2a05:d014:1314:704::a28210250https://[2a05:d014:1314:704::a282]:10250/stats/summary::110250https://[::1]:10250/stats/summaryfd00::1443https://[fd00::1]:443/stats/summaryImpact
net.JoinHostPortis a no-op for IPv4NodeInternalIPresolves to an IPv6 address