Kubernetes 集群是一组计算节点(可为虚拟机或物理机),用于运行由 Kubernetes 容器编排平台管理的容器化应用。
云计算为企业带来了诸多优势,包括灵活性、敏捷性、可移植性与成本可控性。但与此同时,云计算环境的管理以及云上应用的交付工作也随之变得更为复杂。Kubernetes 作为一款容器编排平台,能够助力企业化解这些复杂难题。
集群是 Kubernetes 实现功能的架构基础。我们可以将集群视作基础组件,借助这些组件能够实现云应用的快速、可控交付。一个 Kubernetes 集群是一组互联的机器,它们协同工作,构成一个统一的整体。集群由工作节点组成,工作节点作为计算主机,可用于部署、运行和管理容器化应用。工作节点由控制节点进行管理,控制节点会根据可用资源容量以及用户自定义配置,决定容器在哪些工作节点上部署,从而完成容器的调度工作。
脚本会定义容器配置以及运行应用所需的资源,例如持久化存储、服务等。在 Kubernetes 中,Pod 是集群里最小的可部署单元,它会将必须作为一个整体进行管理的多个容器组合在一起。Kubernetes 会创建 Pod 来承载应用实例。一个 Pod 可包含一个或多个应用容器,且这些容器会共享存储、网络信息等资源。
容器的出现简化了云计算。容器会将代码及其所有依赖项打包在一起,确保软件栈无论在何种环境下都能稳定运行。尽管容器实现了应用的独立打包,但同时也带来了管理层面的复杂性。当时的核心挑战,是找到一种能让这些高效、轻量的软件包协同工作的方法。而容器编排技术,正是为简化混合云环境管理而出现的下一代技术演进方向。
如需深入了解容器化技术,可观看视频《容器化技术详解》。
若想获取容器编排的更多背景知识,敬请查看视频《容器编排技术详解》。(ibm.com 外部链接)
Kubernetes 提供了一套开源平台,用于管理容器化工作负载与微服务(ibm.com 外部链接)。借助该平台,开发人员能够通过为容器化应用制定全域统一的标准与规范,消除不同云服务商之间的技术差异。这一平台以容器为核心,可对存储、网络及计算资源进行编排,从而为用户的业务负载提供支撑。
借助 Kubernetes,用户可以专注于开发云应用所需实现的功能,无需再为构建特定平台的适配能力投入精力。而这一能力的实现,正是依托于底层的 Kubernetes 架构。
如需深入了解 Kubernetes 的容器编排功能,可查阅文章《Kubernetes 与 Docker 对比:不是非此即彼》:
Kubernetes 集群是 Kubernetes 的构建组件,也是该平台的架构根基。这种构建式架构设计具备模块化特性,能够为平台赋予高可用性、可扩展性与便捷部署能力。
如今的工作负载对应用与基础设施两层均提出了高可用性要求。Kubernetes 通过在应用和底层基础设施之间构建一层抽象层,实现了工作负载在可用资源上的高效分发。该平台借助持续的节点与容器健康检查机制,防范应用故障的发生。一旦某个容器出现宕机,自愈与副本复制功能会自动对故障进行修复。内置的负载均衡器可将业务负载分配至空闲资源,从而减轻流量激增、高峰或服务中断带来的影响。
这种高效的资源利用模式同样适用于弹性伸缩场景。新增或移除服务器的操作被大幅简化,可实现无缝的水平扩展。自动化伸缩功能会根据预设指标,动态增加运行中的容器数量。副本控制机制则会进行反向调节:当运行的 Pod 数量过多时终止多余实例,数量不足时则启动新的 Pod 补充。
如需深入探究 Kubernetes 的架构原理,可观看以下视频《Kubernetes 技术详解》。
速度对开发人员至关重要。Kubernetes 的设计旨在适应软件的快速构建、测试和发布。新版本或更新版本可通过自动化发布流程完成全量推送。该功能同样适用于金丝雀发布场景,支持新版本与旧版本并行部署运行,在全面投产前验证新版本的可靠性。
随着容器化应用的颗粒度愈发精细、独立性不断增强,监控工作也随之成为一大难题。这一挑战同样延伸至 Kubernetes 集群监控领域。传统监控的核心指标,仅能判断程序、服务或工具处于运行(正常)或宕机(异常)状态。但对于微服务架构而言,这种“非黑即白”的监控方式过于粗糙,毕竟单个功能微服务的宕机,未必会对业务造成实际影响。因此,现代化监控工具必须具备更精细化的状态判别能力,并能与各类异构平台及动态变化的应用实现更深度的集成。
Prometheus 是一款开源的日志、监控及告警工具,专为多云环境的可移植性与动态变化特性设计,能够突破传统监控工具的局限性。它可从 Kubernetes 集群、工作节点及部署任务中采集多维度的丰富指标数据。Prometheus 采用键值对格式,与 Kubernetes 的元数据组织方式高度适配。同时,该工具支持定期拉取数据并自动发现监控目标,非常适用于应对生命周期短暂的临时工作负载。
Red Hat OpenShift on IBM Cloud 是一个完全托管的 OpenShift 容器平台 (OCP)。
容器解决方案能够运行和扩展容器化工作负载,并实现安全性、开源创新和快速部署。
利用 IBM 的云咨询服务发掘新功能并提升业务敏捷性。了解如何通过混合云战略和专家合作共同制定解决方案、加快数字化转型并优化性能。