Когда я запускаю kubectl -n abc-namespace describe pod my-pod-zl6m6, я получаю много информации о модуле и событиях в конце.

Есть ли способ вывести только события модуля, используя команды kubectl describe или kubectl get?

37
Rakesh N 20 Авг 2018 в 15:48

5 ответов

Лучший ответ

Вы можете использовать команду event kubectl.

Для фильтрации по конкретному модулю вы можете использовать селектор полей:

kubectl get event --namespace abc-namespace --field-selector involvedObject.name=my-pod-zl6m6

Чтобы увидеть, какие поля возможны, вы можете использовать kubectl describe для любого события.

70
mszalbach 20 Авг 2018 в 13:24

Почему бы не отобразить все события и grep для вашего имени:

kubectl get events --all-namespaces  | grep -i $podname
5
OneK 20 Авг 2018 в 12:57
  1. Вы должны понимать структуру данных этого объекта. Вы можете использовать kubectl get events --output json для проверки структуры данных.
$ kubectl get events --output json
{
    "apiVersion": "v1",
    "items": [
        {
            "apiVersion": "v1",
            "count": 259,
            "eventTime": null,
            "firstTimestamp": "2020-04-15T12:00:46Z",
            "involvedObject": {                 <------ **this**
                "apiVersion": "v1",
                "fieldPath": "spec.containers{liveness}",
                "kind": "Pod",               
                "name": "liveness-exec",        <------ **this**
                "namespace": "default",
                "resourceVersion": "725991",
                "uid": "3f497636-e601-48bc-aec8-72b3edec3d95"
            },
            ...
  1. А затем сделайте что-то вроде kubectl get events --field-selector involvedObject.name=[...].

Этот ответ относится к @ mszalbach's.

3
kyakya 15 Апр 2020 в 14:36

Если вам нужны только сообщения о событиях в кратком и понятном виде, @mszalbach лучший ответ.

Но если вы хотите, чтобы все События со всеми их элементами отображались полностью, вы можете запустить:

kubectl describe event [POD_NAME] --namespace [POD's_NAMESPACE]
0
froblesmartin 8 Апр 2020 в 07:44

Вы можете описать свой модуль и затем определить количество строк после событий. Вы можете добавить часы, если хотите их контролировать.

watch "kubectl describe pod my-pod-zl6m6 | grep -A20 Events"
7
Chandan Agarwal 3 Дек 2018 в 11:01
51931113