Pregunta 36 | Configuración de Auditoría Kubernetes
Pregunta: Habilita la auditoría en este cluster de Kubernetes. Crea un nuevo archivo de política de auditoría que solo registrará eventos basándose en los siguientes detalles:
- Namespace: test
- Level: metadata
- Operations: delete & update
- Resources: pods
- Log Path: /var/log/test-audit.log
- Audit file location: /etc/kubernetes/test-audit.yaml
- Maximum days to keep the logs: 20
Solución
1 - Crear el archivo de auditoría
# Crear archivo de audit en /etc/kubernetes/test-audit.yaml
apiVersion: audit.k8s.io/v1
kind: Policy
rules:
- level: Metadata ## nivel de verbosidad
namespace: ["test"] ## asegurar usar el namespace correcto
verb: ["delete","update"] ## ¿operaciones correctas especificadas?
resources:
- group: ""
resource: ["pods"] ## ¿recurso correcto especificado?
2 - Habilitar auditoría en el servidor kube-api
- --audit-policy-file=/etc/kubernetes/test-audit.yaml ## asegurar que se especifica el archivo de política de audit correcto
- --audit-log-path=/var/log/test-audit.log ## ruta del log
- --audit-log-maxage=20 ## días máximos para mantener el log
3 - Añadir los volúmenes y montajes de volúmenes en el servidor kube-api
volumes:
- name: audit
hostPath:
path: /etc/kubernetes/test-audit.yaml
type: File
- name: audit-log
hostPath:
path: /var/log/test-audit.log
type: FileOrCreate
volumeMounts:
- mountPath: /etc/kubernetes/test-audit.yaml
name: audit
readOnly: true
- mountPath: /var/log/test-audit.log
name: audit-log
readOnly: false
## asegurar que se montan las rutas de volúmenes correctas
- Después de salir del manifiesto del servidor kube-api, dale un momento para que el servidor se reinicie y los cambios surtan efecto.