如何在 Linux 上重启 Kubernetes如何在 Linux 上重启 Kubernetes如何在 Linux 上重启 Kubernetes如何在 Linux 上重启 Kubernetes
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Linux 上重启 Kubernetes

Kubernetes 是容器编排软件,允许我们部署、管理和扩展容器化应用程序。尽管 Kubernetes 享有高度可靠的声誉,但也可能需要重新启动它,就像有时对任何其他应用程序或服务所做的那样。 Kubernetes 被分成不同的组件,这些组件都可以单独重新启动,以便其他部分可以不间断地继续运行。理想情况下,您应该只重新启动正在排除故障的组件。

在本教程中,我们将逐步介绍在 Linux 系统上重新启动 Kubernetes。这包括重新启动集群中的主节点(kubelet 服务)、工作节点和 Pod。您将在下面看到如何重新启动并检查每个 Kubernetes 组件的状态。

在本教程中您将学习:

  • 如何重启 kubelet 服务

  • 如何重启容器化层

  • 如何重启master和worker节点

  • 如何重启已部署的 Pod

如何在 Linux 上重启 Kubernetes

查看下面的各种示例,了解如何重新启动 Kubernetes 的不同组件。

  1. 要在主节点或工作节点上重新启动 kubelet 服务,请使用以下 systemctl 命令:

    
    $ sudo systemctl restart kubelet
    

    然后,检查 kubelet 服务的当前状态:

    
    $ sudo systemctl status kubelet
    
  2. 您还可以重新启动容器化层,这有时有助于排除错误。在大多数情况下,它是 Docker,但您的集群可能使用不同的技术:

    
    $ sudo systemctl restart docker
    
  3. 要完全重新启动工作节点,我们可以使用典型的 reboot Linux 命令。首先,我们应该使用 kubectl cordon 命令确保 Kubernetes 不会尝试同时在节点上调度任何新的 pod。通过 SSH 连接到工作节点并执行:

    
    $ kubectl cordon [ip address]
    $ sudo reboot
    

    重启完成后:

    
    $ kubectl uncordon [ip address]
    
  4. 当涉及到重新启动 Pod 时,一种方法是将副本设置为 0,然后在几分钟后当它们都有机会关闭时再次增加它们。例如:

    
    $ kubectl scale deployments/nginx-server --replicas=0
    

    重新启动 Pod 的更好方法是让 rollout restart 来完成这项工作。这样,每个 pod 一次都会重新启动,并且客户端不会注意到任何停机时间。

    
    $ kubectl rollout restart deployment [deployment_name] -n [namespace]
    

注意
如果在重新启动这些各种服务后仍然遇到错误,请尝试检查 Kubernetes 日志文件以获取有关可能导致错误的原因的更多提示。检查之前链接的指南以获取有关如何执行此操作的信息。

结束语

在本教程中,我们了解了如何在 Linux 系统上重新启动 Kubernetes。由于 Kubernetes 分为多个组件,我们通过两种不同的方法重新启动 kubelet 服务、主节点、工作节点、容器化层和所有 pod。当遇到新错误时,有时简单地重新启动其中一个或多个组件可能是最简单的修复方法。

©2015-2025 艾丽卡 support@alaica.com