超详细的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高可用集群安装教程

    k8s高可用集群安装教程

    本文给大家介绍k8s高可用集群安装教程,本文通过图文示例相结合给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2025-03-03
  • Kubernetes安全加固的一些实用建议

    Kubernetes安全加固的一些实用建议

    Kubernetes是一个自动化的容器编排平台,它负责应用的部署、应用的弹性以及应用的管理,这些都是基于容器的,下面这篇文章主要给大家介绍了关于Kubernetes安全加固的一些实用建议,需要的朋友可以参考下
    2022-02-02
  • 云服务器Jenkins部署Springboot项目及Vue项目的详细过程

    云服务器Jenkins部署Springboot项目及Vue项目的详细过程

    本文详细介绍了如何在云服务器上使用Jenkins部署Springboot和Vue项目,包括创建Springboot项目并上传到Git仓库、安装Maven和配置Maven插件、安装Gitee插件、配置Jenkins任务以及创建自由风格项目等步骤,感兴趣的朋友一起看看吧
    2025-02-02
  • K8S中五种控制器的介绍以及使用

    K8S中五种控制器的介绍以及使用

    这篇文章主要给大家介绍了关于K8S中五种控制器及使用的相关资料,控制器 又称之为工作负载,本文通过图文以及实例代码介绍的非常详细,需要的朋友可以参考下
    2021-12-12
  • 青龙面板拉库解决没有或丢失依赖can‘t find module的保姆级教程(附青龙面板脚本仓库)

    青龙面板拉库解决没有或丢失依赖can‘t find module的保姆级教程(附青龙面板脚本仓库)

    这篇文章主要介绍了青龙面板拉库解决没有或丢失依赖can‘t find module的保姆级教程(附青龙面板脚本仓库),需要的朋友可以参考下
    2022-05-05
  • 安装ingress-nginx遇到的一些坑实战记录

    安装ingress-nginx遇到的一些坑实战记录

    ingress是kubernetes集群对外暴露服务的一种方式,下面这篇文章主要给大家介绍了关于安装ingress-nginx遇到的一些坑,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • 一文详解基于Kubescape进行Kubernetes安全加固

    一文详解基于Kubescape进行Kubernetes安全加固

    这篇文章主要为大家介绍了基于Kubescape进行Kubernetes安全加固详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • 教你在k8s上部署HADOOP-3.2.2(HDFS)的方法

    教你在k8s上部署HADOOP-3.2.2(HDFS)的方法

    这篇文章主要介绍了k8s-部署HADOOP-3.2.2(HDFS)的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • Kubernetes中创建命名空间实现方法

    Kubernetes中创建命名空间实现方法

    这篇文章主要为大家介绍了Kubernetes中创建命名空间实现方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • 云原生技术kubernetes(K8S)简介

    云原生技术kubernetes(K8S)简介

    这篇文章主要介绍了云原生技术kubernetes的相关资料,帮助大家更好的理解和学习使用K8S,感兴趣的朋友可以了解下
    2021-03-03

最新评论