K8s 集群是什么?
Kubernetes 集群是一组用于运行容器化应用的节点计算机。如果您正在运行 Kubernetes,那么您运行的其实就是集群。
集群至少包含一个控制平面,以及一个或多个计算机器或节点。控制平面负责维护集群的预期状态,例如运行哪个应用以及使用哪个容器镜像。节点则负责应用和工作负载的实际运行。
集群是 Kubernetes 的核心优势:能够在内部或云端跨一组机器(无论是物理机还是虚拟机)调度和运行容器。Kubernetes 容器不受单个计算机的限制。相反,它们是跨整个集群进行抽象。
如何使用 Kubernetes 集群?
Kubernetes 集群会有预期状态,它定义了应运行哪些应用或其他工作负载、应使用哪些镜像、应提供哪些资源,以及其他诸如此类的配置详情。
预期状态是由配置文件定义的,而后者由 JSON 或 YAML 等清单文件组成,这些文件用于声明要运行的应用类型以及运行一个正常系统所需的副本数。
集群的预期状态将通过 Kubernetes API 进行定义。您可以从命令行(使用 kubectl)完成此操作,也可以使用 API 与集群进行交互,以设置或修改预期状态。
Kubernetes 会自动管理您的集群,以匹配预期状态。举一个简单的例子,假设您部署一个预期状态为“3”的应用,这意味着要运行该应用的 3 个副本。如果这些容器中有 1 个发生崩溃,Kubernetes 就会看到只有 2 个副本在运行,那么它会再增加 1 个副本以满足预期状态。
此外,您还可以根据负载情况,使用 Kubernetes 模式来自动管理集群的规模。
红帽资源
K8s 集群相关术语盘点
我们将集群定义为一组节点。我们来看看其他一些 Kubernetes 术语,这会有助于我们理解集群的用途。
控制平面(Control Plane):控制 Kubernetes 节点的进程的集合。所有任务分配都来自于此。
节点(Node):这些机器负责执行由控制平面分配的请求任务。
容器集(Pod):部署到单个节点上且包含一个或多个容器的容器组。容器集是最小、最简单的 Kubernetes 对象。
服务(Service):一种将运行于一组容器集上的应用开放为网络服务的方法。它将工作定义与容器集分离。
卷(Volume):一个包含数据的目录,可供容器集内的容器访问。Kubernetes 卷与所在的容器集具有相同的生命周期。卷的生命周期要长于容器集内运行的所有容器的生命周期,并且在容器重新启动时会保留相应的数据。
命名空间(Namespace):一个虚拟集群。命名空间允许 Kubernetes 管理同一物理集群中的多个集群(针对多个团队或项目)。
什么是 Kubernetes 集群管理?
从现代云原生应用诞生后,Kubernetes 环境变得高度分散化。它们可以部署到多个内部数据中心,也可以部署到公共云和边缘。
为了规模化使用或在生产环境中使用 Kubernetes,一些企业会部署多个集群,例如用于开发、测试和生产,这些集群分散在多个环境中,需要高效地进行管理。
所谓 Kubernetes 集群管理,就是 IT 团队如何管理一系列 Kubernetes 集群。
Kubernetes:为什么选择红帽 OpenShift?
红帽是开源容器技术(包括 Kubernetes)的领导者和积极构建者,我们创建的一些基本工具可以帮助您保护、简化以及自动更新容器基础架构。
红帽® OpenShift® 是一个企业级 Kubernetes 版本。借助红帽 OpenShift,您可以为运维和开发团队提供一个集成平台。红帽 OpenShift 可为开发人员提供他们所选的语言、框架、中间件和数据库,并可通过 CI/CD 来构建和部署自动化,以提高生产力。
在 OpenShift 的基础上构建,您可以结合使用红帽高级集群管理和红帽 Ansible® 自动化平台,跨区域(包括公有云、本地和边缘环境)高效部署和管理多个 Kubernetes 集群。
红帽官方博客
获取有关我们的客户、合作伙伴和社区生态系统的最新信息。