kubectl命令行管理工具按类型进行了汇总
基础命令: create #通过文件名或标准输入创建资源 expose #将一个资源公开为一个新的Service delete #通过文件名、标准输入、资源名称或标签选择器来删除资源 run #在集群中运行一个特定的镜像 set #在对象上设置特定的功能 get #显示一个或多个资源 explain #文档参考资料 edit #使用默认的编辑器编辑一个资源
部署命令: rollout #管理资源的发布 rolling-update #对给定的复制控制器滚动更新 scale #扩容或缩容Pod数量,Deployment、ReplicaSet、RC或Job autoscale #创建一个自动选择扩容或缩容并设置Pod数量
集群管理命令: certificate #修改证书资源 cluster-info #显示集群信息 top #显示资源(CPU/Memory/Storage)使用,需要Heapster运行 cordon #标记节点不可调度 uncordon #标记节点可调度 drain #驱逐节点上的应用,准备下线维护 taint #修改节点taint标记
故障诊断和调试命令: describe #显示特定资源或资源组的详细信息 logs #在一个Pod中打印一个容器日志。如果Pod只有一个容器,容器名称是可选的 attach #附加到一个运行的容器 exec #执行命令到容器 port-forward #转发一个或多个本地端口到一个pod proxy #运行一个proxy到Kubernetes API server cp #拷贝文件或目录到容器中 auth #检查授权
设置命令: label #更新资源上的标签 annotate #更新资源上的注释 completion #用于实现kubectl工具自动补全
高级命令: apply #通过文件名或标准输入对资源应用配置 patch #使用补丁修改、更新资源的字段 replace #通过文件名或标准输入替换一个资源 convert #不同的API版本之间转换配置文件 api-versions #打印受支持的API版本 api-resources #查看各类资源及缩写 config #修改kubeconfig文件(用于访问API,比如配置认证信息) help #所有命令帮助 plugin #运行一个命令行插件 version #打印客户端和服务版本信息
示例: 创建 # kubectl run nginx --replicas=3 --image=nginx:1.14 --port=80 # kubectl get deploy,pods 发布 # kubectl expose deployment nginx --port=80 --type=NodePort --target-port=80 --name=nginx-service # kubectl get service 更新 # kubectl set image deployment/nginx nginx=nginx:1.15 扩容 # kubectl scale deploy nginx --replicas=5 回滚 # kubectl rollout history deployment/nginx # kubectl rollout undo deployment/nginx 删除 # kubectl delete deploy/nginx # kubectl delete svc/nginx-service 查看指定pod日志 # kubectl logs po/nginx-598805112-3bzmf 查看指定deploy和namespace日志 # kubectl logs deploy/nginx -n my-kube 查看pod的描述信息 # kubectl describe pods 查看指定delpoy和namespace的描述信息 # kubectl describe deploy nginx -n my-kube 应用被修改后的xxx.yaml文件 # kubectl apply -f xxx.yaml --record 查看deploy的部署或变更状态 # kubectl rollout status deploy myweb