kubectl delete
# kubectl delete
删除某个集群资源。
# 基本格式
kubectl delete <资源类型> <名称>
# 多个名称之间通过逗号 , 分隔
# 示例(同时删除三个 Pod:pod1 和 pod2 和 pod3)
kubectl delete pods pod1,pod2,pod3
# 花括号的用法(也是同时删除 pod1 和 pod2 和 pod3)
kubectl delete pods pod{1,2,3}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# 可删除的资源(笔者已学或已知)
# 节点
kubectl delete nodes <名称>
##### ---------------------------------------- #####
# Pod
kubectl delete pods <名称>
##### ---------------------------------------- #####
# 控制器 Deployment
kubectl delete deployments <名称>
kubectl delete deploy <名称>
# 水平自动扩缩 HPA
kubectl delete hpa <名称>
# 其他控制器 DaemonSet
kubectl delete daemonsets <名称>
kubectl delete ds <名称>
# 其他控制器 ReplicationController
kubectl delete replicationcontrollers <名称>
kubectl delete rc <名称>
# 其他控制器 ReplicaSet
kubectl delete replicaSets <名称>
kubectl delete rs <名称>
# 任务
kubectl delete jobs <名称>
# 计划任务
kubectl delete cronjobs <名称>
kubectl delete cj <名称>
##### ---------------------------------------- #####
# 持久卷
kubectl delete pv <名称>
# 持久卷申领
kubectl delete pvc <名称>
# 存储类
kubectl delete sc <名称>
##### ---------------------------------------- #####
# 密码存储 Secret
kubectl delete secrets <名称>
# 密码存储 ConfigMap
kubectl delete configmaps <名称>
kubectl delete cm <名称>
##### ---------------------------------------- #####
# 服务
kubectl delete services <名称>
kubectl delete svc <名称>
# 路由规则
kubectl delete ingress <名称>
kubectl delete ing <名称>
# 网络策略
kubectl delete networkpolicy <名称>
kubectl delete networkpolicies <名称>
##### ---------------------------------------- #####
# 角色
kubectl delete roles <名称>
# 角色绑定
kubectl delete rolebindings <名称>
# 集群角色
kubectl delete clusterroles <名称>
# 集群角色绑定
kubectl delete clusterrolebindings <名称>
# 服务账户
kubectl delete serviceaccounts <名称>
kubectl delete sa <名称>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# 命令参数选项
# --force
强制删除某个资源。
# 示例(强制删除名为 pod1 的 Pod,不等待宽限期)
kubectl delete pods pod1 --force
1
2
2
# -n/--namespace
指定目标资源所在的命名空间。
# 示例(删除命名空间 ns1 中名为 pod1 的 Pod)
kubectl delete pods pod1 -n ns1
1
2
2
# -l
删除含有特定标签的多个资源。
# 示例(删除带有标签 abc=123 的所有 Pod)
kubectl delete pods -l abc=123
1
2
2
# -f
根据一个 YAML 文件删除指定的资源。
注意,该文件的kind
和metadata
字段与现有的 Pod 不能有太大差别。否则 k8s 会找不到对应的资源,可能导致删除失败,或删除了错误的资源。
kubectl delete -f <文件名>
# 示例(pod1.yaml 中包含一个名 Pod 的 yaml 配置,通过该文件来删除这个资源)
kubectl delete -f pod1.yaml
1
2
3
4
2
3
4
编辑 (opens new window)