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/

posted @ 2021-08-10 11:04  du-z  阅读(116)  评论(0编辑  收藏  举报