Python Kubernetes клиентский эквивалент kubectl описать pod | grep Events - PullRequest
0 голосов
/ 06 апреля 2020

Я создаю собственный сценарий мониторинга для моего собственного кластера kubernetes на AWS. Среди всех других инструментов, клиент Python представлял для меня большой интерес. У меня есть словарь pod и их статус. Теперь я хочу перебрать dict.keys (в основном их в модулях), чтобы проверить их События из kubelet . Я ищу следующие данные:

Events:
  Type     Reason       Age                    From                                                  Message
  ----     ------       ----                   ----                                                  -------
  Warning  FailedMount  20m (x25188 over 44d)  kubelet, ip-10-222-145-32.us-west-2.compute.internal  MountVolume.SetUp failed for volume "sag-license-volume" : configmap "my-licence" not found
  Warning  FailedMount  35s (x72078 over 44d)  kubelet, ip-10-222-155-32.us-west-2.compute.internal  (combined from similar events): MountVolume.SetUp failed for volume "my-license-volume" : configmap "my-license" not found

Я просматривал Интернет и мог найти только примеры, связанные с пространством имен, но не для отдельных модулей.

Пожалуйста, помогите мне получить эти данные через Python клиента. Заранее спасибо!

1 Ответ

0 голосов
/ 08 апреля 2020

Селектор полей добился цели, с list_namespaced_event это было решено.

field_selector='involvedObject.name='+'my_pod'
stream = watch.Watch().stream(v1.list_namespaced_event, "my_ns", field_selector=field_selector, timeout_seconds=1)
for event in stream:
    print(event['object'].message)
...