Когда кластер растёт, следить за состоянием подов вручную через kubectl становится неудобно.
Минимальный скрипт для получения статуса всех подов во всех неймспейсах выглядит так:
from kubernetes import client, config
def check_kubernetes_status():
config.load_kube_config() # Загружаем конфиг из ~/.kube/config
v1 = client.CoreV1Api()
pods = v1.list_pod_for_all_namespaces(watch=False)
for pod in pods.items:
print(f"Pod: {pod.metadata.name}, Status: {pod.status.phase}")
if __name__ == "__main__":
check_kubernetes_status()
config.load_kube_config() подхватывает конфиг из ~/.kube/config — тот же, что использует kubectl. Если скрипт запускается внутри кластера, замените на config.load_incluster_config().list_pod_for_all_namespaces() возвращает все поды сразу. Хотите фильтровать по неймспейсу — используйте list_namespaced_pod(namespace="your-namespace").Хорошая отправная точка для собственного инструмента мониторинга без лишних зависимостей.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженера