我正在尝试在基于kubeadm的k8s上启用审核选项。 (v1.11.2)
但是我在--audit-policy-file
上添加了/etc/kubernetes/manifests/kube-apiserver.yaml
标志之后,它不会启动并显示no such file or directory
错误。
这是我的kube-apiserver.yaml文件。
apiVersion: v1
kind: Pod
metadata:
annotations:
scheduler.alpha.kubernetes.io/critical-pod: ""
creationTimestamp: null
labels:
component: kube-apiserver
tier: control-plane
name: kube-apiserver
namespace: kube-system
spec:
containers:
- command:
...
- --audit-policy-file=/etc/kubernetes/audit-policy.yaml
- --audit-log-path=/var/log/kubernetes
image: k8s.gcr.io/kube-apise...
...
并显示我的错误。
error: loading audit policy file: failed to read file path "/etc/kubernetes/audit-policy.yaml": open /etc/kubernetes/audit-policy.yaml: no such file or directory
我仔细检查了路径,一切都很好。
这是kubeadm的错误吗?我需要你的帮助。
谢谢。
答案 0 :(得分:0)
将audit-policy.yaml
文件移动到主节点的根路径,然后在audit-policy-file
中编辑给定路径。
- --audit-policy-file=audit-policy.yaml
答案 1 :(得分:0)
在kube-api清单中为您的审核策略文件位置创建一个卷并进行安装。 像这样的东西。
volumeMounts:
- mountPath: /var/lib/k8s_audit/
name: data
volumes:
- hostPath:
path: /var/lib/k8s_audit
type: DirectoryOrCreate
name: data