--audit-policy-file标志上没有此类文件或目录错误

时间:2018-12-12 09:43:34

标签: kubernetes audit kubeadm

我正在尝试在基于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的错误吗?我需要你的帮助。

谢谢。

2 个答案:

答案 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