¿Cómo podemos obtener los recuentos de gke pod que se ejecutan en el clúster? Descubrí que hay formas de obtener el recuento de nodos, pero también necesitábamos el recuento de pods. será mejor si podemos usar algo sin necesidad de registro en las operaciones de gcp.
Puede hacerlo con la biblioteca Kubernetes Python Client como se muestra en esta pregunta , publicada por Pradeep Padmanaban C , donde estaba buscando una forma más efectiva de hacerlo, pero su ejemplo es en realidad lo mejor que puede hacer para realizar dicha operación. no hay un método específico que le permita simplemente contar los pods sin recuperar sus manifiestos json completos:
from kubernetes import client , config config.load_kube_config() v1= client.CoreV1Api() ret_pod = v1.list_pod_for_all_namespaces(watch=False) print(len(ret_pod.items)) También puede usar un método diferente, que permite recuperar pods solo desde un espacio de namespace específico, por ejemplo:
list_namespaced_pod("default") En forma kubectl , puede hacerlo de la siguiente manera (como lo propone aquí RammusXu ):
kubectl get pods --all-namespaces --no-headers | wc -lPuede acceder directamente a la API de kubernetes mediante una llamada a la API tranquila . Deberá asegurarse de proporcionar el token de autenticación en su llamada al incluir un token de portador.
Una vez que pueda consultar el servidor API directamente, puede usar GET <master_endpoint>/api/v1/pods para enumerar todos los pods en el clúster. También puede buscar espacios de nombres específicos especificando el espacio de nombres /api/v1/namespaces/<namespace>/pods .
Tenga en cuenta que la herramienta kubectl cli es solo un contenedor para las llamadas a la API, cada comando de kubectl formará una llamada a la API RESTful en un formato similar al mencionado anteriormente, por lo que cualquier interacción que tenga con el clúster usando kubectl también se puede lograr a través de Llamadas API RESTful