kubectl介绍
Kubectl是一个用于操作Kubernetes集群的命令行接口,利用Kubectl工具可以在集群中实现各种功能。 Kubectl作为客户端工具,其功能和Systemctl工具很相似,用户可以通过指令实现对Kubernetes集群中 资源对象的基础操作。 https://kubernetes.io/zh/docs/reference/kubectl/overview/
kubectl命令语法 基本语法格式如下:
kubectl [command] [TYPE] [NAME] [flags]
(1)comand:指定要对资源执行的操作,例如 create、get、describe 和 delete
(2)TYPE:指定资源类型,比如deployment、pod、service。资源类型是大小写敏感的,开发者能 够以单数、复数和缩略的 形式。例如:
kubectl get pod pod1
kubectl get pods pod1
kubectl get po pod1
(3)NAME:指定资源的名称,名称也大小写敏感的。如果省略名称,则会显示所有的资源。 例如,前者将会显示所有的Pod,后者只显示name为nginx-test1的Pod。 例如:
kubectl get pods
kubectl get pod nginx-test1
在对多个资源执行操作时,你可以按类型和名称指定每个资源,或指定一个或多个文件:
- 要按类型和名称指定资源:
- 要对所有类型相同的资源进行分组,请执行以下操作: 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
- flags:指定可选的参数。例如,可用-s 或者–server 参数指定 Kubernetes API server 的地址和端 口。如“-l”或者“--labels”表示为Pod对象设定自定义的标签。
注意:从命令行指定的参数会覆盖默认值和任何相应的环境变量。
kubectl参数
子命令
检查kubectl是否已经安装
rpm -qa |grep kubectl
Kubectl的子命令非常丰富,可以实现对Kubernetes集群中资源对象的创建、删除、查看、修改、配 置、运行等操作。kubernetes允许对资源进行多种操作,可以通过--help查看详细的操作命令
kubectl --help
经常使用的操作有下面这些:
资源对象类型和资源对象名称
kubernetes中所有的内容都抽象为资源,可以通过下面的命令进行查看:
kubectl api-resources
常用的资源对象类型和简写如表所示。
格式化输出选项
Kubectl的默认输出格式是可读的纯文本格式,如果要以特定格式将详细信息输出到终端窗口,则可以 将-o或--output参数添加到命令中,语句格式如下:
kubectl [command] [TYPE] [NAME] -o=<output_format>
根据不同的选项,Kubectl支持的输出格式如表所示。