kubectl概述

    从您的终端窗口使用以下语法运行kubectl命令:

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

    • command: 指定要在一个或多个资源进行操作,例如creategetdescribedelete

    • TYPE:指定资源类型。资源类型区分大小写,您可以指定单数,复数或缩写形式。例如,以下命令产生相同的输出:

    $ kubectl get pod pod1$ kubectl get pods pod1$ kubectl get po pod1

    NAME:指定资源的名称。名称区分大小写。如果省略名称,则会显示所有资源的详细信息,比如$ kubectl get pods

    在多个资源上执行操作时,可以按类型和名称指定每个资源,或指定一个或多个文件:

    1. * 要分组资源,如果它们都是相同的类型:`TYPE1 name1 name2 name<#>`.<br/>
    2. 例: `$ kubectl get pod example-pod1 example-pod2`
    3. * 要分别指定多种资源类型: `TYPE1/name1 TYPE1/name2 TYPE2/name3 TYPE<#>/name<#>`.<br/>
    4. 例: `$ 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操作的简短描述和一般语法:

    请记住:有关命令操作的更多信息,请参阅参考文档。

    下表包括所有支持的资源类型及其缩写别名的列表:

    输出选项

    请使用以下部分查看如何格式化或排序某些命令的输出的信息,有关哪些命令支持各种输出选项的详细信息,请参阅参考文档。

    语法

    1. 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>

    例子

    一致:

    1. $ kubectl get pods <pod-name> -o=custom-columns=NAME:.metadata.name,RSRC:.metadata.resourceVersion

    模版文件:

    template.txt文件包含:

    1. NAME RSRC
    2. metadata.name metadata.resourceVersion

    运行任一命令的结果是:

    1. NAME RSRC
    2. submit-queue 610995

    排序列表对象

    要将对象列表在终端窗口中排序输出,可以将该—sort-by标志添加到支持的kubectl命令中。通过使用—sort-by标志指定任何数字或字符串字段来对对象进行排序。要指定一个字段,请使用表达式。

    语法

    1. kubectl [command] [TYPE] [NAME] --sort-by=<jsonpath_exp>
    例子

    打印按名称排序的列表,请运行:

    $ kubectl get pods —sort-by=.metadata.name

    使用以下一组示例来帮助您熟悉运行常用kubectl操作:

    1. // 使用文本格式列出所有的pods.
    2. $ kubectl get pods
    3. // 使用文本格式列出所有的信息,包含一些额外的信息(比如节点名称).
    4. $ kubectl get pods -o wide
    5. // 使用文本格式列出指定名称的replicationcontroller. 注: 你可以缩短 'replicationcontroller' 资源类型使用别名 'rc'.
    6. $ kubectl get replicationcontroller <rc-name>
    7. // 使用文本格式列出所有的rc,services.
    8. $ kubectl get rc,services
    1. `kubectl describe` - 显示一个或多个资源的详情状态.

    shell// 显示指定节点名称的详情信息.$ kubectl describe nodes

    // 显示指定pods名称的详情信息.$ kubectl describe pods/

    // 显示所有被名称为的replication controller管理的所有pods的详情信息.// 请记住: 任何被replication controller的pod的名称前缀为replication controller的名称.$ kubectl describe pods

    1. `kubectl delete` - 从文件, stdin,或者指定的label selectors, 名称,资源选择器, 或者资源去删除资源.

    shell// 通过 pod.yaml 文件中的资源类型和名称删除一个pod.$ kubectl delete -f pod.yaml

    // 删除所有label名称为name=的pods和services.$ kubectl delete pods,services -l name=

    // 删除所有pods.$ kubectl delete pods –all

    shell// 在名称为的pod允许 ‘date’ 命令获得输出. 默认返回的是pod中第一个容器的终端.$ kubectl exec date

    // 在的pod中的容器中运行’date’获取输出.$ kubectl exec -c date

    // 从名称为的pod获取一个交互的终端和运行/bin/bash. 默认返回的是pod中第一个容器的终端.$ kubectl exec -ti /bin/bash

    1. `kubectl logs` - 输出一个pod的容器日志.

    shell// 从名称为的pod返回日志快照.$ kubectl logs

    // 从名称为的pod中获取日志流. 这个和Linux命令’tail -f’相似.$ kubectl logs -f ```

    下一步

    开始使用命令。

    此页是否对您有帮助?