Kubernetes入门(三)

kubectl命令使用

语法

语法:kubectl [command] [TYPE] [NAME] [flags]

1. command:子命令,用于操作kubernetes集群资源对象的命令,如create、delete、describe、get、apply等;

2. TYPE:资源对象的类型,如pod、service、rc、deployment、node等,可以单数、复数以及简写(pod/pods/po、service/services/svc);

3. NAME:资源对象的名称,不指定则返回所有,如 get pod 会返回所有pod,get pod nginx 则只返回nginx这个pod;

4. flags:kubectl子命令的可选参数,例如 -n 指定namespace,-s 指定apiserver的URL。

资源对象列表

  • 获取资源对象列表:

# kubectl api-resouces

名称                   简写
componentsstatuses            cs
daemonsets                 ds
deployment                deploy
events                  ev
ebdpoints                  ep
horizontalpodautoscalers            hpa
ingresses                  ing
jobs    
limitranges                limits
nodes                  no
namespaces               ns
pods                    po
persistentvolumes              pv
persistentvolumeclaims          pvc
resourcequotas               quato
replicationcontrollers                              rc
secrets    
serviceaccounts              sa
services                  svc

特殊用法:

# kubectl get pod
NAME          READY     STATUS    RESTARTS   AGE
mysql-f16r2   1/1       Running   1          3d
myweb-f8xw9   1/1       Running   1          3d

# kubectl get pod mysql-f16r2
NAME          READY     STATUS    RESTARTS   AGE
mysql-f16r2   1/1       Running   1          3d

 

# kubectl get pod/myweb-f8xw9 rc/myweb
NAME             READY     STATUS    RESTARTS   AGE
po/myweb-f8xw9   1/1       Running   1          3d

NAME       DESIRED   CURRENT   READY     AGE
rc/myweb   1         1         1         3d

# kubectl create -f pod1.yaml -f rc1.yaml -f svc1.yaml              #可同时创建多个资源对象

kubectl子命令主要包括对资源的创建、删除、查看、修改、配置、运行等。

kubectl --help 可以查看所有子命令。

kubectl options 可以查看支持的参数,例如 --namespace 指定namespace。

命令输出格式

kubectl命令可以用多种格式对结果进行显示,输出格式通过 -o 参数指定。

  • -o 支持的格式有:

 

 举例子:

# kubectl get pod -o wide

# kubectl get pod -o yaml

# kubectl get pod --sort-by=.metadata.name                #按name排序输出

# kubectl get pod -o custom-columns=NAME:.metadata.name,RESC:.metadata.resourceVersion

kubectl命令示例

创建资源对象:

根据yaml文件创建service和deployment

# kubectl create -f my-service.yaml -f my-deploy.yaml
也可以指定一个目录,这样可以根据该目录下所有yaml或json文件一次性定义资源

# kubectl create -f <directory>

查看所有pod 

# kubectl get pod


查看deployment和service

# kubectl get deploy,svc

显示pod的详细信息

# kubectl describe pod <pod-name>

显示node的详细信息

# kubectl describe node <node-name>

显示deployment管理的pod信息

# kubectl describe pod <deployment-name>

 

基于yaml文件删除

# kubectl delete -f pod.yaml

删除所有pod

# kubectl delete po --all

在pod中执行某个命令,如date

# kubectl exec <pod-name> date

进入到pod的容器里:

# kubectl exec -it <pod-name> bash

查看容器日志:

# kubectl logs <pod-name>

动态查看

# kubectl logs -f <pod-name>

 

posted @ 2022-04-28 16:57  My_blog_s  阅读(41)  评论(0编辑  收藏  举报