Ansichten:

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

  1. 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
  2. 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
  3. Starten Sie den k0s-Controller neu, um die Änderungen anzuwenden.
    sudo systemctl restart k0scontroller
  4. Konfigurierung überprüfen.
    sudo systemctl status k0scontroller
    sudo k0s kubectl get nodes