kubectl
是一个基础的K8S集群管理命令,可以实现对K8S资源的查询,创建,删除,更新,回退等各种各样的操作。由于其复杂的功能体系,命令灵活度又高,因此需要进行常见的一些命令和使用场景的梳理。
K8S基础命令由三段式组成:
kubectl 动作 资源 [选项]
常见的K8S命令有8个动作。分别是:
此外,kubectl还提供了一些高级的用法。在日常开发中除非特定的场景,否则一般不会用到。这些命令包括:
部署类的命令
集群管理类的命令
unschedulable
schedulable
故障定位和排除类的命令
其他更高级的命令
设置命令
其他的系统级命令
group/version
的形式打印服务器上支持的API版本kubeconfig
文件get
是kubectl中最基础的命令,也是使用最多的命令。
该命令的使用格式如下:
get 资源 [选项]
因此,使用改命令需要首先分清楚,paas上到底有多少中资源类型。那么,paas上面有多少中资源呢?
请见下表(需要区分的是,kubectl工具中认为的资源,并不等同于k8s上面可以创建出的与pod相关的资源类型)
序号
资源
资源缩写
1
cloud
cld
2
clusters
只有在联邦apiservers下才合法
3
componentstatuses
cs
4
configmaps
cm
5
daemonsets
ds
6
deployments
deploy
7
endpoints
ep
8
events
ev
9
horizontalpodautoscalers
hpa
10
ingresses
ing
11
jobs
-
12
limitranges
limits
13
namespaces
ns
14
networks
net
15
networkmappings
nm
16
networkpolicies
-
17
nodes
no
18
persistentvolumeclaims
pvc
19
persistentvolumes
pv
20
physicalnetworks
pn
21
processlifecycles
plc
22
pods
po
23
podsecuritypolicies
psp
24
podtemplates
-
25
replicasets
rs
26
replicationcontrollers
rc
27
resourcequotas
quota
28
secrets
-
29
serviceaccounts
sa
30
services
svc
31
statefulsets
-
32
storageclasses
-
33
thirdpartyresources
-
34
clusterversions
-
使用get
命令需要注意的一点是:该命令会隐藏一些资源信息,如运行情况等。要显示这些信息,可以通过在命令最后加上--show-all
标记进行实现。
get
的几个常用命令组合:
显示所有的pod信息,格式如linux下的ps命令(精简)
kubectl get pods
全面显示pod 信息,增加 -o wide
选项
kubectl get pods -o wide
查看单个指定RC名称的信息
kubectl get replicationcontroller web
使用json格式展示指定的pod信息
kubectl get -o json pod web-pod-13je7
把yaml形式的pod信息展示位json格式
kubectl get -f pod.yaml -o json
查看指定pod信息中的某一段
kubectl get -o template pod/web-pod-13je7 --template={{.status.phase}}
同时输出所有的RC和service资源实例列表
kubectl get rc,services
通过资源类型和名字获取具体的实例信息
kubectl get rc/web service/frontend pods/web-pod-13je7
跨命名空间查询对象
--all-namespaces=false
指定配置文件名
使用-f
或者--filename=[]
指定输出格式
使用-o
或者--output=''
指定输出格式,输出格式必须为下表中的一个
json
yaml
wide
name
custom-columns=...
,具体信息可以查看:http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columnscustom-columns-file=...
go-template=...
,具体信息可以查看http://golang.org/pkg/text/template/#pkg-overviewgo-template-file=...
jsonpath=...
,具体信息可以查看http://kubernetes.io/docs/user-guide/jsonpathjsonpath-file=...
手机扫一扫
移动阅读更方便
你可能感兴趣的文章