CI/CD(五)Flink 应用部署

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: Flink 应用需要解决的是任务的灵活增加(通常以 maven module 的方式存在同一个git仓库中),不能依赖手工注册应用或.polaris-ci.yml自动注册

环境

代码托管:gitlab
CI:tekton
CD: tekton
pipline/task: 阿里云 serverless容器(spot实例且按秒计费)
应用:K8S

Flink 应用需要解决的是任务的灵活增加(通常以 maven module 的方式存在同一个git仓库中),不能依赖手工注册应用或.polaris-ci.yml自动注册
我的做法是以部署场景的方式指定模板并与仓库绑定,实现应用在操作时自动判断是否存在并自动注册;通过飞书卡片交互完成整个过程

工作流程

Polaris Flink.jpg

接入流程

应用如果为初此接入,build时会以交互式的方式提醒完成集群绑定,完成自动注册
各部门的flink仓库及其它编译构建参数已以场景的方式提前定义好,因此新的flink任务接入时只需要确认下是部署到哪个K8S集群
flink-build.png
choice_cls copy.png

构建过程

镜像交付,选择分支,进行java编译及镜像构建
choice_branch.png
flink_building.png
flink_docker_build.png
flink部署提醒.png

部署过程

部署过程中会判断是否已有版本在运行,如何在运行中,会先获取checkpoint并停掉任务(优化或强制)
获取到的checkpint地址会自动填充在飞书卡片中,由负责人自行决定是否使用该版本

部署成功后,会将对应的访问地址打印在卡片上,便于访问
flink部署确认.png
flink_checkpoint确认.png
flink_部署任务提交.png
flink_cmd_run.png
flink_部署成功提醒.png

停止任务

flink停止任务.png

启动任务

该操作会先选择目标版本,再进行停、checkpoint确认、起
如果只是想对任务进行重启,该操作会同build一样先停止(并获取checkpoint),再提示部署;并不需要单独进行stop
flink-start-cmd.png
flink_start_choice_ver.png
flink-start-success.png

切换集群

应用场景:版本升级、换部署集群、迁云等场景
choice_cls.png

相关实践学习
基于Hologres+Flink搭建GitHub实时数据大屏
通过使用Flink、Hologres构建实时数仓,并通过Hologres对接BI分析工具(以DataV为例),实现海量数据实时分析.
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
CI/CD(六)模型训练发布-追数场景
训练的场景比较特殊,在没有自动化之前是人工部署、依赖运维调整机器配置、凭记忆不定时去查看日志和监控确认训练进度,训练完成后再联系运维释放机器,现通过全自助选择训练规格、自动化部署、每日自动提醒、一键结束训练并回收资源
134 19
flink cdc 同步问题之如何同步多张库表
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。
【赵渝强老师】数据库不适合Docker容器化部署的原因
本文介绍了在Docker中部署MySQL数据库并实现数据持久化的方法,同时分析了数据库不适合容器化的原因。通过具体步骤演示如何拉取镜像、创建持久化目录及启动容器,确保数据安全存储。然而,由于数据安全性、硬件资源争用、网络带宽限制及额外隔离层等问题,数据库服务并不完全适合Docker容器化部署。文中还提到数据库一旦部署通常无需频繁升级,与Docker易于重构和重新部署的特点不符。
245 18
【赵渝强老师】数据库不适合Docker容器化部署的原因
Kubernetes 驱动的 IaC,Crossplane 快速入门
Crossplane 是一个开源的 Kubernetes 扩展工具,允许用户通过声明式配置直接在 Kubernetes 中管理云资源。对于阿里云开发者,借助 Crossplane 和官方提供的 provider-upjet-alibabacloud,可以像管理 Pod 一样轻松操作 ECS 实例、VPC 和 OSS Bucket 等资源。本文介绍了 Crossplane 的核心概念,并通过快速入门指南演示了如何安装 Crossplane、配置阿里云认证并创建第一个 VPC 资源。
313 40
容器技术 20 年:颠覆、重构与重塑软件世界的力量
从 20 世纪硬件虚拟化的笨重,到操作系统虚拟化的轻量探索,容器技术历经蜕变。2013 年 Docker 横空出世,以 “一次构建,到处运行” 的创举打破环境壁垒,开启容器黄金时代。随后,Docker Compose、Kubernetes、Istio 等技术相继涌现,从多容器管理到集群编排,再到微服务治理,不断突破应用部署与运维的边界。如今,容器与 DevOps 深度融合,Serverless 架构异军突起,共同重塑软件开发生态。本文将带你穿越容器技术发展的关键节点,揭秘其如何以颠覆性力量推动云计算与数字化。
300 63
Dockerfile中小型企业实战指南
本文档旨在为中小企业提供一份 实用、易懂 的 Dockerfile 实践指南。我们深知中小企业在技术标准化、快速迭代和资源有效利用方面的需求,因此本教程将涵盖从基础概念到进阶实战的多层次 Docker 镜像构建方法,重点关注如何在有限资源下,通过规范的 Dockerfile 来提升开发、测试和部署效率。无论您是初学者还是有一定经验的开发者、运维人员,都能从中获益,快速掌握不同场景下的镜像制作和优化技巧,最终构建出 安全、高效、轻量且易于维护 的容器镜像。
145 5
基于虚拟服务配置的渐进式迁移实践:Istio集群至ASM集群的平滑切换
本文介绍了从Istio+k8s环境迁移到阿里云ASM+ACK环境的渐进式方法,通过配置虚拟服务和入口服务实现新老集群间的服务调用与流量转发,确保业务连续性与平滑迁移
735 133
Docker——阿里云服务器利用docker搭建redis集群
本文详细记录了使用Docker搭建Redis集群的过程,包括检查Docker和Docker Compose的安装、创建Redis配置文件、编写`docker-compose.yml`文件、启动Redis节点、创建Redis集群的具体步骤,以及最终的验证方法。文章还提供了在多服务器环境下搭建Redis集群的注意事项,帮助读者全面了解 Redis 集群的部署流程。
586 71
容器云服务是什么?
容器云基于容器技术,实现应用及其依赖的标准化封装,支持跨平台快速部署和高效管理。与传统虚拟机相比,容器共享宿主机操作系统内核,资源占用少、启动快,但隔离性稍弱。Docker Engine通过Dockerfile定义应用环境并生成容器镜像,适合单机场景;Kubernetes作为行业标准编排工具,支持自动扩缩容和服务发现,适用于大规模集群管理;OpenShift提供企业级全流程平台,满足合规要求;Rancher简化多云环境下的Kubernetes管理;CoreOS Tectonic专注于安全性,适用于高安全需求领域。容器云正朝着无服务器化、智能运维和边缘协同等方向发展。
346 2
Docker——阿里云服务器使用Docker部署python项目全程小记
本文记录了我在阿里云服务器上使用Docker部署python项目(flask为例)的全过程,在这里记录和分享一下,希望可以给大家提供一些参考。
526 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问