登录 / 注册 Account

容器

什么是 Kubernetes 集群?

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

集群中至少包含一个工作节点和一个主节点。主节点负责维护集群的预期状态,例如运行哪个应用以及使用哪个容器镜像。工作节点则负责应用和工作负载的实际运行。

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

如何使用 Kubernetes 集群?

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

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

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

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

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

集群与节点、容器集和其他 Kubernetes 术语之间有何关联?

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

主节点(Master node):控制 Kubernetes 节点的计算机。所有任务分配都来自于此。

工作节点(Worker node):负责执行请求和所分配任务的计算机。由 Kubernetes 主节点负责对工作节点进行控制。

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

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

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

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

为什么要选择红帽 OpenShift 来应用 Kubernetes?

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

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

探索红帽 OpenShift