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       

 

posted @ 2020-08-20 18:21  lance.xiang  阅读(213)  评论(0编辑  收藏  举报