Kubernetes(K8s) kubectl get 常用命令

Kubernetes(K8s)中使用Kubectl 命令行工具管理 Kubernetes 集群。 kubectl 在 $HOME/.kube 目录中查找一个名为 config 的配置文件。 可以通过设置 KUBECONFIG 环境变量或设置 --kubeconfig 参数来指定其它 kubeconfig 文件。本文主要介绍Kubernetes(K8s)中kubectl get常用命令。

1、Kubectl语法

kubectl [command] [TYPE] [NAME] [flags]

其中 command、TYPE、NAME 和 flags 分别是:

1)command:指定要对一个或多个资源执行的操作,例如,creategetdescribedelete

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

注意:

不同命令之间的选项都是相通,可以灵活使用。


推荐阅读
cjavapy编程之路首页