无法创建政策:“没有匹配的政策”

时间:2019-01-17 14:49:23

标签: kubernetes audit policy

我正在遵循here关于如何创建策略来审核Kubernetes中的操作的说明。

当我运行以下YAML文件时:

kubectl apply -f - <<EOF  
apiVersion: audit.k8s.io/v1 # This is required.
kind: Policy
# Don't generate audit events for all requests in RequestReceived stage.
omitStages:
  - "RequestReceived"
rules:
  # Log pod changes at RequestResponse level
  - level: RequestResponse
    resources:
    - group: ""
      # Resource "pods" doesn't match requests to any subresource of pods,
      # which is consistent with the RBAC policy.
      resources: ["pods"]
EOF

我收到以下错误:

  

错误:无法识别“ STDIN”:与“策略”类型不匹配   版本“ audit.k8s.io/v1”

我尝试将apiVersion更改为audit.k8s.io/v1beta1,也将v1更改为,但失败,并出现相同的错误。

请注意,标志--audit-policy-file没有出现在/etc/kubernetes/manifests/kube-apiserver.yaml中,但是我认为它不相关,因为这只是关于创建对象。

如果要复制,可以转到https://labs.play-with-k8s.com,创建一个集群并尝试创建策略。

2 个答案:

答案 0 :(得分:2)

使用以下方法在Kubernetes 1.11上获得相同的结果:

apiVersion: audit.k8s.io/v1

通过更改为固定:

apiVersion: audit.k8s.io/v1beta1

答案 1 :(得分:1)

启动apiserver时指定了审核策略文件:

  

您可以使用--audit-policy-file标志将带有策略的文件传递给kube-apiserver。