Aktivieren Sie die Sammlung von Kubernetes-Auditprotokollen auf einem RKE2-Cluster, indem Sie die Audit-Richtlinie und die Webhook-Konfigurationsdateien erstellen, RKE2 so konfigurieren, dass sie verwendet werden, und den Dienst neu starten.
WichtigRKE2 führt
kube-apiserver als Container aus, daher muss das Audit-Verzeichnis in den Container eingebunden
werden. |
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 /var/lib/rancher/rke2/server/audit sudo tee /var/lib/rancher/rke2/server/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 /var/lib/rancher/rke2/server/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 - Konfigurieren Sie RKE2 zur Verwendung der Audit-Richtlinie und des Webhooks.Bearbeiten oder erstellen Sie
/etc/rancher/rke2/config.yaml:kube-apiserver-arg: - "audit-policy-file=/var/lib/rancher/rke2/server/audit/audit-policy.yaml" - "audit-webhook-config-file=/var/lib/rancher/rke2/server/audit/audit-webhook-config.yaml" - "audit-webhook-batch-max-size=1" kube-apiserver-extra-mount: - "/var/lib/rancher/rke2/server/audit:/var/lib/rancher/rke2/server/audit:ro"
- Starten Sie RKE2 neu, um die Änderungen anzuwenden.
sudo systemctl restart rke2-server
- Konfiguration überprüfen.
sudo systemctl status rke2-server # Check kube-apiserver flags sudo /var/lib/rancher/rke2/bin/kubectl --kubeconfig /etc/rancher/rke2/rke2.yaml \ get pod -n kube-system -l component=kube-apiserver -o yaml | grep -E "audit-policy|audit-webhook"
