Kubectl命令行管理对象 类型 命令 描述 基础命令 create 通过文件名或标准输入创建资源。 expose 将一个资源公开为一个新的Kubernetes服务。 run 创建并运行一个特定的镜像,可能是副本。 创建一个deployment或job管理创建的容器。 set 配置应用资源。 修改现有应用程序资源。 get 显示一个或多个资源。 explain 文档参考资料。 edit 使用默认的编辑器编辑一个资源。 delete 通过文件名、标准输入、资源名称或标签选择器来删除资源。 部署命令 rollout 管理资源的发布。 rolling-update 执行指定复制控制的滚动更新。 scale 扩容或缩容Pod数量,Deployment、ReplicaSet、RC或Job。 autoscale 创建一个自动选择扩容或缩容并设置Pod数量。 集群管理命令 certificate 修改证书资源。 cluster-info 显示集群信息。 top 显示资源(CPU/Memory/Storage)使用。需要Heapster运行。 cordon 标记节点不可调度。 uncordon 标记节点可调度。 drain 维护期间排除节点。 taint
Kubectl命令行管理对象 类型 命令 描述 故障诊断和调试命令 describe 显示特定资源或资源组的详细信息。 logs 在pod或指定的资源中容器打印日志。如果pod只有一个容器,容器名称是可选的。 attach 附加到一个进程到一个已经运行的容器。 exec 执行命令到容器。 port-forward 转发一个或多个本地端口到一个pod。 proxy 为kubernetes API Server启动服务代理。 cp 拷贝文件或目录到容器中。 auth 检查授权。 高级命令 apply 通过文件名或标准输入对资源应用配置。 patch 使用补丁修改、更新资源的字段。 replace 通过文件名或标准输入替换一个资源。 convert 不同的API版本之间转换配置文件。YAML和JSON格式都接受。 设置命令 label 更新资源上的标签。 annotate 在一个或多个资源上更新注释。 completion 用于实现kubectl工具自动补全。 其他命令 api-versions 打印受支持的API版本。 config 修改kubeconfig文件(用于访问API,比如配置认证信息)。 help 所有命令帮助。 plugin 运行一个命令行插件。 version 打印客户端和服务版本信息
Kubectl命令行管理对象 示例: # 运行应用程序 kubectl run hello-world --replicas=3 --labels="app=example" --image=nginx:1.10 --port=80 # 显示有关Deployments信息 kubectl get deployments hello-world kubectl describe deployments hello-world # 显示有关ReplicaSet信息 kubectl get replicasets kubectl describe replicasets # 创建一个Service对象暴露Deployment(在88端口负载TCP流量) kubectl expose deployment hello-world --port=88 --type=NodePort --target-port=80 --name=example-service # 创建一个Service对象暴露Deployment(在4100端口负载UDP流量) kubectl expose deployment hello-world --port=4100 --type=NodePort --protocol=udp --target-port=80 -- name=example-service # 显示有关Service信息 kubectl describe services example-service # 使用节点IP和节点端口访问应用程序 curl http://<public-node-ip>:<node-port>
Kubectl命令行管理对象 示例: # 列出运行应用程序的pod kubectl get pods --selector="app=example" --output=wide # 查看pods所有标签 kubectl get pods --show-labels # 根据标签查看pods kubectl get pods -l app=example # 扩容Pod副本数 kubectl scale deployment --replicas=10 hello-world # 清理应用程序 kubectl delete services example-service kubectl delete deployment hello-world