Могу ли я получать события с других ресурсов помимо модуля в Kubernetes? - PullRequest
0 голосов
/ 06 августа 2020

При выполнении этой команды для ресурсов (развертывание, ReplicaSet ...), отличных от Pod

$ kubectl describe deployment xxx-deployment 

----           ------  ------

Events:          <none>

Я развернул несколько ресурсов, но пока не видел события, кроме Pod.

Событие какого типа произойдет, если события произойдут в других ресурсах?

Не могли бы вы порекомендовать какие-либо материалы для ссылки?

Ответы [ 3 ]

1 голос
/ 06 августа 2020

Ну да, у развертывания есть события. Но имейте в виду, что мероприятия доступны только на 1 час.

введите описание изображения здесь

1 голос
/ 06 августа 2020

Хорошее объяснение, что такое событие в Kubernetes, вы можете найти в статье Типы событий Kubernetes . Автор также упомянул о типах событий.

События Kubernetes - это тип ресурса в Kubernetes, который автоматически создается, когда у других ресурсов есть изменения состояния, ошибки или другие сообщения, которые должны транслироваться в систему. Хотя документации по событиям не так много, они являются бесценным ресурсом при отладке проблем в вашем кластере Kubernetes.

Вы можете описать не только pod, deployment или replicaset но почти все ресурсы в кубернетах.

Примеры:

  • kubectl describe job pi -n test
Events:
  Type    Reason            Age   From            Message
  ----    ------            ----  ----            -------
  Normal  SuccessfulCreate  12s   job-controller  Created pod: pi-5rgbz
  • kubectl describe node ubuntu
Events:
  Type     Reason                   Age                 From                   Message
  ----     ------                   ----                ----                   -------
  Warning  MissingClusterDNS        22h (x98 over 23h)  kubelet, ubuntu-18     kubelet does not have ClusterDNS IP configured and cannot create Pod using "ClusterFirst" policy. Falling back to "Default" policy.
  Normal   Starting                 22h                 kubelet, ubuntu-18     Starting kubelet.
  Warning  InvalidDiskCapacity      22h                 kubelet, ubuntu-18     invalid capacity 0 on image filesystem
  Normal   NodeHasSufficientMemory  22h                 kubelet, ubuntu-18     Node ubuntu-18 status is now: NodeHasSufficientMemory
  Normal   NodeHasSufficientPID     22h    

Чтобы перечислить все события ресурсов, вы можете использовать $ kubectl get events --all-namespaces

$ kubectl get events --all-namespaces
NAMESPACE     LAST SEEN   TYPE      REASON                    OBJECT                                                           MESSAGE
default       50m         Normal    Starting                  node/gke-cluster-1-default-pool-XXXXXXXXXXXXX                    Starting kubelet.
default       50m         Normal    NodeHasSufficientMemory   node/gke-cluster-1-default-pool-XXXXXXXXXXXXX                    Node gke-cluster-1-default-pool-XXXXXXXXXXXXX status is now: NodeHasSufficientMemory
default       2m47s       Normal    SuccessfulCreate          job/pi                                                           Created pod: pi-5rgbz
kube-system   50m         Normal    ScalingReplicaSet         deployment/fluentd-gcp-scaler                                    Scaled up replica set fluentd-gcp-scaler-6855f55bcc to 1

В столбце «Объект» укажите тип ресурса.

Если хотите более подробную информацию вы можете использовать -o wide флаг - $ kubectl get events --all-namespaces -o wide

$ kubectl get events -o wide
LAST SEEN   TYPE      REASON                    OBJECT                                   SUBOBJECT                      SOURCE                     MESSAGE                                      
                                                                                                                                                                    FIRST SEEN   COUNT   NAME
20m         Normal    Scheduled                 pod/hello-world-86d6c6f84d-8qz9d                                        default-scheduler          Successfully assigned default/hello-world-86d
6c6f84d-8qz9d to ubuntu-18  

Возможно root причина.

Вначале мне не удалось создать развертывание без каких-либо событий I можно предположить, что вы установили --event-ttl, что описано в документации Kube-apiserver .

--event-ttl duration Default: 1h0m0s

Количество времени для сохранения событий.

Также упоминалось в ветке Github .

Короче все события пропадут через 1 час если у вас установлен этот флаг.

Чтобы проверить, установлен ли у вас этот флаг в kube-apiserver, вы можете проверить этот поток StackOverflow .

Если это не помогло, отредактируйте свой вопрос, указав информацию о конфигурации YAML, какую версию K8 вы используете, шаги по воспроизведению et c.

0 голосов
/ 06 августа 2020

вы также можете фильтровать по ярлыкам с --labels для описания всех ресурсов

...