Aktivieren Sie die Sammlung von Kubernetes-Audit-Logs auf einem k0s-Cluster, indem Sie Audit-Richtlinien- und Webhook-Konfigurationsdateien erstellen, k0s so konfigurieren, dass diese verwendet werden, und den Dienst neu starten.
Prozedur
- Erstellen Sie das Verzeichnis und die Dateien für die Audit-Konfiguration.Führen Sie die folgenden Befehle aus, um die Audit-Richtlinie und die Webhook-Konfiguration zu erstellen:
sudo mkdir -p /etc/k0s/audit sudo tee /etc/k0s/audit/audit-policy.yaml << 'EOF' apiVersion: audit.k8s.io/v1 kind: Policy rules: - level: Metadata verbs: ["create"] resources: - group: "authorization.k8s.io" resources: ["subjectaccessreviews", "selfsubjectaccessreviews", "localsubjectaccessreviews"] - level: RequestResponse verbs: ["get", "list", "watch", "create", "update", "patch", "delete"] resources: - group: "rbac.authorization.k8s.io" resources: ["roles", "rolebindings", "clusterroles", "clusterrolebindings"] - level: Metadata verbs: ["create", "update", "delete"] resources: - group: "" resources: ["serviceaccounts"] - level: None EOF sudo tee /etc/k0s/audit/audit-webhook-config.yaml << 'EOF' apiVersion: v1 kind: Config clusters: - name: audit-collector cluster: server: http://127.0.0.1:8030/k8s-audit contexts: - context: cluster: audit-collector user: "" name: default-context current-context: default-context preferences: {} users: [] EOF sudo chown -R root:root /etc/k0s/audit sudo chmod 644 /etc/k0s/audit/*.yaml - Konfigurieren Sie k0s zur Verwendung der Audit-Richtlinie und des Webhooks.Bearbeiten Sie
/etc/k0s/k0s.yaml:apiVersion: k0s.k0sproject.io/v1beta1 kind: ClusterConfig metadata: name: k0s spec: api: extraArgs: audit-policy-file: /etc/k0s/audit/audit-policy.yaml audit-webhook-config-file: /etc/k0s/audit/audit-webhook-config.yaml audit-webhook-batch-max-size: "1"Oder wenn Sie keine vorhandene Konfigurationsdatei haben:k0s config create > /etc/k0s/k0s.yaml # Then edit to add the extraArgs above
- Starten Sie den k0s-Controller neu, um die Änderungen anzuwenden.
sudo systemctl restart k0scontroller
- Konfigurierung überprüfen.
sudo systemctl status k0scontroller sudo k0s kubectl get nodes
