无法创建政策:'没有匹配的种类'政策“'

问题描述 投票:1回答:2

我按照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,创建一个集群并尝试创建策略。

kubernetes audit policy
2个回答
2
投票

使用以下内容在Kubernetes 1.11上获得相同:

apiVersion: audit.k8s.io/v1

通过更改为:

apiVersion: audit.k8s.io/v1beta1

1
投票

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

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

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.