超详细的Kubernetes (k8s)常用命令整理

 更新时间:2025年03月18日 10:02:00   作者:她与疾風*  
这篇文章主要介绍了Kubernetes (k8s)常用命令整理的相关资料,讲解了Kubernetes集群管理、节点资源查看、Pod管理、部署管理、命名空间管理、服务负载均衡、调试排错以及备份恢复等操作的命令,需要的朋友可以参考下

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。

创建或更新资源

命令:kubectl apply -f <file.yaml>

解析:使用 YAML 文件创建或更新资源,是声明式管理的核心命令。

创建Deployment

命令:  kubectl create deployment <pod_name> --image=<image> --replicas=<副本数>

解析: 创建Deployment类型的控制器,并指定镜像和副本数

查看 Deployment 详细信息

命令:kubectl describe deployment <deployment-name>

解析:列出 Deployment 的详细信息,如策略、副本数、条件等。

缩放 Deployment 副本数

命令:kubectl scale deployment <deployment-name> --replicas=<number>

解析:动态调整 Deployment 的副本数。

查看 Deployment 历史

命令:kubectl rollout history deployment <deployment-name>

解析:列出 Deployment 的历史版本信息。

回滚 Deployment

命令:kubectl rollout undo deployment <deployment-name>

解析:回滚到上一个版本,解决更新后出现的问题。

5. 命名空间管理

查看所有命名空间

命令:kubectl get namespaces(缩写ns)

解析:显示所有命名空间。

创建命名空间

命令:kubectl create namespace <namespace-name>

解析:用于隔离不同的环境或应用。

删除命名空间

命令:kubectl delete namespace <namespace-name>

解析:删除指定命名空间及其所有资源。

6. 服务与负载均衡

查看 Service

命令:kubectl get services(简写svc)

解析:显示当前集群中的 Service 信息,包括 ClusterIP 和类型。

查看 Service 详细信息

命令:kubectl describe service <service-name>

解析:查看指定 Service 的详细配置和状态。

测试 Service 连接

命令:kubectl port-forward <pod-name> <local-port>:<container-port>

解析:将本地端口映射到 Pod 的端口,测试访问服务。

8. 调试与排错

排查 Pod 问题

命令:kubectl describe pod <pod-name>

解析:通过事件日志查看 Pod 创建和运行中可能遇到的错误。

Events:主要显示镜像在创建过程,拉取镜像,启动等,

检查资源状态

命令:kubectl get events

解析:列出所有资源的事件,用于排查问题。

测试网络连通性

命令:kubectl exec -it <pod-name> -- ping <ip-address>

解析:在 Pod 中测试网络是否畅通。(部分镜像可能没有ping命令)

9. 备份与恢复

导出资源配置

命令:kubectl get <resource-type> <resource-name> -o yaml > backup.yaml

解析:导出资源配置,保存为 YAML 文件以备后续恢复。

恢复资源配置

命令:kubectl apply -f backup.yaml

解析:从 YAML 文件恢复资源。

总结

到此这篇关于超详细的Kubernetes (k8s)常用命令整理的文章就介绍到这了,更多相关k8s常用命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • K8S内部pod之间相互调用案例以及详解

    K8S内部pod之间相互调用案例以及详解

    这篇文章主要给大家介绍了关于K8S内部pod之间相互调用案例的相关资料,Pod是Kubernetes中最小的可部署单元,它是一个或多个容器的集合,它们共享网络和存储资源,并在同一节点上运行,需要的朋友可以参考下
    2023-08-08
  • MinIO使用基础教程(最新整理)

    MinIO使用基础教程(最新整理)

    文章介绍了MinIO云存储服务的快速安装和使用,并通过SpringBoot实现文件上传和查询的功能,感兴趣的朋友跟随小编一起看看吧
    2025-03-03
  • 基于云服务MRS构建DolphinScheduler2调度系统的案例详解

    基于云服务MRS构建DolphinScheduler2调度系统的案例详解

    这篇文章主要介绍了基于云服务MRS构建DolphinScheduler2调度系统,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • kubernetes部署dashboard及应用小结

    kubernetes部署dashboard及应用小结

    Dashboard 是基于网页的 Kubernetes 用户界面,可以对 Deployment 实现弹性伸缩、发起滚动升级、重启 Pod 或者使用向导创建新的应用,这篇文章主要介绍了kubernetes部署dashboard,需要的朋友可以参考下
    2024-06-06
  • K8s基本单元Pod解读

    K8s基本单元Pod解读

    Kubernetes中Pod是调度单元,包含多个容器及Pause容器,提供共享网络、存储等资源,状态分为Pending、Running、Failed等,支持存活、就绪、启动探针检测容器健康
    2025-08-08
  • k8s容器的内存设置的踩坑记录

    k8s容器的内存设置的踩坑记录

    这篇文章主要介绍了k8s容器的内存设置的踩坑记录,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-07-07
  • Rainbond功能架构及应用管理官方文档介绍

    Rainbond功能架构及应用管理官方文档介绍

    这篇文章主要为大家介绍了Rainbond功能机构及使用官方文档,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • kubernetes YAML文件的使用

    kubernetes YAML文件的使用

    这篇文章主要介绍了kubernetes YAML文件的使用,帮助大家更好的理解和学习使用kubernetes,感兴趣的朋友可以了解下
    2021-04-04
  • StatefulSet的每个Pod单独创建Service实践

    StatefulSet的每个Pod单独创建Service实践

    本文介绍了如何为StatefulSet的每个Pod创建独立的Service,并提供了一个示例脚本,以批量生成Service定义,通过这种方式,可以实现从集群外部访问每个Pod的功能,并且可以根据需要配置不同的Service类型(如NodePort、LoadBalancer、ClusterIP+Ingress等)
    2026-01-01
  • 如何使用Kubernetes自定义资源(CRD)详解

    如何使用Kubernetes自定义资源(CRD)详解

    自定义资源定义(CRD)是Kubernetes API扩展,可以定义新的对象类型,下面这篇文章主要给大家介绍了关于如何使用Kubernetes自定义资源(CRD)的相关资料,需要的朋友可以参考下
    2022-09-09

最新评论