Jump to section

什么是 Kubernetes 集群?

复制 URL

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

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

集群是 Kubernetes 的核心优势:能够在内部或云端跨一组机器(无论是物理机还是虚拟机)调度和运行容器。Kubernetes 容器不受单个计算机的限制。相反,它们是跨整个集群进行抽象。

Kubernetes 集群会有预期状态,它定义了应运行哪些应用或其他工作负载、应使用哪些镜像、应提供哪些资源,以及其他诸如此类的配置详情。

预期状态是由配置文件定义的,而后者由 JSON 或 YAML 等清单文件组成,这些文件用于声明要运行的应用类型以及运行一个正常系统所需的副本数。

集群的预期状态将通过 Kubernetes API 进行定义。您可以从命令行(使用 kubectl)完成此操作,也可以使用 API 与集群进行交互,以设置或修改预期状态。

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

此外,您还可以根据负载情况,使用 Kubernetes 模式来自动管理集群的规模。 

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

控制平面(Control Plane):控制 Kubernetes 节点的进程的集合。所有任务分配都来自于此。

节点(Node):这些机器负责执行由控制平面分配的请求任务。

容器集(Pod):部署到单个节点上且包含一个或多个容器的容器组。容器集是最小、最简单的 Kubernetes 对象。

服务(Service):一种将运行于一组容器集上的应用开放为网络服务的方法。它将工作定义与容器集分离。

卷(Volume):一个包含数据的目录,可供容器集内的容器访问。Kubernetes 卷与所在的容器集具有相同的生命周期。卷的生命周期要长于容器集内运行的所有容器的生命周期,并且在容器重新启动时会保留相应的数据。

命名空间(Namespace):一个虚拟集群。命名空间允许 Kubernetes 管理同一物理集群中的多个集群(针对多个团队或项目)。

从现代云原生应用诞生后,Kubernetes 环境变得高度分散化。它们可以部署到多个内部数据中心,也可以部署到公共云和边缘。

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

所谓 Kubernetes 集群管理,就是 IT 团队如何管理一系列 Kubernetes 集群。 

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

红帽® OpenShift® 是一个企业级 Kubernetes 版本。借助红帽 OpenShift,您可以为运维和开发团队提供一个集成平台。红帽 OpenShift 可为开发人员提供他们所选的语言、框架、中间件和数据库,并可通过 CI/CD 来构建和部署自动化,以提高生产力。

在 OpenShift 的基础上构建,您可以结合使用红帽高级集群管理和红帽 Ansible® 自动化平台,跨区域(包括公有云、本地和边缘环境)高效部署和管理多个 Kubernetes 集群。

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

 

继续阅读

文章

容器与虚拟机

Linux 容器和虚拟机(VM)都是封装型计算环境,里面组合了各种 IT 组件并独立于系统的其余部分。

文章

什么是容器编排?

容器编排是指自动化容器的部署、管理、扩展和联网。

文章

什么是 Linux 容器?

Linux 容器是与系统隔离开的一系列进程,它从单独的镜像运行,并由该镜像提供支持进程所需的全部文件。

详细了解容器

产品

企业级应用平台,包含一系列久经测试的服务,可在您选择的基础架构上将应用推向市场。

相关资源

培训

免费培训课程

"通过红帽来运行容器"技术概述

免费培训课程

容器、Kubernetes 和红帽 OpenShift 技术概述

免费培训课程

利用微服务架构开发云原生应用