AWS EKS Kubernetes 错误:无法识别策略:版本"v1beta1"中的种类"策略"没有匹配项



这些是我在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

这是我的策略.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"

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

版本policy/v1beta1用于定义podderuptionbudget。

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

这是一份可能对你有帮助的文件。

据我所知,您正试图定义一个网络策略。

在k8s文档中,您可以找到几个关于网络策略的示例这些例子中的每一个都在使用:

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

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

最新更新