Kubernetes(十五)kubectl管理命令
概述:kubectl是一个命令行接口,用于对kubernetes集群运行命令。
kubect命令行
语法结构 kubetctl [command] [type] [name] [flages]
- commasnd 指对一个或者多个资源的操作,例如:create、get、name、describe、delete
- type 指定资源类型(不区分大小写)
- name 指定资源名称(区分大小写)
- 获取所有资源 kubectl get pods
- 获取指定资源 kunectl get pod example-pod1 example-pod2 #结构 tpye1 name1 name2
- 用一个或多个文件 kubectl get pod -f ./pod.yaml #结构 -f file1 -f file2
- flags 指定可选参数。
kubectl格式化输出
语法结构 kubetctl [command] [type] [name] -o=<output_format>
- -o json 输出json格式api对象
- -o name 仅输出资源名称,不显示其他信息
- -o wide 以纯文本格式输出,包含任何附加信息,对于pod包含节点名称
- -o yaml 输出以yaml格式的api对象
示例:kubectl get pod -o wide 输出pod详细信息
kubectl根据命名空间过滤
语法结构 kubetctl [command] [type] [name] -o=<output_format> -n namespace
示例:kubectl get pod -o wide -n kube-system
命令
- 基础命令
- create 通过文件名或标准输入创建资源
- expose 将一个新的资源公开为新的service
- run 在集群中运行一个特定的镜像(创建一个容器)
- set 在对象上设置特定的功能
- get 显示一个或多个资源
- exit 使用默认的编辑器编辑资源
- delete 通过文件名、标准输入、资源名称、或标签选择器来删除资源
- 部署命令
- rollout 管理资源的发布
- rolling-update 对给定的复制控制器滚动更新
- scale 扩容或缩容pod数量,Deployment、ReplicaSet、RC、或Job
- autoscale 创建一个自动选择扩容并设置pod数量
- 集群管理命令
- certficate 修改证书资源
- cluster-info 显示集群信息
- top 显示资源(cpu/memory/storage)使用。需要部署Heapster运行
- cordon 标记节点可以调度
- uncordon 标记节点不可调度 (节点维护情况下使用)
- drain 驱逐节点上的应用,准备下线(比如机器故障、更换等停机)
- taint 修改节点taint标记
- 故障诊断和调试命令
- describe 显示特性资源或资源组详细信息
- log 在一个pod中打印一个容器日志,如果pod只有一个容器日志,容器名称是可选的
- attach 附加到一个运行的容器
- exec 执行命令到容器
- port-forward 转发一个或多个本地端口到pod
- porxy 运行一个porxy到kubernetes api server
- cp 拷贝文件或目录到容器中
- auth 检查授权
- 高级命令
- apply 通过文件名或标准输入对资源应用配置
- patch 通过补丁修改、更新资源字段
- replace 通过文件名或标准输入替换一个资源
- covert 不同api版本之间转换配置文件
- 设置命令
- lable 更新资源上的标签
- annotate 更新资源上的注释
- completion 用于实现kubectl工具自动补全
- 其他命令
- api-versions 打印受支持的api版本
- config 修改kubernetes文件(用于访问api,比如配置认证信息等)
- help 所有帮助命令
- plugin 运行一个命令行插件
- version 打印客户端和服务版本信息