Kubernetes --审核策略文件标志上没有此类文件或目录错误
我正在尝试在基于kubeadm的K8上启用审计选项。(v1.11.2) 但是在我在Kubernetes --审核策略文件标志上没有此类文件或目录错误,kubernetes,audit,kubeadm,Kubernetes,Audit,Kubeadm,我正在尝试在基于kubeadm的K8上启用审计选项。(v1.11.2) 但是在我在/etc/kubernetes/manifests/kube apiserver.yaml上添加了--审核策略文件标志后,它将不会启动并打印没有这样的文件或目录错误 这是我的kube-apiserver.yaml文件 apiVersion: v1 kind: Pod metadata: annotations: scheduler.alpha.kubernetes.io/critical-pod: ""
/etc/kubernetes/manifests/kube apiserver.yaml
上添加了--审核策略文件
标志后,它将不会启动并打印没有这样的文件或目录
错误
这是我的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的某种bug吗?我需要你的帮助
谢谢。将您的
审核策略.yaml
文件移动到主节点的根路径,然后在审核策略文件中编辑给定路径
- --audit-policy-file=audit-policy.yaml
在kube api清单中为审核策略文件位置创建卷并装载。
像这样的
volumeMounts:
- mountPath: /var/lib/k8s_audit/
name: data
volumes:
- hostPath:
path: /var/lib/k8s_audit
type: DirectoryOrCreate
name: data
问题解决了。我的kube-apiserver
正在作为一个pod运行,因此我应该先安装它,然后再启用该选项。。。。LOL主节点的根路径是什么?您能否提供有关解决方案的更多详细信息?先装什么?