1、Kubectl语法
kubectl [command] [TYPE] [NAME] [flags]
其中 command、TYPE、NAME 和 flags 分别是:
1)command:指定要对一个或多个资源执行的操作,例如,create
、get
、describe
、delete
。
2)TYPE:指定资源类型。资源类型不区分大小写, 可以指定单数、复数或缩写形式。例如,以下命令输出相同的结果:
kubectl get pod pod1
kubectl get pods pod1
kubectl get po pod1
3)NAME:指定资源的名称。名称区分大小写。 如果省略名称,则显示所有资源的详细信息 kubectl get pods
。
在对多个资源执行操作时,你可以按类型和名称指定每个资源,或指定一个或多个文件:
要按类型和名称指定资源:
要对所有类型相同的资源进行分组,请执行以下操作:TYPE1 name1 name2 name
。
例如,
kubectl get pod example-pod1 example-pod2
分别指定多个资源类型:TYPE1/name1 TYPE1/name2 TYPE2/name3 TYPE/name
。
例如,
kubectl get pod/example-pod1 replicationcontroller/example-rc1
用一个或多个文件指定资源:-f file1 -f file2 -f file
使用 YAML 而不是 JSON 因为 YAML 更容易使用,特别是用于配置文件时。
例如,
kubectl get -f ./pod.yaml
4)flags: 指定可选的参数。
例如,
可以使用 -s
或 -server
参数指定 Kubernetes API 服务器的地址和端口。
2、kubectl命令中的简写
kubectl
命令中可以使用的缩写,具体如下:
certificatesigningrequests (缩写 csr)
componentstatuses (缩写 cs)
configmaps (缩写 cm)
customresourcedefinition (缩写 crd)
daemonsets (缩写 ds)
deployments (缩写 deploy)
endpoints (缩写 ep)
events (缩写 ev)
horizontalpodautoscalers (缩写 hpa)
ingresses (缩写 ing)
limitranges (缩写 limits)
namespaces (缩写 ns)
networkpolicies (缩写 netpol)
nodes (缩写 no)
persistentvolumeclaims (缩写 pvc)
persistentvolumes (缩写 pv)
poddisruptionbudgets (缩写 pdb)
pods (缩写 po)
podsecuritypolicies (缩写 psp)
replicasets (缩写 rs)
replicationcontrollers (缩写 rc)
resourcequotas (缩写 quota)
serviceaccounts (缩写 sa)
services (缩写 svc)
statefulsets (缩写 sts)
storageclasses (缩写 sc)
3、kubectl get命令
get命令用于获取集群的一个或一些resource信息。 使用–help查看详细信息。
1)获取所有资源信息
kubectl get all
或者
kubectl get all --all-namespaces
2)显示所有命名空间
kubectl get namespace
3)显示所有pods
kubectl get pods
kubectl get pods -o wide
4)显示所有命名空间的所有pods
kubectl get pods --all-namespaces
5)显示指定命名空间的pods
kubectl get pods --namespace=default
kubectl get pods -n default
注意:default为命名空间的名字,可以改成想要查询的命名空间。
6)根据pod文件查找pod以json格式输出
kubectl get -f pod.yaml -o json
7)同时获取所有的rc和service
kubectl get rc,services
8)查看deploy信息
kubectl get deploy
9)查看 endpoint 列表
kubectl get endpoints
10)查看节点 labels
kubectl get node --show-labels
11)获取指定pod并以yaml格式输出
kubectl get pod <POD名称> -n <NAMESPACE名称> -o yaml
12)查看node信息
kubectl get node
13)查看service信息
kubectl get service
注意:
不同命令之间的选项都是相通,可以灵活使用。