审计策略
为 minikube 启用审计策略
概述
minikube 默认不启用审计。本教程将展示如何在 minikube API 服务器启动时提供一个审计策略文件。
教程
minikube stop
mkdir -p ~/.minikube/files/etc/ssl/certs
cat <<EOF > ~/.minikube/files/etc/ssl/certs/audit-policy.yaml
# Log all requests at the Metadata level.
apiVersion: audit.k8s.io/v1
kind: Policy
rules:
- level: Metadata
EOF
minikube start \
--extra-config=apiserver.audit-policy-file=/etc/ssl/certs/audit-policy.yaml \
--extra-config=apiserver.audit-log-path=-
kubectl logs kube-apiserver-minikube -n kube-system | grep audit.k8s.io/v1
本教程中使用的审计策略非常简单且冗长。下一步,你可能需要对 audit-policy.yaml
文件进行微调。要应用这些更改,你需要停止并启动 minikube。重启 minikube 会触发文件同步机制,该机制将 yaml 文件复制到 minikube 节点上,并使 API 服务器读取更改后的策略文件。
注意:目前在 ~/.minikube/
中没有专门用于存储 audit-policy.yaml
文件的目录。使用 ~/.minikube/files/etc/ssl/certs
目录是一个权宜之计!这个权宜之计的原理是:通过将文件放入 ~/.minikube/files/
的子目录中,会触发文件同步机制,将 audit-policy.yaml
文件从主机复制到 minikube 节点。当 kubeadm
启动 API 服务器容器时,它会将 minikube 节点上的 /etc/ssl/certs
目录挂载到容器中。这就是为什么 audit-policy.yaml
文件必须存储在 ssl 证书目录中的原因:它是从 minikube 节点挂载到容器中的目录之一。