kubectl 常用命令
kubectl作为客户端的CLI工具,可以让用户通过命令行对k8s集群进行操作
在执行kubectl命令时,一般需要-n指定namespace,不指定则在默认的namespace(default)中查找resources
kubectl 用法概述
kubectl [command] [type] [name] [flags]
- command:子命令,用于操作k8s集群资源对象的命令,例如:create、describe、delete、get、apply、explain等
- type:资源对象类型,区分大小写,能以单数、复数、或者简写形式表示
- name:资源对象的名称,区分大小写;如不指定名称,系统则返回属于type的全部对象的列表
- flags:kubectl子命令的参数
示例
# 查看事件
[root@k8s-master yaml]# kubectl get events
LAST SEEN TYPE REASON OBJECT MESSAGE
42s Normal Scheduled pod/nginx Successfully assigned default/nginx to k8s-node2
41s Normal Pulling pod/nginx Pulling image "nginx:1.15.2"
9s Normal Pulled pod/nginx Successfully pulled image "nginx:1.15.2" in 32.041683724s
9s Normal Created pod/nginx Created container nginx
9s Normal Started pod/nginx Started container nginx
在一个命令行中也可以同时对多个资源对象进行操作,以多个type和那么的组合表示,示例如下
# 同时获取几个pod的信息
kubectl get pods pod1 pod2
#同时获取多种对象的信息
kubectl get pod/pod1 svc/service1
#同时应用多个YAML文件,以多个-f file
kubectl create -f pod1.yaml -f service.yaml
kubectl 输出格式
kubectl [command] [type] [name] -o <output_format>
#常用
-o wide :输出额外信息
-o yaml :以yaml格式输出
-o json :以json格式输出
-o name : 仅打印资源名称,不打印任何其他内容
kubectl常用操作示例
编写k8s的yaml文件查找资源时用到的命令
╭─root@node1 ~
╰─➤ kubectl explain deploy
KIND: Deployment
VERSION: extensions/v1beta1
...
# kubectl api-resources
# kubectl explain deploy.metadata
# kubectl explain deploy.spec
# kubectl explain deploy.spec.template
# kubectl explain deploy.spec.template.spec
# kubectl explain deploy.spec.template.metadata
收集链接
kubectl常用命令网络链接:https://cloud.tencent.com/developer/article/1140076
k8s官网命令https://kubernetes.io/docs/reference/kubectl/overview/