kubernetes 常用命令
资源类型
列出全部支持的资源类型和它们的简称, API group,无论它们是否是 namespaced, Kind。
kubectl api-resources
用于探索 API 资源的其他操作:
kubectl api-resources --namespaced=true # 所有在命名空间中的资源
kubectl api-resources --namespaced=false # 所有不在命名空间中的资源
kubectl api-resources -o name # 输出简单的所有资源(只是资源名称)
kubectl api-resources -o wide # 具有扩展(又称 "wide")输出的所有资源
kubectl api-resources --verbs=list,get # 支持 "list" 和 "get" 请求动词的所有资源
kubectl api-resources --api-group=extensions # "extensions" API 组中的所有资源
bectl cordon my-node # 设置 my-node 节点为不可调度
kubectl drain my-node # 对 my-node 节点进行驱逐操作,为节点维护做准备
kubectl uncordon my-node # 设置 my-node 节点为可以调度
kubectl top node my-node # 显示给定 node 的指标
kubectl cluster-info # 显示 master 和 services 的地址
kubectl cluster-info dump # 将当前集群状态输出到标准输出
kubectl cluster-info dump --output-directory=/path/to/cluster-state # 将当前集群状态输出到 /path/to/cluster-state
# 如果已存在具有该键和效果的污点,则其值将按指定替换
kubectl taint nodes foo dedicated=special-user:NoSchedule
kubectl logs my-pod # 获取 pod 日志(标准输出)
kubectl logs -l name=myLabel # 获取 pod label name=myLabel 日志(标准输出)
kubectl logs my-pod --previous # 获取上个容器实例的 pod 日志(标准输出)
kubectl logs my-pod -c my-container # 获取 pod 的容器日志(标准输出,多容器的场景)
kubectl logs -l name=myLabel -c my-container # 获取 label name=myLabel pod 的容器日志(标准输出,多容器的场景)
kubectl logs my-pod -c my-container --previous # 获取 pod 的上个容器实例日志(标准输出,多容器的场景)
kubectl logs -f my-pod # 流式输出 pod 的日志(标准输出)
kubectl logs -f my-pod -c my-container # 流式输出 pod 容器的日志(标准输出,多容器的场景)
kubectl logs -f -l name=myLabel --all-containers # 流式输出 label name=myLabel pod 的日志(标准输出)
kubectl run -i --tty busybox --image=busybox -- sh # 以交互式 shell 运行 pod
kubectl attach my-pod -i # 进入到一个运行中的容器中
kubectl port-forward my-pod 5000:6000 # 在本地计算机上侦听端口 5000 并转发到 my-pod 上的端口 6000
kubectl exec my-pod -- ls / # 在已有的 pod 中运行命令(单容器的场景)
kubectl exec my-pod -c my-container -- ls / # 在已有的 pod 中运行命令(多容器的场景)
kubectl top pod POD_NAME --containers