通过ACK 节点池高效管理Kubernetes节点——功能介绍

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 前言 云原生,被认为是释放云原生红利的最短路径,而以kubernetes 已成为云原生技术领域的事实标准。基于kubernetes构建的容器应用平台和过去基于虚机平台最大的不同,就是kubernetes屏蔽了底层环境的复杂和不一致,帮助研发通过应用的视角管理业务。 如何统一异构资源,高效地管理资源,利用云上弹性能力应对峰值流量与节省成本,每位kubernetes 运维人员都将面临的挑战。 AC

前言

云原生,被认为是释放云原生红利的最短路径,而以kubernetes 已成为云原生技术领域的事实标准。基于kubernetes构建的容器应用平台和过去基于虚机平台最大的不同,就是kubernetes屏蔽了底层环境的复杂和不一致,帮助研发通过应用的视角管理业务。 如何统一异构资源,高效地管理资源,利用云上弹性能力应对峰值流量与节省成本,每位kubernetes 运维人员都将面临的挑战。

ACK 团队推出节点池功能,通过节点池视角分组管理,帮助用户更加高效地管理Kubernetes 集群节点。

 

目录

节点池系列将分为几部分介绍ACK Kubernetes 节点池功能和特性

  • 通过ACK 节点池高效管理Kubernetes节点——功能介绍
  • 通过ACK 节点池高效管理Kubernetes节点——多场景支持:通过节点池管理边缘,混合云集群节点
  • 通过ACK 节点池高效管理Kubernetes节点——降低成本:自动弹性伸缩与抢占实例
  • 通过ACK 节点池高效管理Kubernetes节点——托管节点池:无人工介入的节点自愈恢复托管节点池——节点自愈恢复
  • 通过ACK 节点池高效管理Kubernetes节点——托管节点池:设置维护窗口与自动升级

 

什么是节点池

节点池,顾名思义,通过池话的方式,一个节点池代表一组具有相同特性和配置的节点。 用户可以通过节点池为节点分组管理,批量操作,动态伸缩。

 

面临挑战

Kubernetes 本质是一个分布式操作系统,分布式环境本身充满了不确定性,在云上运维一个大规模kubernetes集群节点,会面临以下挑战:

  • 管理成本:当Kubernetes 集群规模扩张,节点数随之增长,虽然有terraform 之类的工具可以帮助我们自动化管理,但是当面临成千上万的节点,点对点操作会给运维人员带来极大的运维和管理成本。
  • 节点配置复杂度:随着越来越多种类业务逐步运行在kubernetes ,针对不同类型业务,节点的配置要求也不尽相同,一个节点涉及资源配置(节点规模,交换机,资源组等)和软件配置(kubelet 参数,自定义配置脚本,运行时等)有20多项,每一次扩容都面对复杂的表单,既不稳定也不高效。
  • 运维效率:得利于容器的标准化环境和云上按需付费,近似无限的资源池相结合,通过弹性能力我们能够为业务按需扩容和缩容集群节点,降本成效。而弹性能力是否能够充分发挥作用,弹性效率是决定因素。
  • 扩容成功率:当弹性成为常态,节点的运维操作(扩容,缩容,排水,升级)是否足够稳定,随着规模增加,任何单次操作的不稳定都会随着节点规模成指数增长。

 

设计目标

节点分组化管理运维,提高管理效率

节点管理的挑战,本质上是我们如何在有限范围内,应对被管理对象的多样性(节点配置不同)和数量(节点规模增长)变化带来的管理成本。 多样性的增长会给管理者带来复杂度的提升,而数量增长会加剧复杂度墒增,并影响管理者命令的执行效率。

“计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决”,而节点池就是在集群和节点之间的抽象中间层。

通过创建多个节点池来描述集群内异构节点的多样性,在节点池分布中,可以清晰看到集群中有哪些类型的节点以及数量分布。管理员无需关心具体节点实例的配置,只需关注集群中有限的节点池,通过节点池的数量调整实现节点的增减。进行基本节点操作(扩缩容,升级,编辑,删除)时,基于节点池进行操作下发比直接下发节点更加方便。

 

除了基本操作,管理员可以根据业务需求划分为不同节点池,给不同节点池中的节点打上label和taint,部署应用时通过nodeSelector和toleration 实现应用指定节点池部署。

 

节点配置模板化,降低配置复杂度

随着云上容器化业务逐渐复杂,为了支撑好多种业务场景,节点配置也越来越多,在ACK中扩容一个节点包含20多个配置项。 由于节点池抽象描述了一组同构节点的配置。

节点池配置:

  • 资源配置
    • 付费类型
    • 交换机
    • 实例规格
    • 数据盘
    • 操作系统
    • 登陆方式,密码 / 密钥对
    • ...
  • 软件配置
    • 容器运行时
    • Labels
    • Taints
    • 云监控插件安装
    • 自定义kubelet 参数
    • ....

 

将节点涉及的资源层和软件层配置通过节点池的元数据模板化,在创建节点池时填写相关的配置项,后续扩容节点时只需指定对应的节点池并输入扩容数量即可,无需重复填写对应的节点配置内容。

 

节点伸缩能力优化

此外相比过去直接操作节点,节点池对节点的伸缩操作做了许多优化。

  • 集成云产品服务,ACK将节点伸缩创建集成了弹性伸缩服务(ESS)。
    • 支持选择多种规格,当某规格库存不足创建失败时可自动重试其他规格。
    • 支持多可用区,实现多可用区均衡分布
  • 优化管控测的批量查询和操作效率,一个完整节点伸缩所耗时间压缩到3分钟。极速模式
  • 配置模板化,减少了伸缩过程中对配置项逐一校验的时间开销

 

总结

ACK通过引入节点池,作为集群与节点之间的抽象,提供分组管理和运维的能力,通过节点池管理节点有以下优势:

  • 分组管理,面对大规模集群节点时提高管理效率
  • 配置模板化,无需每次扩容时重复填写配置
  • 支持批量管理labels和taint,应用指定分组调度
  • 集成ess 优化扩缩容的运行效率和成功率。

同时,除了云上ESS以外,通过节点池能够扩展更多场景的节点类型,例如云上自动弹性,边缘节点,混合云线下弹线上等等,会在接下来的系列中详细介绍。

 

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
2月前
|
Kubernetes 开发工具 Docker
微服务实践k8s与dapr开发部署实验(2)状态管理
微服务实践k8s与dapr开发部署实验(2)状态管理
68 3
微服务实践k8s与dapr开发部署实验(2)状态管理
|
3天前
|
存储 弹性计算 运维
阿里云容器服务Kubernetes版(ACK)部署与管理体验评测
阿里云容器服务Kubernetes版(ACK)是一个功能全面的托管Kubernetes服务,它为企业提供了快速、灵活的云上应用管理能力。
67 1
|
15天前
|
Kubernetes 算法 API
K8S 集群认证管理
【6月更文挑战第22天】Kubernetes API Server通过REST API管理集群资源,关键在于客户端身份认证和授权。
|
2月前
|
弹性计算 Kubernetes 监控
【阿里云弹性计算】阿里云 ECS 与 Kubernetes 集成:轻松管理容器化应用
【5月更文挑战第28天】阿里云ECS与Kubernetes集成,打造强大容器管理平台,简化应用部署,实现弹性扩展和高效资源管理。通过Kubernetes声明式配置在ECS上快速部署,适用于微服务和大规模Web应用。结合监控服务确保安全与性能,未来将深化集成,满足更多业务需求,引领容器化应用管理新趋势。
216 2
|
19天前
|
Kubernetes API 调度
Pod无法调度到可用的节点上(K8s)
完成k8s单节点部署后,创建了一个pod进行测试,后续该pod出现以下报错: Warning FailedScheduling 3h7m (x3 over 3h18m) default-scheduler 0/1 nodes are available: 1 node(s) had untolerated taint {node-role.kubernetes.io/control-plane: }. preemption: 0/1 nodes are available: 1 Preemption is not helpful for scheduling..
68 0
|
21天前
|
SQL Kubernetes 数据处理
实时计算 Flink版产品使用问题之在 flink-conf.yaml 中定义的配置在某些情况下未被正确应用到 K8s 上运行的任务管理器(JobManager)和任务管理节点(TaskManager),是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2月前
|
存储 运维 分布式计算
分布式云容器平台ACK One概述
分布式云容器平台ACK One概述
76 2
|
2月前
|
存储 Kubernetes 监控
容器服务 Kubernetes 版 ACK功能特性
分布式云容器平台ACK One(Distributed Cloud Container Platform for Kubernetes)是阿里云面向混合云、多集群、分布式计算、容灾等场景推出的企业级云原生平台。ACK One可以连接并管理您任何地域、任何基础设施上的Kubernetes集群,并提供一致的管理和社区兼容的API,支持对计算、网络、存储、安全、监控、日志、作业、应用、流量等进行统一运维
56 1
|
2月前
|
存储 弹性计算 Kubernetes
【阿里云云原生专栏】深入解析阿里云Kubernetes服务ACK:企业级容器编排实战
【5月更文挑战第20天】阿里云ACK是高性能的Kubernetes服务,基于开源Kubernetes并融合VPC、SLB等云资源。它提供强大的集群管理、无缝兼容Kubernetes API、弹性伸缩、安全隔离及监控日志功能。用户可通过控制台或kubectl轻松创建和部署应用,如Nginx。此外,ACK支持自动扩缩容、服务发现、负载均衡和持久化存储。多重安全保障和集成监控使其成为企业云原生环境的理想选择。
246 3
|
边缘计算 弹性计算 运维
通过ACK 节点池高效管理Kubernetes节点——线上,边缘,弹性多种场景
节点池场景扩展 前言 前面我们介绍了如何通过ACK 节点池管理云上节点资源,以及通过节点池解决的问题。 本文我们介绍通过节点池能够实现的各种场景。   目录 节点池系列将分为几部分介绍ACK Kubernetes 节点池功能和特性 通过ACK 节点池高效管理Kubernetes节点——节点池介绍 通过ACK 节点池高效管理Kubernetes节点
608 0
通过ACK 节点池高效管理Kubernetes节点——线上,边缘,弹性多种场景