kubectl概述
从您的终端窗口使用以下语法运行kubectl
命令:
其中command,TYPE,NAME,和flags分别是:
command
: 指定要在一个或多个资源进行操作,例如create
,get
,describe
,delete
。TYPE
:指定资源类型。资源类型区分大小写,您可以指定单数,复数或缩写形式。例如,以下命令产生相同的输出:
$ kubectl get pod pod1$ kubectl get pods pod1$ kubectl get po pod1
NAME
:指定资源的名称。名称区分大小写。如果省略名称,则会显示所有资源的详细信息,比如$ kubectl get pods
。
在多个资源上执行操作时,可以按类型和名称指定每个资源,或指定一个或多个文件:
* 要分组资源,如果它们都是相同的类型:`TYPE1 name1 name2 name<#>`.<br/>
例: `$ kubectl get pod example-pod1 example-pod2`
* 要分别指定多种资源类型: `TYPE1/name1 TYPE1/name2 TYPE2/name3 TYPE<#>/name<#>`.<br/>
例: `$ kubectl get pod/example-pod1 replicationcontroller/example-rc1`
使用一个或多个文件指定资源: -f file1 -f file2 -f file<#>
使用,因为YAML往往更加用户友好,特别是对于配置文件。例:$ kubectl get pod -f ./pod.yaml
- flags:指定可选标志。例如,您可以使用
-s
或—serverflags
来指定Kubernetes API服务器的地址和端口。重要提示:从命令行指定的标志将覆盖默认值和任何相应的环境变量。
如果您需要帮助,只需从终端窗口运行kubectl help
。
操作
下表包括所有kubectl操作的简短描述和一般语法:
请记住:有关命令操作的更多信息,请参阅参考文档。
下表包括所有支持的资源类型及其缩写别名的列表:
输出选项
请使用以下部分查看如何格式化或排序某些命令的输出的信息,有关哪些命令支持各种输出选项的详细信息,请参阅参考文档。
语法
kubectl [command] [TYPE] [NAME] -o=<output_format>
根据kubectl操作,支持以下输出格式:
例子
在此示例中,以下命令将单个pod的详细信息作为YAML格式化对象输出:$ kubectl get pod web-pod-13je7 -o=yaml
记住:有关每个命令支持哪种输出格式的详细信息,请参阅kubectl参考文档。
自定义列
要定义自定义列并仅将所需的详细信息输出到表中,可以使用该custom-columns选项。您可以选择内联定义自定义列或使用模板文件:-o=custom-columns=<spec>
或-o=custom-columns-file=<filename>
。
例子
一致:
$ kubectl get pods <pod-name> -o=custom-columns=NAME:.metadata.name,RSRC:.metadata.resourceVersion
模版文件:
该template.txt
文件包含:
NAME RSRC
metadata.name metadata.resourceVersion
运行任一命令的结果是:
NAME RSRC
submit-queue 610995
排序列表对象
要将对象列表在终端窗口中排序输出,可以将该—sort-by
标志添加到支持的kubectl
命令中。通过使用—sort-by
标志指定任何数字或字符串字段来对对象进行排序。要指定一个字段,请使用表达式。
语法
kubectl [command] [TYPE] [NAME] --sort-by=<jsonpath_exp>
例子
打印按名称排序的列表,请运行:
$ kubectl get pods —sort-by=.metadata.name
使用以下一组示例来帮助您熟悉运行常用kubectl操作:
// 使用文本格式列出所有的pods.
$ kubectl get pods
// 使用文本格式列出所有的信息,包含一些额外的信息(比如节点名称).
$ kubectl get pods -o wide
// 使用文本格式列出指定名称的replicationcontroller. 注: 你可以缩短 'replicationcontroller' 资源类型使用别名 'rc'.
$ kubectl get replicationcontroller <rc-name>
// 使用文本格式列出所有的rc,services.
$ kubectl get rc,services
`kubectl describe` - 显示一个或多个资源的详情状态.
shell// 显示指定节点名称的详情信息.$ kubectl describe nodes
// 显示指定pods名称的详情信息.$ kubectl describe pods/
// 显示所有被名称为
`kubectl delete` - 从文件, stdin,或者指定的label selectors, 名称,资源选择器, 或者资源去删除资源.
shell// 通过 pod.yaml 文件中的资源类型和名称删除一个pod.$ kubectl delete -f pod.yaml
// 删除所有label名称为name=
// 删除所有pods.$ kubectl delete pods –all
shell// 在名称为
// 在
// 从名称为
`kubectl logs` - 输出一个pod的容器日志.
shell// 从名称为
// 从名称为
下一步
开始使用命令。
此页是否对您有帮助?