如何删除kubernetes中特定部署(不包括特定部署)的所有资源,包括服务、部署、POD、副本集
查看任何kubernetes命令,它可以帮助我删除部署中除特定资源之外的所有相关资源 示例:- 下面是我的两个部署echo1和echo2,现在我想删除属于echo1的所有相关资源,echo2将保持原样如何删除kubernetes中特定部署(不包括特定部署)的所有资源,包括服务、部署、POD、副本集,kubernetes,Kubernetes,查看任何kubernetes命令,它可以帮助我删除部署中除特定资源之外的所有相关资源 示例:- 下面是我的两个部署echo1和echo2,现在我想删除属于echo1的所有相关资源,echo2将保持原样 NAME READY STATUS RESTARTS AGE pod/echo1-559ffc8757-th 1/1 Running 0 22s pod/echo2-5c6c8ff4b-x56
NAME READY STATUS RESTARTS AGE
pod/echo1-559ffc8757-th 1/1 Running 0 22s
pod/echo2-5c6c8ff4b-x56 1/1 Running 0 15s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/echo1 ClusterIP 10.10.x.x <none> 80/TCP 39m
service/echo2 ClusterIP 10.10.x.x <none> 80/TCP 38m
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/echo1 1/1 1 1 22s
deployment.apps/echo2 1/1 1 1 15s
NAME DESIRED CURRENT READY AGE
replicaset.apps/echo1-559ffc8 1 1 1 22s
replicaset.apps/echo2-5c6c8ff 1 1 1 15s
您可以将公共标签设置为已连接的资源,然后通过--selector删除
$ kubectl delete all --selector=<key>=<value> -n <namespace>
or
$ kubectl delete all -l <key>=<value> -n <namespace>
单击查看更多示例选择器仅删除pod和replicaset
root@ip-172-31-x-x:~#kubectl全部删除--selector=app=echo1-nb1
pod“echo1-559ffc8757-pz9dj”删除了replicaset.apps“echo1-559ffc8757”删除了
你能确认你的服务上存在app:echo1
标签吗?我在本地对它进行了测试,结果很好,spec:selector:matchLabels:app:echo1
它们也在同一个名称空间中。not intspec:selector
,需要在metadata:label
中像metadata:labels:app:echo1
更新答案,以及为什么通过-n b1
?我看到您的部署和服务位于默认名称空间中
$ kubectl delete all --selector=<key>=<value> -n <namespace>
or
$ kubectl delete all -l <key>=<value> -n <namespace>
apiVersion: v1
kind: Service
metadata:
name: echo1
labels:
app: echo1
spec:
ports:
- port: 80
targetPort: 5678
selector:
app: echo1
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: echo1
labels:
app: echo1
spec:
selector:
matchLabels:
app: echo1
replicas: 1
template:
metadata:
labels:
app: echo1
spec:
containers:
- name: echo1
image: hashicorp/http-echo
args:
- "-text=echo1"
ports:
- containerPort: 5678