Как получить статус модуля в kubernetes с помощью go-клиента
Я пытаюсь удалить модуль в моем кластере kubernetes, а затем проверить его состояние, чтобы узнать, сколько времени потребуется, чтобы модуль вышел из строя и снова поднялся. Я не смог найти полезного примера для второй части, которая получает определенный статус pod с помощью go-client. Любая помощь приветствуется.
2 ответа
Вы можете использовать функцию Get для получения конкретной информации о модуле (ниже приведены примеры получения всей структуры Status):
pod, _ := clientset.CoreV1().Pods("kubernetes").Get(pod.Name, metav1.GetOptions{})
fmt.Println(pod.Status)
Кроме того, вы можете использовать функцию List, чтобы получить все модули в определенном пространстве имен, а затем ранжировать их:
pods, _ := clientset.CoreV1().Pods("kubernetes").List(metav1.ListOptions{FieldSelector: "metadata.name=kubernetes"})
for _, pod := range pods.Items {
fmt.Println(pod.Name, pod.Status)
}
Надеюсь это поможет!
Информация о состоянии - это подструктура модуля в целом, поэтому вы используете обычный метод получения (clientset.CoreV1() и т. Д.), А затем смотрите в .Status
структура.