3-k8s集群管理工具kubectl

k8s.jpg

概述

kubectl是k8s集群的命令行工具,通过kubectl能够对集群本身进行管理,并能够在集群上进行容器化应用的安装和部署

命令格式

1
kubectl [command] [type] [name] [flags]

参数
command:指定要对资源执行的操作,例如:create、get、describe、delete
type:指定资源类型,资源类型是大小写敏感的,可以使用单数、复数、缩略的形式
name:资源的名称,大小写敏感,且可以省略,省略则会显示所有的资源
flags:指定可选参数

获取帮助信息

1
2
3
4
# 获取kubectl帮助信息
kubectl --help
# 获取某个命令的介绍和使用
kubectl get --help

基础命令

命令 介绍
create 通过文件名或者标准输入创建资源
expose 使用 replication controller, service, deployment 或者 pod并暴露它作为一个 新的 Kubernetes Service
run 在集群中运行一个指定镜像
set 在对象上设定特定的功能
get 显示一个或多个资源
edit 编辑一个资源
delete 通过文件名、标准输入、资源名、标签来删除资源

create

1
kubectl create -f FILENAEM  #使用yaml文件创建资源

部署命令

命令 介绍
rollout 管理资源的发布
scale 为deployment、replicaSet、replicaController、job设置一个新的副本数量
autoscale 动调整一个 Deployment, ReplicaSet, 或者 ReplicationController的副本数量

集群管理命令

命令 介绍
certificate 修改证书资源
cluster-info 显示集群信息
top 显示资源
cordon 标记 node 为不可被调度
uncordon 标记 node 为 可被调度
drain 驱逐节点上的应用,准备下线维护
taint 更新一个或者多个 node 上的 taints

故障和调试命令

命令 介绍
describe 显示特定资源或资源组的详细信息
logs 输出容器在 pod 中的日志
attach 连接到现有容器中一个正在运行的进程
exec 执行命令到容器
port-forward 将一个或多个本地端口转发到pod
proxy 运行一个 proxy 到 Kubernetes API server
cp 拷贝文件或目录到容器中
auth 检查授权

其他命令

命令 介绍
diff 比较当前在线配置与本地配置的差异
apply 通过文件名或标准输入对资源应用的配置
patch 使用补丁修改、更新资源的字段
replace 通过文件名或标准输入替换一个资源
convert 不同API版本之前转换配置文件
label 更新资源上的标签
annotate 更新资源上的注释
completion 用于实现kubectl工具自动补全
config 修改k8s文件
plugin 运行一个命令行插件
version 打印客户端和服务版本信息