如何使用 kubectl 删除网络策略?

How to delete networkpolicies using kubectl?

我遵循了类似于以下内容的 Kubernetes 教程: https://kubernetes.io/docs/tasks/administer-cluster/declare-network-policy/ 创建了一些基本的网络策略,如下所示:

root@server:~# kubectl get netpol -n policy-demo
NAME           POD-SELECTOR   AGE
access-nginx   run=nginx      49m
default-deny   <none>         50m

我看到我可以使用 "kubectl delete ns policy-demo" 之类的命令删除整个命名空间(包括 pods),但我看不到如果我只想删除需要使用什么命令单一政策(或什至对其进行编辑)。

如何使用 kubectl 删除上面的 "access-nginx" 策略?

这应该有效。一个类似的命令在我这边起作用。

kubectl -n policy-demo delete networkpolicy access-nginx
  • 策略名称: access-nginx
  • 命名空间:默认
kubectl get netpol -n default
NAME           POD-SELECTOR   AGE
access-nginx   run=nginx      60m

  • 正在删除网络策略
kubectl delete networkpolicy access-nginx -n default

kubectl delete netpol access-nginx -n default

或者 - 使用资源的文件名

kubectl delete -f access-nginx.yaml

  • 编辑网络策略

默认情况下,它将以 yaml 格式打开以供编辑

kubectl edit netpol access-nginx -n default

或者 - 如果您喜欢 json 格式

kubectl edit netpol access-nginx -n default -o json

或者 - 使用资源的文件名

kubectl edit -f access-nginx.yaml

编辑偏好:

KUBE_EDITOR='nano' kubectl edit netpol access-nginx -n default

或 - vim

KUBE_EDITOR='vim' kubectl edit netpol access-nginx -n default

如果是 default 命名空间,则不需要传递 -n default,因为 kubectl 认为 default 命名空间是默认的。