这些是我在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字段的更详细描述。