1

这些是我在 AWS EKS 1.17 中可用的 API

✦ ➜ k api-versions
admissionregistration.k8s.io/v1
admissionregistration.k8s.io/v1beta1
apiextensions.k8s.io/v1
apiextensions.k8s.io/v1beta1
apiregistration.k8s.io/v1
apiregistration.k8s.io/v1beta1
apps/v1
argoproj.io/v1alpha1
authentication.k8s.io/v1
authentication.k8s.io/v1beta1
authorization.k8s.io/v1
authorization.k8s.io/v1beta1
autoscaling/v1
autoscaling/v2beta1
autoscaling/v2beta2
batch/v1
batch/v1beta1
certificates.k8s.io/v1beta1
coordination.k8s.io/v1
coordination.k8s.io/v1beta1
crd.k8s.amazonaws.com/v1alpha1
discovery.k8s.io/v1beta1
events.k8s.io/v1beta1
extensions/v1beta1
metrics.k8s.io/v1beta1
networking.k8s.io/v1
networking.k8s.io/v1beta1
node.k8s.io/v1beta1
policy/v1beta1
rbac.authorization.k8s.io/v1
rbac.authorization.k8s.io/v1beta1
scheduling.k8s.io/v1
scheduling.k8s.io/v1beta1
storage.k8s.io/v1
storage.k8s.io/v1beta1
v1

这是我的 policy.yaml 文件

apiVersion: policy/v1beta1
kind: policy
metadata:
  name: default-deny-egress
  namespace: edna
spec:
  order: 999
  egress:
  - action: deny
    destination:
      net: 35.162.205.100
    source: {}

当我尝试应用它时,我得到以下信息:

error: unable to recognize "app/base/backend/policies/deny-policy.yaml": no matches for kind "policy" in version "v1beta1"
4

2 回答 2

0

您应该api/v1beta1在定义网络策略时使用,在这种情况下也应该使用 NetworkPolicy。我认为这是你应该使用的。

该版本policy/v1beta1用于定义 poddisruptionbudget。

种类 Policy 用于定义审计策略和版本 audit.k8s.io/v1,由于这在您的输出中不可用,因此您不能使用它,因此会出现错误。

是一份可能对您有所帮助的文件。

于 2020-08-02T05:17:28.803 回答
0

据我了解,您正在尝试定义网络策略。

在 k8s 文档中,您可以找到几个有关网络策略 的示例,并且每个示例都在使用:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy

我还注意到您提供的 yaml 文件内容无效。有关 k8s yaml 字段的更详细说明,请参阅前面提到的网络策略文档或k8s api 参考指南

于 2020-08-03T12:43:37.810 回答