<p>I am following the instructions <a href="https://kubernetes.io/docs/tasks/debug-application-cluster/audit/" rel="noreferrer">here</a> on how to create a policy to audit actions in Kubernetes.  </p>

<p>When I run the following YAML file:  </p>

<pre><code>kubectl apply -f - &lt;&lt;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
</code></pre>

<p>I received the following error:  </p>

<blockquote>
  <p>error: unable to recognize "STDIN": no matches for kind "Policy" in
  version "audit.k8s.io/v1"  </p>
</blockquote>

<p>I tried to change the <code>apiVersion</code> to <code>audit.k8s.io/v1beta1</code> and also <code>v1</code> but it failed with the same error.  </p>

<p>Notice the flag <code>--audit-policy-file</code> doesn't appear in <code>/etc/kubernetes/manifests/kube-apiserver.yaml</code> but I don't think it is related because this is just about creating an object.  </p>

<p>If you want to reproduce you can go to <a href="https://labs.play-with-k8s.com" rel="noreferrer">https://labs.play-with-k8s.com</a>, create a cluster and try to create the policy.  </p>

<p>Got the same on Kubernetes 1.11 using:</p>

<pre><code>apiVersion: audit.k8s.io/v1
</code></pre>

<p>Fixed by changing to:</p>

<pre><code>apiVersion: audit.k8s.io/v1beta1
</code></pre>
