容器弹性-如何基于自定义指标实现弹性|学习笔记

简介: 快速学习容器弹性-如何基于自定义指标实现弹性

开发者学堂课程【5分钟玩转阿里云容器服务容器弹性-如何基于自定义指标实现弹性】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/1038/detail/15513


容器弹性-如何基于自定义指标实现弹性


内容介绍

一、基于自定义实现弹性 damo


本课内容是容器服务之自定义弹性,通过本课内容,掌握如何基于自定义指标实现弹性。


一、基于自定义实现弹性 damo

这个 damo 将介绍如何将阿里云 Prometheus 指标转换成 HPA 可用的自定义指标,从而为应用提供更加便捷的扩缩机制

1.前提

使用自定义指标弹性的前提是有一个已经正常运行的K8S集群。

image.png

并且集群当中,已经部署好阿里Prometheus 监控组件和阿里云 metrics adapter 组件,关于组件安装,不再赘述,可以参看帮助文档

2. 部署工作负载

接下来,去部署工作负载。首先看工作负载的 yamlyaml 当中包含一个应用和一个 service创建一下。

3. 创建 ServiceMonitor

接下来需要去 ARMS 控制台,创建一个 ServiceMonitor,点击 ARMS 控制台的跳转链接,

image.png

点击 Prometheus 监控下的 Prometheus 实例列表

image.png

请注意左上角,选择和集群所在地域一致的地域。

然后在实例名称当中选择和集群名称一致的实例名称。

image.png

点击进入后,在左侧选择服务发现。

image.png

然后选择配置配置下选择 service monitor 的 tab 页面

image.png

选择添加 service monitor

image.png

service monitor 的 yaml 已经准备好了。这是一个叫 sample- APP 的 service,

image.png

复制过来粘贴到 service monitor,点击确定。

image.png

可以看到已经进行 service monitor 安装

image.png

4. 确认监控状态

接下来确认一下监控状态,点击 Targets 后稍等片刻,如果出现 simple -APP 并且是 up 状态,就说明已经成功在阿里Prometheus 上监控到了所部署的应用。

image.png

刷新页面。可以找到部署的应用的名称的 Target。说明已经在阿里云 Prometheus当中监控到了 simple -APP 的应用。

image.png

5. 修改 matches adapt 配置

接下来需要回到 ack 控制台。需要在集成当中修改 matches adapt 的配置。

image.png

在应用 helm下面找到 matches adapt 组件

image.png

点击更新,修改配置的目是为了把 Prometheus 的指标数据转换成 K8s 的自定义指标下图是已经准备好的相关配置指标,rules下面是转换规则,点击确定。

6.检查转换结果

确定以后需要去确定 Prometheus 的指标是否已经转换成 k8s 的自定义指标。通过 k8s 命令可以查看指标详情

image.png

实际上指标已经转换成功。

7.创建 HPA

下一步创建一个 HPA。后续就可以看到自定义指标在 HPA 下的作用HPA 当中,在 metrics 下面把转换而来的自定义指标写在了里面

后续的扩缩会基于这个指标进行。HPA 现在已经创建好了

image.png

8.更新 service

为了更好的看到效果,对 service 进行一个更新,更新成带有 load balance,以便进行压测,观察现象找到服务然后点击更新。

image.png

选择负载均衡类型,选择公访问就可以了,点击更新

image.png

9. 发验证

外部端点已经有了,用47.111.92.1.8080去进行发验证

image.png

用的发工具是 AB 工具。图中显示压力已经上去了。

通过 HPA 的指令查看,压力测试正常进行,targets 是500,现在是33兆,稍等片刻,压力已经上来了,目前是19293

10. HPA 扩容

然后看一下 HPA,是否进行扩容动作

image.png

HPA 已经扩容 simple-APP 的副本数1扩到了4,当然现在压力还是很高的,按照预期,应该还会继续扩,看到它已经从4扩到了8,最高是10,就不继续往下看了因为已经看到关于自定义指标弹性伸缩的效果

本次的 demo 演示到此结束

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
Docker 容器
Docker学习笔记三:如何运行一个容器?
Docker学习笔记三:如何运行一个容器?
763 0
Docker学习笔记三:如何运行一个容器?
|
存储 算法 C语言
【C++ 迭代器实现 终篇】深入理解C++自定义容器和迭代器的实现与应用
【C++ 迭代器实现 终篇】深入理解C++自定义容器和迭代器的实现与应用
568 0
|
监控 Serverless 文件存储
函数计算产品使用问题之如何确保新建的实例拉取的是最新的自定义容器镜像
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
196 0
|
弹性计算 Prometheus 监控
如何基于容器网络流量指标进行弹性伸缩
【8月更文挑战第13天】基于容器网络流量指标进行弹性伸缩可动态调整资源,提升系统性能与利用率。首先选监控工具如Prometheus,收集并分析网络流量数据。接着定义监控指标及阈值,如入站与出站流量。最后配置如Kubernetes的HPA实现自动化伸缩,并通过测试不断优化策略,确保系统稳定高效运行。
237 3
|
容器
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Group Box的使用及说明
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Group Box的使用及说明
1695 3
|
容器
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Tab Widget的使用及说明
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Tab Widget的使用及说明
2598 2
|
弹性计算 Serverless 调度
《阿里云产品四月刊》—享道出行:容器弹性技术驱动下的智慧出行稳定性实践(3)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
305 1
|
C++ 容器
C++中自定义结构体或类作为关联容器的键
C++中自定义结构体或类作为关联容器的键
197 0
|
存储 弹性计算 运维
Docker数据集与自定义镜像:构建高效容器的关键要素
Docker数据集与自定义镜像:构建高效容器的关键要素
294 8
|
运维 安全 Linux
深入理解Docker自定义网络:构建高效的容器网络环境
深入理解Docker自定义网络:构建高效的容器网络环境
795 6