как получить статус модуля в kubernetes с помощью go-клиента - PullRequest
0 голосов
/ 19 декабря 2018

Я пытаюсь удалить модуль в моем кластере kubernetes, а затем проверить его состояние, чтобы узнать, сколько времени потребуется, чтобы модуль вышел из строя и снова поднялся.Я не смог найти полезного примера для второй части, которая получает определенный статус pod с помощью go-client.Любая помощь приветствуется.

Ответы [ 2 ]

0 голосов
/ 21 декабря 2018

Вы можете использовать функцию 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)
}

Надеюсь, это поможет!

0 голосов
/ 19 декабря 2018

Информация о состоянии является подструктурой модуля в целом, поэтому вы используете обычный метод получения (clientset.CoreV1 () и т. Д.), А затем просматриваете структуру .Status.

...