整理的 Kubernetes (k8s) 常用命令整理
1. 基本集群管理命令
查看集群信息
命令:kubectl cluster-info
解析:用于查看 Kubernetes 集群的基本信息,例如 API Server 和 DNS 的访问地址。
检查当前上下文(在k8s中,上下文(context)是集群信息、用户和命名空间
的组合这样一个概念。)
命令:kubectl config current-context
解析:用于显示当前使用的集群上下文,尤其在多集群环境下很重要。
切换上下文
命令:kubectl config use-context
解析:切换到其他上下文以管理不同的集群。
查看所有上下文
命令:kubectl config get-contexts
解析:列出所有的集群上下文及相关配置信息。
2. 节点与集群资源查看
查看所有节点
命令:kubectl get nodes
解析:列出当前集群中的所有节点及其状态信息。
查看节点详细信息
命令:kubectl describe node
解析:获取指定节点的详细状态,包括容量、分配的资源和当前负载情况。
查看集群资源使用情况
命令:kubectl top nodes
解析:显示每个节点的 CPU 和内存使用情况,(需要部署 Metrics Server)。
3. 管理 Pod
查看所有 Pod
命令:kubectl get pods -A -o wide
解析:列出所有 Pod 的基本信息,显示所有命名空间下的 Pod及分布节点ip,name等信息。
查看某命名空间的 Pod
命令:kubectl get pods -n
解析:指定命名空间查看 Pod,可以加 -o wide 查看更多细节。
查看 Pod 详细信息
命令:kubectl describe pod
解析:列出指定 Pod 的详细信息,包括事件、环境变量、容器信息等。
查看 Pod 日志
命令:kubectl logs
解析:获取 Pod 的标准输出日志,常用于调试。
通过shell进入 Pod 容器终端
命令:kubectl exec -it
解析:启动一个交互式终端,与容器内部直接交互。
像这种报错进不去,可能是因为容器所基于的镜像做的非常轻量,不包含完整的shell环境,可以通过精简的shell进去
命令: kubectl exec -it
删除 Pod
命令:kubectl delete pod
解析:删除指定 Pod,常用于重新调度或解决问题。
这里启动时间已经修改,证明我们的pod已经被删了,但是因为我们的pod控制器类型这里是replicaset,所以删除过后他又自动创建了一个新的pod
4. 部署与管理工作负载
查看部署信息
命令:kubectl get deployments -A
解析:显示当前集群中的所有 Deployment。
创建或更新资源
命令:kubectl apply -f
解析:使用 YAML 文件创建或更新资源,是声明式管理的核心命令。
创建Deployment
命令: kubectl create deployment
解析: 创建Deployment类型的控制器,并指定镜像和副本数
查看 Deployment 详细信息
命令:kubectl describe deployment
解析:列出 Deployment 的详细信息,如策略、副本数、条件等。
缩放 Deployment 副本数
命令:kubectl scale deployment
解析:动态调整 Deployment 的副本数。
查看 Deployment 历史
命令:kubectl rollout history deployment
解析:列出 Deployment 的历史版本信息。
回滚 Deployment
命令:kubectl rollout undo deployment
解析:回滚到上一个版本,解决更新后出现的问题。
5. 命名空间管理
查看所有命名空间
命令:kubectl get namespaces(缩写ns)
解析:显示所有命名空间。
创建命名空间
命令:kubectl create namespace
解析:用于隔离不同的环境或应用。
删除命名空间
命令:kubectl delete namespace
解析:删除指定命名空间及其所有资源。
6. 服务与负载均衡
查看 Service
命令:kubectl get services(简写svc)
解析:显示当前集群中的 Service 信息,包括 ClusterIP 和类型。
查看 Service 详细信息
命令:kubectl describe service
解析:查看指定 Service 的详细配置和状态。
测试 Service 连接
命令:kubectl port-forward
解析:将本地端口映射到 Pod 的端口,测试访问服务。
8. 调试与排错
排查 Pod 问题
命令:kubectl describe pod
解析:通过事件日志查看 Pod 创建和运行中可能遇到的错误。
Events:主要显示镜像在创建过程,拉取镜像,启动等,
检查资源状态
命令:kubectl get events
解析:列出所有资源的事件,用于排查问题。
测试网络连通性
命令:kubectl exec -it
解析:在 Pod 中测试网络是否畅通。(部分镜像可能没有ping命令)
9. 备份与恢复
导出资源配置
命令:kubectl get
解析:导出资源配置,保存为 YAML 文件以备后续恢复。
恢复资源配置
命令:kubectl apply -f backup.yaml
解析:从 YAML 文件恢复资源。