How to Enable Audit Logging in PMK Cluster

Problem

  • Enable Audit Logging in PMK Cluster.

Info

The procedures are different depending upon the PMK version and Platform9 Kube versions. Identify the version and follow the procedure the accordingly.

Environment

  • Platform9 Managed Kubernetes v5.5 & Platform9 Kube Version 1.21.3-pmk.183 and Higher

  • Platform9 Edge Cloud v5.3 LTS Patch #12 v-5.3.0-1911578 & Platform9 Kube Version 1.20.15-pmk.2100 and Higher

Procedure

  • For New Clusters, ensure that during cluster creation the API Server Flags parameter is configured with the required Audit logging capability flags.

  • For existing Clusters, the flags can be added later by contacting Platform9 Support team.

  • Platform9 Edge Cloud users who have access to their own management plane can do the same on their own as well.

  • Ensure that the /var/opt/pf9/kube/apiserver-config/audit-policy.yaml file is populated with required resources that need to be audited on each master node part of the cluster. Also, to enable auditing for other resources and different audit levels, check the official documentation at kubernetes.io-audit .

  • Check if all the required Audit Logging Flags passed to apiServerFlags.

  • Restart the nodelet phases on all master nodes one node at a time, so that new Audit Logging Flags passed to apiServerFlags will get applied. This step is only required if the audit logging is being enabled on existing clusters.

  • Check for audit logs.

Note

If changes are made at a later point to the audit-policy.yaml, for those to get applied, full stack restart on all the master nodes will need to be performed one node at a time.

Environment

  • Platform9 Managed Kubernetes v5.5 & Platform9 Kube Version 1.21.3-pmk.111 and Below

  • Platform9 Edge Cloud v5.3 LTS Patch #11 v-5.3.0-1806225 & Platform9 Kube Version 1.20.11-pmk.2038 and Below

Note: Below instructions WONT persist post cluster upgrade.

Procedure

  • Create a file/etc/kubernetes/audit-policy.yaml with required content the all the master nodes. Also, to enable auditing for other resources and different audit levels check the document at kubernetes.io-audit

  • Edit /opt/pf9/pf9-kube/conf/masterconfig/base/<centos/ubuntu>/master.yamlfile and add below content in the kube-apiserver container section on all master nodes.

  • Edit /opt/pf9/pf9-kube/conf/masterconfig/base/<centos/ubuntu>/master.yaml file again and add below content in the volume section on all master nodes.

  • Restart the PMK stack on all master nodes one node at a time.

  • Once the PMK stack is back up, the logs should be created in /var/log/kubernetes/audit directory.

Note

If changes are made at a later point to the audit-policy.yaml, for those to get applied, full stack restart on all the master nodes will need to be performed one node at a time.

Additional Information

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

Last updated