kubectl作为客户端CLI工具,可以让用户通过命令行对Kubernetes集群进行操作。
kubectl命令行的语法如下:
kubectl [command] [TYPE] [NAME] [flags]
(1)command:子命令,用于操作Kubernetes集群资源对象的命 令,例如create、delete、describe、get、apply等。
(2)TYPE:资源对象的类型,区分大小写,能以单数、复数或者 简写形式表示。例如以下3种TYPE是等价的。
(3)NAME:资源对象的名称,区分大小写。如果不指定名称, 系统则将返回属于TYPE的全部对象的列表,例如$ kubectl get pods将返 回所有Pod的列表。
(4)flags:kubectl子命令的可选参数,例如使用“-s”指定API Server的URL地址而不用默认值。
在一个命令行中也可以同时对多个资源对象进行操作,以多个 TYPE和NAME的组合表示,示例如下。
kubectl子命令详解
kubectl的子命令非常丰富,涵盖了对Kubernetes集群的主要操作, 包括资源对象的创建、删除、查看、修改、配置、运行等。
一些常用的kubectl操作作为示例进行说明
创建资源对象:
1.创建资源对象 根据YAML配置文件一次性创建Service和RC:
kubectl create -f my-service.yaml -f my-rc.yaml
kubectl create -f pod.yaml
kubectl apply -f pod.yaml
查看资源对象:
2、查看pod列表
3、查看RC和Service列表:
描述资源对象:
4、显示Node的详细信息:
kubectl describe node 192.168.0.212
kubectl describe nodes <node-name>
5、显示Pod的详细信息:
6、显示由RC管理的Pod的信息:
kubectl describe pods <rc-name>
删除资源对象:
7、基于pod.yaml定义的名称删除Pod:
kubectl delete -f pod.yaml
8、删除所有包含某个Label的Pod和Service:
11、指定Pod中的某个容器执行date命令:
12、通过bash获得Pod中某个容器的TTY,相当于登录容器:
查看容器的日志
13、查看容器输出到stdout的日志:
14、跟踪查看容器的日志,相当于tail -f命令的结果:
kubectl logs -f <pod-name> -c <container-name>