🐳 Как ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ список ΠΎΠ±Ρ€Π°Π·ΠΎΠ² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Π²Π½ΡƒΡ‚Ρ€ΠΈ кластСра Kubernetes

Как ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ список ΠΎΠ±Ρ€Π°Π·ΠΎΠ² Π²ΠΎ всСм кластСрС

by itisgood

ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Π²Π½ΡƒΡ‚Ρ€ΠΈ кластСра Kubernetes.

ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΠΌ ΡƒΠ·Π»Ρ‹ кластСра ΠΈ ΠΈΡ… статус.

$ kubectl get nodes
NAME                                STATUS   ROLES           AGE      VERSION
awesome-cluster-master-01.local     Ready    control-plane   1y68d    v1.26.3
awesome-cluster-master-02.local     Ready    control-plane   533d     v1.26.3
awesome-cluster-master-03.local     Ready    control-plane   1y121d   v1.26.3
awesome-cluster-node-01.local       Ready    <none>          1y79d    v1.26.3
awesome-cluster-node-02.local       Ready    <none>          1y75d    v1.26.3
awesome-cluster-node-03.local       Ready    <none>          1y291d   v1.26.3
awesome-cluster-node-04.local       Ready    <none>          1y66d    v1.26.3
awesome-cluster-node-05.local       Ready    <none>          1y50d    v1.26.3

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌΒ Π²ΡΠ΅ ΠΎΠ±Ρ€Π°Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ², доступныС Π½Π° всСх ΡƒΠ·Π»Π°Ρ….

$ kubectl get nodes --output json | \
  jq --raw-output '.items[].status.images[].names[]' | \
  sort --uniq
docker.io/calico/cni:v3.20.2
docker.io/calico/cni@sha256:3dae26de7388ff3c124b9abd7e8d12863887391f23549c4aebfbfa20cc0700a5
docker.io/calico/node:v3.20.2
docker.io/calico/node@sha256:1ae8f57edec7c3a84cd48dd94132a1dcfd7c61bfff819c559f9379d4a56fe3b1
docker.io/calico/pod2daemon-flexvol:v3.20.2
docker.io/calico/pod2daemon-flexvol@sha256:4514cc1b2f7536fe1d514fad8a2c46103382243bb9db5ea2d0063fcd2001e8f7
docker.io/gitlab/gitlab-runner:alpine-v15.11.1
docker.io/gitlab/gitlab-runner@sha256:62d7c026513082fee95ac1666c6ad2d67d4417325d963ec539be4912e6d35623
docker.io/istio/proxyv2:1.11.4
docker.io/istio/proxyv2@sha256:68b1012e5ba209161671f0e76c92baad845cef810fa0a7cf1b105fee8f0d3e46
docker.io/jupyterhub/k8s-hub:1.1.3
docker.io/jupyterhub/k8s-hub@sha256:c9c80b2b86763f538de9fc2bc235d177bd34830ff7d4cdf8e7ca6dc6c3e96e9e
docker.io/praqma/network-multitool:latest
docker.io/praqma/network-multitool@sha256:97b15098bb72df10f7c4e177b9c0e2435ec459f16e79ab7ae2ed3f1eb0e79d19
docker.io/rancher/rancher:v2.7.6
docker.io/rancher/rancher@sha256:7e42b1a631859c6740835659a022ed96097955dde2707f32e7a089f5b5f64c06
k8s.gcr.io/coredns/coredns:v1.8.6
k8s.gcr.io/coredns/coredns@sha256:5b6ec0d6de9baaf3e92d0f66cd96a25b9edbce8716f5f15dcd1a616b3abd590e
k8s.gcr.io/etcd:3.5.3-0
k8s.gcr.io/etcd@sha256:13f53ed1d91e2e11aac476ee9a0269fdda6cc4874eba903efd40daf50c55eee5
k8s.gcr.io/kube-apiserver:v1.26.3
k8s.gcr.io/kube-apiserver@sha256:ad9608e8a9d758f966b6ca6795b50a4723982328194bde214804b21efd48da44
k8s.gcr.io/kube-controller-manager:v1.26.3
k8s.gcr.io/kube-controller-manager@sha256:594a3f5bbdd0419ac57d580da8dfb061237fa48d0c9909991a3af70630291f7a
k8s.gcr.io/kube-proxy:v1.26.3
k8s.gcr.io/kube-proxy@sha256:1652df3138207570f52ae0be05cbf26c02648e6a4c30ced3f779fe3d6295ad6d
k8s.gcr.io/kube-scheduler:v1.26.3
k8s.gcr.io/kube-scheduler@sha256:0d2de567157e3fb97dfa831620a3dc38d24b05bd3721763a99f3f73b8cbe99c9
k8s.gcr.io/metrics-server/metrics-server:v0.5.1
k8s.gcr.io/metrics-server/metrics-server@sha256:3ae6366cbeab73860a4f4a297e82134c1531bbe766d70cf677a7ba2e84d412d0
k8s.gcr.io/pause:3.2
k8s.gcr.io/pause:3.7
k8s.gcr.io/pause@sha256:927d98197ec1141a368550822d18fa1c60bdae27b78b0c004f705f548c07814f
k8s.gcr.io/pause@sha256:bb6ed397957e9ca7c65ada0db5c5d1c707c9c8afc80a94acbe69f3ae76988f0c
quay.io/argoproj/argocd:v2.3.4
quay.io/argoproj/argocd@sha256:85d55980e70f8f7073e4ce529a7bbcf6d55e51f8a7fc4b45d698f0a7ffef0fea
quay.io/brancz/kube-rbac-proxy:v0.13.0
quay.io/brancz/kube-rbac-proxy@sha256:6ed5ed1852f191eea344b11578bdb0b602b27727e6df685de5f1c73c9d066ae4
quay.io/k8tz/k8tz:0.4.0
quay.io/k8tz/k8tz@sha256:78152c818e87306227ff210e535d99ee5f9864967d5b4b9ccfd9cfe44e2323f1
quay.io/prometheus/node-exporter:v1.3.1
quay.io/prometheus/node-exporter@sha256:f2269e73124dd0f60a7d19a2ce1264d33d08a985aed0ee6b0b89d0be470592cd
registry.gitlab.com/security-products/nodejs-scan:3
registry.gitlab.com/security-products/nodejs-scan@sha256:928f6a1a125253c2c83f243969784f7e2e6ea943916d1ad20a5ef8b8f138aff9
registry.gitlab.com/security-products/semgrep:3
registry.gitlab.com/security-products/semgrep@sha256:258ceebede48e14d7eb3759018537b4602950a93d146c1d7b9c240eebabf35e3

Бписок ΠΎΠ±Ρ€Π°Π·ΠΎΠ² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² настоящСС врСмя Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΠΎΠ΄Π°ΠΌΠΈ.

$ kubectl get pods --all-namespaces --output jsonpath='{range .items[*]}{.spec.containers[*].image}{"\n"}{end}' | \
  sort --uniq
docker.io/calico/kube-controllers:v3.20.2
docker.io/calico/node:v3.20.2
docker.io/istio/proxyv2:1.11.4
gcr.io/istio-testing/pilot:1.13-dev
ghcr.io/dexidp/dex:v2.30.2
gitlab/gitlab-runner:alpine-v15.11.1
grafana/grafana:9.1.6
haproxy:2.0.25-alpine
jupyterhub/configurable-http-proxy:4.5.0
jupyterhub/k8s-hub:1.1.3
k8s.gcr.io/coredns/coredns:v1.8.6
k8s.gcr.io/etcd:3.5.3-0
k8s.gcr.io/kube-apiserver:v1.26.3
k8s.gcr.io/kube-controller-manager:v1.26.3
k8s.gcr.io/kube-proxy:v1.26.3
k8s.gcr.io/kube-scheduler:v1.19.13
k8s.gcr.io/kube-scheduler:v1.26.3
k8s.gcr.io/kube-state-metrics/kube-state-metrics:v2.6.0 quay.io/brancz/kube-rbac-proxy:v0.13.0 quay.io/brancz/kube-rbac-proxy:v0.13.0
k8s.gcr.io/metrics-server/metrics-server:v0.5.1
k8s.gcr.io/pause:3.5
nginx:1.24.0-alpine3.17
praqma/network-multitool
praqma/network-multitool gcr.io/istio-testing/proxyv2:1.13-dev
quay.io/argoproj/argo-rollouts:v1.2.0-rc1
quay.io/argoproj/argocd-applicationset:v0.4.1
quay.io/argoproj/argocd:v2.3.4
quay.io/jetstack/cert-manager-cainjector:v1.13.0
quay.io/jetstack/cert-manager-controller:v1.13.0
quay.io/jetstack/cert-manager-webhook:v1.13.0
quay.io/jupyterhub-ssh/ssh:0.0.1-n136.ha610981
quay.io/k8tz/k8tz:0.4.0
quay.io/kiali/kiali-operator:v1.41.0
quay.io/kiali/kiali:v1.41.0 gcr.io/istio-testing/proxyv2:1.13-dev
quay.io/prometheus-operator/prometheus-operator:v0.59.2 quay.io/brancz/kube-rbac-proxy:v0.13.0
quay.io/prometheus/alertmanager:v0.24.0 quay.io/prometheus-operator/prometheus-config-reloader:v0.59.2
quay.io/prometheus/blackbox-exporter:v0.22.0 jimmidyson/configmap-reload:v0.5.0 quay.io/brancz/kube-rbac-proxy:v0.13.0
quay.io/prometheus/node-exporter:v1.3.1 quay.io/brancz/kube-rbac-proxy:v0.13.0
quay.io/prometheus/prometheus:v2.38.0 quay.io/prometheus-operator/prometheus-config-reloader:v0.59.2
quay.io/rhdevelopers/bgd:1.0.0
rancher/fleet-agent:v0.7.1
rancher/fleet:v0.7.1
rancher/gitjob:v0.1.54
rancher/rancher-webhook:v0.3.5
rancher/rancher:v2.7.6
redis:6.2.6-alpine redis:6.2.6-alpine
registry.k8s.io/ingress-nginx/controller:v1.8.2@sha256:74834d3d25b336b62cabeb8bf7f1d788706e2cf1cfd64022de4137ade8881ff2
registry.k8s.io/prometheus-adapter/prometheus-adapter:v0.10.0

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ², доступныС Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Π½ΠΎΠ΄Π°Ρ….

$ kubectl get node awesome-cluster-node-03.local --output json | \
  jq --raw-output '.status.images[].names[]' | \
  sort
docker.io/calico/cni:v3.20.2
docker.io/calico/cni@sha256:3dae26de7388ff3c124b9abd7e8d12863887391f23549c4aebfbfa20cc0700a5
docker.io/calico/node:v3.20.2
docker.io/calico/node@sha256:1ae8f57edec7c3a84cd48dd94132a1dcfd7c61bfff819c559f9379d4a56fe3b1
docker.io/gitlab/gitlab-runner:alpine-v15.11.1
docker.io/gitlab/gitlab-runner@sha256:62d7c026513082fee95ac1666c6ad2d67d4417325d963ec539be4912e6d35623
docker.io/istio/proxyv2:1.11.4
docker.io/istio/proxyv2@sha256:68b1012e5ba209161671f0e76c92baad845cef810fa0a7cf1b105fee8f0d3e46
docker.io/jupyterhub/k8s-hub:1.1.3
docker.io/jupyterhub/k8s-hub@sha256:c9c80b2b86763f538de9fc2bc235d177bd34830ff7d4cdf8e7ca6dc6c3e96e9e
k8s.gcr.io/kube-proxy:v1.26.3
k8s.gcr.io/kube-proxy@sha256:1652df3138207570f52ae0be05cbf26c02648e6a4c30ced3f779fe3d6295ad6d
registry.gitlab.com/security-products/nodejs-scan:3
registry.gitlab.com/security-products/nodejs-scan@sha256:928f6a1a125253c2c83f243969784f7e2e6ea943916d1ad20a5ef8b8f138aff9
registry.gitlab.com/security-products/semgrep:3
registry.gitlab.com/security-products/semgrep@sha256:258ceebede48e14d7eb3759018537b4602950a93d146c1d7b9c240eebabf35e3

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ структуру ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΠ±Ρ€Π°Π·Π° ΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅.

$ kubectl get node awesome-cluster-node-03.local --output json | jq --raw-output '.status.images | first'
{
  "names": [
    "k8s.gcr.io/kube-proxy@sha256:1652df3138207570f52ae0be05cbf26c02648e6a4c30ced3f779fe3d6295ad6d",
    "k8s.gcr.io/kube-proxy:v1.24.1"
  ],
  "sizeBytes": 39515102
}

РассчитайтС ΠΎΠ±Ρ‰Π΅Π΅ дисковоС пространство, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠ΅ ΠΎΠ±Ρ€Π°Π·Π°ΠΌΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΡƒΠ·Π»Π΅.

$ kubectl get node awesome-cluster-node-03.local --output json | \
  jq '[.status.images[].sizeBytes] | add' | \
  numfmt --to=iec-i --suffix=B
17GiB

см. Ρ‚Π°ΠΊΠΆΠ΅:

 

Loading

You may also like

Leave a Comment