1. 基本集群管理命令
查看集群信息
命令:kubectl cluster-info
解析:用于查看 Kubernetes 集群的基本信息,例如 API Server 和 DNS 的访问地址。
检查当前上下文(在k8s中,上下文(context)是集群信息、用户和命名空间的组合这样一个概念。)
命令:kubectl config current-context
解析:用于显示当前使用的集群上下文,尤其在多集群环境下很重要。
切换上下文
命令:kubectl config use-context <context-name>
解析:切换到其他上下文以管理不同的集群。
查看所有上下文
命令:kubectl config get-contexts
解析:列出所有的集群上下文及相关配置信息。
2. 节点与集群资源查看
查看所有节点
命令:kubectl get nodes
解析:列出当前集群中的所有节点及其状态信息。
查看节点详细信息
命令:kubectl describe node <node-name>
解析:获取指定节点的详细状态,包括容量、分配的资源和当前负载情况。
查看集群资源使用情况
命令:kubectl top nodes
解析:显示每个节点的 CPU 和内存使用情况,(需要部署 Metrics Server)。
3. 管理 Pod
查看所有 Pod
命令:kubectl get pods -A -o wide
解析:列出所有 Pod 的基本信息,显示所有命名空间下的 Pod及分布节点ip,name等信息。
查看某命名空间的 Pod
命令:kubectl get pods -n <namespace>
解析:指定命名空间查看 Pod,可以加 -o wide 查看更多细节。
查看 Pod 详细信息
命令:kubectl describe pod <pod-name>
解析:列出指定 Pod 的详细信息,包括事件、环境变量、容器信息等。
查看 Pod 日志
命令:kubectl logs <pod-name>
解析:获取 Pod 的标准输出日志,常用于调试。
通过shell进入 Pod 容器终端
命令:kubectl exec -it <pod-name> -- /bin/bash
解析:启动一个交互式终端,与容器内部直接交互。
像这种报错进不去,可能是因为容器所基于的镜像做的非常轻量,不包含完整的shell环境,可以通过精简的shell进去
命令: kubectl exec -it <pod -name> -- /bin/sh
删除 Pod
命令:kubectl delete pod <pod-name>
解析:删除指定 Pod,常用于重新调度或解决问题。
这里启动时间已经修改,证明我们的pod已经被删了,但是因为我们的pod控制器类型这里是replicaset,所以删除过后他又自动创建了一个新的pod
4. 部署与管理工作负载
查看部署信息
命令:kubectl get deployments -A
解析:显示当前集群中的所有 Deployment。