AWS Ошибка EKS Kubernetes: невозможно распознать политику: нет совпадений для вида «policy» в версии «v1beta1» - PullRequest
0 голосов
/ 02 августа 2020

Это мои API, доступные в AWS EKS 1.17

✦ ➜ 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"

Ответы [ 2 ]

0 голосов
/ 03 августа 2020

Насколько я понимаю, вы пытаетесь определить сетевую политику.

В документации k8s вы можете найти несколько примеров, касающихся сетевых политик , и каждый из этих примеров использует:

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

Я также заметил, что предоставленное вами содержимое yaml-файла недействительно. Пожалуйста, обратитесь к документации по сетевым политикам, упомянутой ранее, или в справочнике по API k8s для более подробного описания полей yaml k8s.

0 голосов
/ 02 августа 2020

Вы должны использовать api/v1beta1 при определении сетевых политик. Также в этом случае это будет NetworkPolicy. Я думаю, что это то, что вам следует использовать.

Версия policy/v1beta1 предназначена для определения poddisruptionbudget.

Политика вида используется для определения политики аудита и версии audit.k8s.io/v1, и поскольку это не доступный в вашем выводе, вы не можете использовать это и, следовательно, ошибку.

Здесь документ, который может вам помочь.

...