一、kubectl 概述
kubectl 是 Kubernetes 集群的命令行工具,通过 kubectl 能够对集群本身进行管理,并能
够在集群上进行容器化应用的安装部署
二、kubectl 命令的参数说明
kubectl [command] [type] [name] [flags]
(1) comand:指定要对资源执行的操作,例如 create、delete、get、describe
【例】 kubectl create pod pod1 新增一个pod
kubectl delete pod pod1 删除一个pod
kubectl get pod pod1 查询一个pod信息
kubectl describe pod pod1 查询一个pod的详细信息
(2) type:指定资源类型,资源类型是大小写敏感的,开发者能够以单数、复数和缩略的形式
kubectl get pod pod1
kubectl get pods pod1
kubectl get po pod1
(3) name:指定资源的名称,名称也大小写敏感的。如果省略名称,则会显示所有的资源.
kubectl get pods
(4) flags:指定可选的参数。
例如,可用-s 或者–server 参数指定 Kubernetes APIserver 的地址和端口。
三、kubectl 子命令使用分类
使用 kubectl --help 显示所有可用的命令
1 基础命令
create 通过文件名或者标准输入创建资源
expose 将一个资源公开为一个新的Service
run 在集群中运行一个特定的镜像
set 在对象上设定特定的功能
get 显示一个或者多个资源
explain 文档参考资料
edit 使用默认的编辑器,编辑一个资源
delete 通过文件名、标准输入、资源名称、或者标签选择器来删除资源
2、部署和集群管理命令
(1)部署命令
rollout 管理资源的发布
rolling-update 对给定的复制控制器滚动更新
scale 扩容或者缩容Pod数量,Deployment、ReplicaSet、RC或Job
autoscale 创建一个自动扩容或缩容并设置Pod数量
(2)集群管理命令
certificate 修改证书资源
cluster-info 形式集群的信息
top 显示资源(CPU/Memory/Storage)使用。需要Heapster运行
cordon 标记节点不可调度
uncordon 标记节点可调度
drain 驱逐节点上的应用,准备下线维护
taint 修改节点taint标记
3、故障诊断和调试命令
describe 显示特定资源或资源组的详细信息
logs 在一个pod中打印一个容器日志,如果pod只有一个容器,容器名称是可选的
attach 附加到一个运行的容器
exec 执行命令到容器
port-forward 转发一个或多个本地端口到一个pod
proxy 运行一个proxy到k8s api server
cp 拷贝文件或目录到容器中
auth 检查授权
4、其他命令
(1) 高级命令
apply 通过文件名或者标准输入对资源应用配置
patch 使用补丁修改、更新资源字段
replace 通过文件名或者标准输入替换一个资源
convert 不同的API版本之间转换配置文件
(2) 设置命令
label 更新资源上的标签
annotate 更新资源上的注释
completion 用于实现k8s工具自动补全
(3)其他命令
api-versions 打印受支持的api版本
config 修改k8s文件(用于访问api,比如配置认证信息)
help 所有命令帮助
plugin 运行一个命令插件
version 打印客户端和服务版本信息