☸️ Как перечислить все ресурсы в пространстве имен k8s

Как показать ресурсы Kubernetes

by itisgood
Перечислим все ресурсы в пространстве имен.
По соображениям совместимости все не означает все объекты пространства имен.
Отобразим все ресурсы в пространстве имен.
$ kubectl get all --namespace postgresql
NAME                      READY   STATUS    RESTARTS      AGE
pod/postgresql-server-0   1/1     Running   6 (11d ago)   41d

NAME                            TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
service/postgresql-service      ClusterIP   10.152.183.51            5432/TCP         41d
service/postgres-node-service   NodePort    10.152.183.221           5432:30021/TCP   40d

NAME                                 READY   AGE
statefulset.apps/postgresql-server   1/1     41d

Перечислим все ресурсы с именами.

$ kubectl api-resources --verbs=list --namespaced -o name
configmaps
endpoints
events
limitranges
persistentvolumeclaims
pods
podtemplates
replicationcontrollers
resourcequotas
secrets
serviceaccounts
services
controllerrevisions.apps
daemonsets.apps
deployments.apps
replicasets.apps
statefulsets.apps
horizontalpodautoscalers.autoscaling
cronjobs.batch
jobs.batch
leases.coordination.k8s.io
networkpolicies.crd.projectcalico.org
networksets.crd.projectcalico.org
endpointslices.discovery.k8s.io
events.events.k8s.io
ingresses.networking.k8s.io
networkpolicies.networking.k8s.io
poddisruptionbudgets.policy
rolebindings.rbac.authorization.k8s.io
roles.rbac.authorization.k8s.io
csistoragecapacities.storage.k8s.io
$ (echo KIND NAMESPACE NAME UID CREATED; microk8s kubectl api-resources --verbs=list --namespaced -o name | xargs -I {} microk8s kubectl get {} --namespace postgresql --ignore-not-found -o custom-columns=KIND:.kind,NAMESPACE:.metadata.namespace,NAME:.metadata.name,UID:.metadata.uid,CREATED:.metadata.creationTimestamp --sort-by=.kind --no-headers) | column -t
KIND                NAMESPACE   NAME                          UID                                   CREATED
ConfigMap           postgresql  kube-root-ca.crt              341b32fa-34ec-402e-a70e-a235141edc2b  2023-06-25T16:46:57Z
Endpoints           postgresql  postgres-node-service         b92a3489-295c-4f75-922e-406f2becfd19  2023-06-26T18:29:18Z
Endpoints           postgresql  postgresql-service            73821627-5b9b-4437-9466-1cfae2af2e8e  2023-06-25T16:46:57Z
Pod                 postgresql  postgresql-server-0           dd8c90d4-49dd-41ff-954a-90c983492684  2023-06-25T16:57:30Z
ServiceAccount      postgresql  default                       3d9068dd-f172-451f-916f-76dd12eeb386  2023-06-25T16:46:57Z
Service             postgresql  postgresql-service            69c769c4-7371-4d29-823e-a23cc4558eaf  2023-06-25T16:46:57Z
Service             postgresql  postgres-node-service         3bfa84c9-7d58-4800-8035-28fdc8eb1497  2023-06-26T18:29:18Z
ControllerRevision  postgresql  postgresql-server-5bf978474c  2ea26e09-490e-44c3-8839-00c5073fab53  2023-06-25T16:57:30Z
StatefulSet         postgresql  postgresql-server             ff91f490-39ad-42b9-97c7-52ad6beaea19  2023-06-25T16:57:30Z
EndpointSlice       postgresql  postgres-node-service-zc7lf   c2e6bab4-2595-42da-8289-68d460aa0c1f  2023-06-26T18:29:18Z
EndpointSlice       postgresql  postgresql-service-fg4qf      f0161de6-6f3f-4ecc-b409-8f0b4db0fdc4  2023-06-25T16:46:57Z

В качестве альтернативы вы можете создать плагин kubectl для получения всех ресурсов.

$ sudo tee /usr/local/bin/kubectl-every <<EOF
#!/bin/bash
kubectl get --show-kind --ignore-not-found \$(kubectl api-resources --verbs=list --namespaced -o name | paste -s -d,) \$@
EO

Убедитесь, что бит исполняемого файла установлен.

$ sudo chmod +x /usr/local/bin/kubectl-every 

Используйте его для отображения каждого ресурса.

$ kubectl every --namespace postgresql
NAME                         DATA   AGE
configmap/kube-root-ca.crt   1      41d

NAME                              ENDPOINTS           AGE
endpoints/postgres-node-service   10.1.202.225:5432   40d
endpoints/postgresql-service      10.1.202.225:5432   41d

NAME                      READY   STATUS    RESTARTS      AGE
pod/postgresql-server-0   1/1     Running   6 (11d ago)   41d

NAME                     SECRETS   AGE
serviceaccount/default   0         41d

NAME                            TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
service/postgresql-service      ClusterIP   10.152.183.51            5432/TCP         41d
service/postgres-node-service   NodePort    10.152.183.221           5432:30021/TCP   40d

NAME                                                   CONTROLLER                           REVISION   AGE
controllerrevision.apps/postgresql-server-5bf978474c   statefulset.apps/postgresql-server   1          41d

NAME                                 READY   AGE
statefulset.apps/postgresql-server   1/1     41d

NAME                                                         ADDRESSTYPE   PORTS   ENDPOINTS      AGE
endpointslice.discovery.k8s.io/postgres-node-service-zc7lf   IPv4          5432    10.1.202.225   40d
endpointslice.discovery.k8s.io/postgresql-service-fg4qf      IPv4          5432    10.1.202.225   41d

см. также:

 

You may also like

Leave a Comment