什么是 Kubernetes 集群?

复制 URL
  • Kubernetes 集群是一组用于运行容器化应用的节点计算机。 
  • Kubernetes 集群的预期状态定义了其工作负载、镜像、资源和配置。
  • Kubernetes 集群由一个控制平面组成,该控制平面负责管理通过 Pod 执行任务的节点,并由用于网络连接的服务、用于持久化数据存储的卷以及用于虚拟隔离的命名空间提供支持。
  • Kubernetes 集群管理是指 IT 团队如何管理一组 Kubernetes 集群。
  • OpenShift、高级集群管理和 Ansible 自动化平台等红帽产品,可跨云、本地和边缘环境高效管理多集群部署。

什么是 Kubernetes 集群?

Kubernetes 集群是一组用于运行容器化应用的节点计算机。如果您运行的是 Kubernetes,那么您就是在运行集群。

集群至少包含一个控制平面和一台或多台计算机器(即节点)。控制平面负责维护集群的预期状态,例如哪些应用正在运行以及它们使用了哪些容器镜像。节点则实际运行应用和工作负载。

集群是 Kubernetes 关键优势的核心:能够跨一组机器调度和运行容器,无论这些机器是物理机还是虚拟机,位于本地还是云端。Kubernetes 容器并不与单个计算机绑定,而是以抽象化的形式分布在整个集群中。

获取企业级 Kubernetes 简介页面当前以 English 显示(暂无 zh 选项)

Kubernetes 集群的预期状态是指您希望应用和基础架构在任何给定时刻呈现何种状态以及如何运行的蓝图。

您无需向集群提供分步说明(命令式),而是在 YAML 或 JSON 文件中声明您期望的最终结果(声明式),然后 Kubernetes 会持续工作以维持该状态。

此蓝图通常会指定:

  • 工作负载:应运行哪些应用、微服务或批处理作业。
  • 规模:每个容器应该存在多少个副本。
  • 资源:分配给每个应用的 CPU 和内存量。
  • 网络和安全防护:打开哪些端口、如何路由流量以及谁有权访问。
  • 弹性:如果容器崩溃或硬件节点出现故障,该如何处理。

Kubernetes 集群的预期状态定义了应运行哪些应用或其他工作负载,以及它们使用哪些镜像、应为它们提供哪些资源,还有其他类似的配置细节。

预期状态由清单组成的配置文件定义,清单是 JSON 或 YAML 文件,用于声明要运行的应用类型,以及运行健康系统所需的副本数量。

集群的预期状态通过 Kubernetes API 定义。这可以通过命令行(使用 kubectl)实现,也可以通过使用 API 与集群交互以设置或修改您的预期状态。

Kubernetes 会自动管理您的集群,以匹配预期状态。举个简单的例子,假设您部署了一个应用,它的预期状态为“3”,这意味着该应用应有三个副本处于运行状态。如果这些容器中有一个发生崩溃,Kubernetes 就会看到只有两个副本在运行,那么它会再增加一个副本以满足预期状态。

您还可以使用 Kubernetes 模式根据负载自动管理集群的规模。 

Kubernetes 集群与节点和 Pod 之间有何关系?

我们将集群定义为一组节点。我们来看看其他几个有助于理解集群用途的 Kubernetes 术语。

  • 控制平面:控制 Kubernetes 节点的进程集合。所有任务分配都从这里开始。
  • 节点:这些计算机执行控制平面分配的请求任务。
  • Pod:部署到单个节点的由一个或多个容器组成的集合。Pod 是最小且最简单的 Kubernetes 对象。
  • 服务:一种将一组 pod 上运行的应用作为网络服务公开的方式。这会将工作定义与 pod 分离开来。
  • 卷:一个包含数据的目录,可供 pod 中的容器访问。Kubernetes 卷的生命周期与其所属 Pod 的生命周期相同。卷的寿命比 pod 内运行的任何容器都要长,且当容器重启时,数据会得以保留。
  • 命名空间:一种虚拟集群。命名空间允许 Kubernetes 在同一物理集群内管理多个集群(针对多个团队或项目)。

认识七位利用红帽技术实现创新的客户

Kubernetes 集群管理是指 IT 团队如何管理一组 Kubernetes 集群。

随着现代云原生应用的发展,Kubernetes 环境变得高度分散化。它们可以部署到多个本地数据中心,也可以部署到公共云和边缘。

为了规模化使用或在生产环境中使用 Kubernetes,一些企业组织会部署多个集群,例如用于开发、测试和生产,这些集群分散在多个环境中,需要高效地进行管理。

进一步了解如何管理 Kubernetes 集群

Kubernetes 集群管理有哪些优势?

通过有效管理 Kubernetes 集群,可以实现容器化应用部署、扩展和运营自动化,从而彻底改变企业组织交付软件的方式。

主要优势包括:

  • 提高可扩展性:根据需求即时扩展或缩减应用。为了应对流量高峰或在非高峰时段节省成本,该集群会自动调整您的工作负载。
  • 增强弹性:Kubernetes 会持续监控容器和节点的健康状况,以保持高可用性。如果容器发生崩溃或出现硬件故障,Kubernetes 会自动重启或替换该容器,以确保零停机。
  • 资源利用率高:Kubernetes 会评估工作负载的 CPU 和内存需求,并将它们分配到合适的节点上,从而最大限度地提高基础架构利用率并最大限度地减少浪费。
  • 支持 DevOps 和 CI/CD:Kubernetes 具有声明式特性,允许将基础架构视为代码,无缝集成到 CI/CD 管道中,以实现测试、部署和发布的自动化,同时确保 DevOps 团队能够以更快的速度和更高的敏捷性进行协作。

红帽是开源容器技术(包括 Kubernetes)的领导者和积极构建者,我们创建的一些基本工具可以帮助您保护、简化和自动更新容器基础架构。 

红帽® OpenShift® 是一个统一平台,可用于大规模构建、部署应用,并对应用进行现代化改造。借助红帽 OpenShift,团队可以获得一个专门面向运营和开发团队的统一集成平台。对开发人员友好的工作流,包括内置 CI/CD 管道以及源至镜像功能,使您能够直接从应用代码生成容器。红帽 OpenShift 基于 Kubernetes 构建,提供一整套服务,助您更智能、更高效地工作,并在您选择的基础架构上将应用推向市场。 

除了 OpenShift 外,您还可以将红帽高级集群管理和红帽 Ansible® 自动化平台结合使用,跨区域(包括公共云、本地和边缘环境)高效部署和管理多个 Kubernetes 集群

了解红帽如何帮助您构建和自动化混合环境

 

红帽 Kubernetes 高级集群管理 | 产品试用

获得对 Kubernetes 集群的端到端可见性和控制权。

扩展阅读

什么是容器编排?

容器编排可实现容器部署、管理、扩展和网络连接自动化。

什么是 Kubernetes Operator?

Kubernetes Operator 是一种通过扩展 Kubernetes API 的功能来打包、部署和管理应用的方法。

什么是 Kubernetes?

Kubernetes 是一个容器编排平台,可以省去部署和扩展容器化应用过程中涉及的许多手动操作。

容器 相关资源

相关文章