Как определить, кто редактировал файл yaml или файл свойств в Kubernetes? - PullRequest
0 голосов
/ 15 апреля 2020

Если у кого-то есть правка yaml или файл свойств какой-либо работающей службы, то как мне узнать, кто и когда использовал команду редактирования для этой конкретной службы.

kubectl edit deploy имя_службы -n NameSpace

1 Ответ

1 голос
/ 15 апреля 2020

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

известны следующие уровни аудита:

  1. Нет - не регистрировать события, соответствующие этому правилу.

  2. Метаданные - метаданные запроса журнала (запрашивающий пользователь, отметка времени, ресурс, глагол и т. д. c.), но не тело запроса или ответа.

  3. Запрос - регистрировать метаданные события и тело запроса, но не тело ответа. Это не относится к нересурсным запросам.

  4. RequestResponse - регистрировать метаданные событий, тела запросов и ответов. Это не относится к запросам, не связанным с ресурсами.

Вы можете написать политику аудита, как показано ниже:

apiVersion: audit.k8s.io/v1 # This is required.
kind: Policy
# Don't generate audit events for all requests in RequestReceived stage.
omitStages:
  - "RequestReceived"
rules:
  # Log deployment changes at RequestResponse level
  - level: RequestResponse
    resources:
    - group: "apps/v1"
      resources: ["deployments"]

Вы должны применить это с помощью --audit-policy-file flag of Сервер API kube.

Также вы можете Fluentd собирать журналы аудита, как в этом руководстве

https://kubernetes.io/docs/tasks/debug-application-cluster/audit/

...