管理 Pod
在本节,将会介绍一些常用的管理pod的方式,包括查看、创建Pod等。
查看Pod
针对pod的查看可以使用命令的方式,并且导出为YAML格式,命令为:
healthcheck为Pod的名字
若导出为JSON格式,则使用-o json
即可。
不使用-o
则直接展示。
使用-o wide
可以展示更全的信息,比如Pod所在的Node、Pod的标签信息等。
使用--namespace
可以指定查看哪个命名空间下的Pods。
查看Pod标签
通过--show-labels
可以查看Pods的所有标签:
如果只对某几个标签感兴趣,可以使用-L env,creation_method
将指定的env
和creation_method
两个标签列出来,会作为2列输出,没有打上该标签的Pod,则会显示<none>
。
根据标签查看Pod
主要通过-l
来实现,可以从现有pods中筛选出指定标签条件下的Pods,主要可以有三种筛选方法:
包含(或不包含)使用特定键的标签;
包含具有特定键和值的标签;
包含具有特定键的标签,但其值与我们指定的不同;
同样可以使用in
、notin
、!
进行匹配:
!creation_method
,匹配不包含creation_method
这个标签的Pods;creation_method in (manual, half-auto)
,匹配带有creation_method
标签,并且值为manual
或half-auto
的Pods;creation_method notin (manual, half-auto)
,匹配带有creation_method
标签,但是值不是manual
或half-auto
的Pods;
多标签条件查看
通过,
分割的标签,可以同时匹配多个标签:
查看Pod日志
kubia-manual是pod的名字
Pod中可能会有多个容器,此时可以使用-c
查看具体容器的日志信息:
kubia为容器的名字
创建Pod
创建Pod主要使用YAML配置文件创建。
使用YAML创建Pod
先给一个简单的版本:
然后使用-f
根据配置文件生成指定资源:
kubia.yaml为配置文件的名字
下面给一个详细的版本:
删除Pod
我们可以使用kubectl delete
命令删除Pod。
根据名称删除
删除名为kubia-gpu
的Pod:
删除带指定标签的Pod
可以配合-l
,使用标签选择器,删除带指定(或不带指定)标签的Pod。例如,删除带creation_method
标签,并且其值为manual
的Pods:
删除一个命名空间中的所有Pod
有两种方式:
通过删除整个命名空间的方式,删除Pod;
仅删除Pod,不删除命名空间;
删除命名空间
可以通过删除命名空间的方式,删除这个命名空间中的所有的Pod。例如删除custom-namespace
这个命名空间:
保留命名空间
通过--all
的方式,可以删除指定命名空间下的所有Pod。例如删除custom-namespace
命名空间下的所有Pod:
删除命名空间中的几乎所有资源
通过all
指定所有资源类型的方式,再配合--all
可以删除指定的命名空间中的几乎所有资源。例如删除custom-namespace
命名空间下的几乎所有资源:
Last updated
Was this helpful?