当前位置: 首页 > news >正文

k8s一些名词解释

潮汐计算

是一种根据负载变化动态调整资源分配的计算模式。其核心思想是利用峰值和非峰值时段的资源需求差异,动态地扩展或缩减计算资源。在 Kubernetes 环境中,可以通过自动扩展(auto-scaling)机制,根据工作负载的变化自动调整计算资源,最大化资源利用率并减少不必要的资源开销。

配置 Kubernetes 的 Horizontal Pod Autoscaler(HPA)和 Vertical Pod Autoscaler(VPA),根据负载变化动态扩展或缩减 Pod 数量和资源配额。
使用 Kubernetes 的 Cluster Autoscaler,根据集群中的资源需求自动调整节点数量。

在、离混部(在线和离线混合部署)

在、离混部(在线和离线混合部署)是一种在同一计算集群中同时运行在线服务和离线任务的资源管理策略。它的主要目的是提高资源利用率和降低成本。在实际项目中,这种策略可以应用于大数据处理的场景,例如将实时数据处理(在线)和批量数据处理(离线)混合在一个 Kubernetes 集群中运行。以下是一个详细的例子说明:

项目背景

假设我们有一个电商平台,需要处理大量的用户行为数据。这些数据需要被实时分析来支持在线推荐系统(在线服务),同时也需要定期进行批量处理来生成用户画像和销售报告(离线任务)。

部署架构

  1. 实时处理(在线服务)

    • 使用 Apache Flink 进行实时数据流处理,分析用户的实时行为数据,并生成在线推荐结果。
    • Flink 作业需要低延迟和高可用性,因此需要保证实时处理服务的稳定运行。
  2. 批量处理(离线任务)

    • 使用 Apache Spark 进行批处理作业,每天处理大量历史数据,生成用户画像和销售报告。
    • Spark 作业是周期性的,可以在系统负载较低时运行。

实现步骤

  1. 容器化应用

    • 将 Flink 和 Spark 分别打包成 Docker 镜像。
  2. 部署到 Kubernetes

    • 使用 Kubernetes 的 Deployment 来部署 Flink 作业,使其能够持续运行,处理实时数据流。
    • 使用 Kubernetes 的 CronJob 来部署 Spark 批处理作业,使其每天在特定时间运行。
  3. 混合调度配置

    • 配置 Flink 和 Spark 的资源请求和限制
  4. 配置优先级和调度策略

    • 设置在线服务(Flink)的优先级高于离线任务(Spark),以确保实时处理的稳定性。

      apiVersion: scheduling.k8s.io/v1
      kind: PriorityClass
      metadata:name: high-priority
      value: 1000000
      globalDefault: false
      description: "This priority class is used for high priority workloads."
      
    • 在 Flink Deployment 和 Spark CronJob 中指定优先级:

      spec

相关文章:

  • 240717.LeetCode——2974.最小数字游戏
  • 数据结构day2
  • 【区块链 + 智慧政务】涉税行政事业性收费“e 链通”项目 | FISCO BCOS应用案例
  • Golang | Leetcode Golang题解之第234题回文链表
  • Qt Style Sheets-样式表语法
  • vue检测页面手指滑动距离,执行回调函数,使用混入的语法,多个组件都可以使用
  • 微信小程序与本地MySQL数据库通信
  • 2024.7.17 ABAP面试题目总结
  • Hadoop-34 HBase 安装部署 单节点配置 hbase-env hbase-site 超详细图文 附带配置文件
  • .NET Framework、.NET Core 、 .NET 5、.NET 6和.NET 7 和.NET8 简介及区别
  • 3D问界—MAYA制作铁丝栅栏(透明贴图法)
  • 用Python轻松批量生成Word合同:解放双手,喝口咖啡就搞定!☕
  • 【Karapathy大神build-nanogpt】Take Away Notes
  • Android 12系统源码_存储(二)StorageManager类介绍
  • MySQL数据库慢查询日志、SQL分析、数据库诊断
  • [LeetCode] Wiggle Sort
  • Consul Config 使用Git做版本控制的实现
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • Git初体验
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • JDK9: 集成 Jshell 和 Maven 项目.
  • php的插入排序,通过双层for循环
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • SpiderData 2019年2月13日 DApp数据排行榜
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • Vue 重置组件到初始状态
  • yii2权限控制rbac之rule详细讲解
  • 分享一份非常强势的Android面试题
  • 高性能JavaScript阅读简记(三)
  • 简单实现一个textarea自适应高度
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 提醒我喝水chrome插件开发指南
  • 2017年360最后一道编程题
  • # Kafka_深入探秘者(2):kafka 生产者
  • (02)vite环境变量配置
  • (11)MATLAB PCA+SVM 人脸识别
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (20)docke容器
  • (42)STM32——LCD显示屏实验笔记
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (php伪随机数生成)[GWCTF 2019]枯燥的抽奖
  • (poj1.2.1)1970(筛选法模拟)
  • (poj1.3.2)1791(构造法模拟)
  • (STM32笔记)九、RCC时钟树与时钟 第二部分
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (六)Hibernate的二级缓存
  • (十)Flink Table API 和 SQL 基本概念
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)h264中avc和flv数据的解析
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • .NET CLR基本术语
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .Net MVC4 上传大文件,并保存表单
  • .Net 基于.Net8开发的一个Asp.Net Core Webapi小型易用框架