flink operator v1.10部署flink v1.19.2

devtools/2025/2/24 21:35:30/

1 概述

flink集群能对接kubernetes、yarn等集群管系统,本文介绍flink对接kubernetes。
flink kubernetes operator(网址:https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-release-1.10/docs/concepts/overview/)可帮助你在kubernetes中管理flink集群、提交flink任务等,而你为此只需要认识一些kubernetes CR。

flink kubernetes operator的架构如下:

在这里插入图片描述

2 环境准备

2.1 华为云kubernetes集群

准备一个kubernetes集群,如下图所示:
在这里插入图片描述

flink_operator_helm_13">2.2 flink operator helm包下载地址

https://downloads.apache.org/flink/flink-kubernetes-operator-1.10.0/flink-kubernetes-operator-1.10.0-helm.tgz

2.3 cert-manager yaml文件下载地址

https://github.com/jetstack/cert-manager/releases/download/v1.17.2/cert-manager.yaml

flink_25">2.4 准备flink应用示例

https://github.com/apache/flink/tree/master/flink-examples

将示例的代码编译成jar包,再上传到对象存储OBS,如下图所示:
在这里插入图片描述


这些jar包存在独立的服务器上,flink operator可以通过HTTP协议拉取jar包,最终提交给flink集群。

3 部署

3.1 安装cert-manager

此组件是flink operator webhook的一个依赖,因此先安装它。

cd /tmp
wget https://github.com/jetstack/cert-manager/releases/download/v1.17.1/cert-manager.yaml
kubectl apply -f cert-manager.yaml

在这里插入图片描述

3.2 安装helm二进制工具

cd /tmp
wget https://get.helm.sh/helm-v3.16.2-linux-amd64.tar.gz
tar xf helm-v3.16.2-linux-amd64.tar.gz
cd linux-amd64
/bin/cp -f helm /usr/bin/
helm env

flink_operator_55">3.3 部署flink operator

下载fink operator的helm包,解压文件,最后通过helm命令将它部署在flink namespace中。

cd /tmp
wget https://downloads.apache.org/flink/flink-kubernetes-operator-1.10.0/flink-kubernetes-operator-1.10.0-helm.tgz
tar xf flink-kubernetes-operator-1.10.0-helm.tgz
helm upgrade --install flink-operator -n flink --create-namespace \
--set image.repository=swr.cn-south-1.myhuaweicloud.com/migrator/flink-kubernetes-operator \
--set image.tag=1.10.0 \
./flink-kubernetes-operator/

在这里插入图片描述

flink_session_72">3.4 部署flink session集群

将下面一个FlinkDeployment资源提交到kubernetes集群即可,只需要描述flink集群的镜像,jobmanager和taskmanager的资源配额。

apiVersion: flink.apache.org/v1beta1
kind: FlinkDeployment
metadata:name: flink-session-clusternamespace: flink
spec:image: swr.cn-south-1.myhuaweicloud.com/migrator/flink:1.19flinkVersion: v1_19flinkConfiguration:jobManager:resource:memory: "2048m"cpu: 2taskManager:resource:memory: "2048m"cpu: 2serviceAccount: flink

在这里插入图片描述

flink_session_96">3.5 负载均衡器暴露flink session集群

在控制台创建ingress资源即可:
在这里插入图片描述

flink_102">4 提交flink应用

将FlinkSessionJob资源提交到kubernetes集群中即可。deploymentName指向刚刚新建的flink集群(deployment名称就是CR的名称)。

apiVersion: flink.apache.org/v1beta1
kind: FlinkSessionJob
metadata:name: basic-session-job-examplenamespace: flink
spec:deploymentName: flink-session-clusterjob:jarURI: https://你的服务器地址/StateMachineExample.jarparallelism: 1

提交后,查看flink operator的日志,可以发现控制器协调成功:

o.a.f.k.o.r.d.AbstractFlinkResourceReconciler [INFO ][flink/basic-session-job-example] Resource fully reconciled, nothing to do...

登录浏览器查看flink集群,可见任务正常运行:
在这里插入图片描述

5 小结

通过提交kubernetes CR,来完成flink集群的创建、flink任务的管理等,这就是flink kubernetes operator的价值。


http://www.ppmy.cn/devtools/161439.html

相关文章

骁勇善战的量化利器:多因子模型【量化理论】

我叫补三补四,很高兴见到大家,欢迎一起学习交流和进步 今天来讲一讲alpha策略制定后的测试问题 风险模型雏形 股票因子受多种因素影响,其价格由多种因素决定,所谓的多因子策略就是要发掘诸如此类的因子,以一种合理的方…

鸿蒙-状态管理V1

目录 前言状态管理V1State装饰器初始化观察能力小坑 Prop装饰器 和 Link装饰器Observed装饰器和ObjectLink装饰器使用示例小结 前言 随着鸿蒙Next的推广,做鸿蒙开发的人是越来越多,提问和寻求帮助的人也是越来越多,就我自己回答的问题而言&a…

C#中级教程(1)——解锁 C# 编程的调试与错误处理秘籍

一、认识错误:编程路上的 “绊脚石” 在 C# 编程中,错误大致可分为两类:语法错误和语义错误(逻辑错误)。语法错误就像是写作文时的错别字和病句,编译器一眼就能识别出来,比如变量名拼写错误、符…

Service Mesh在爱奇艺的落地实践:架构、运维与扩展

在当前的数字化时代,微服务架构已经成为企业技术栈的重要组成部分。然而,随着微服务数量的增加,服务治理的复杂性也随之增长。爱奇艺作为一家领先的在线视频平台,面临着微服务治理的挑战,如缺乏统一治理标准、部署运维…

基于spring boot物流管理系统设计与实现(代码+数据库+LW)

摘 要 社会发展日新月异,用计算机应用实现数据管理功能已经算是很完善的了,但是随着移动互联网的到来,处理信息不再受制于地理位置的限制,处理信息及时高效,备受人们的喜爱。本次开发一套物流管理系统有管理员和用户…

HTML中,title和h1标签的区别是什么?

在 HTML 中,title和h1标签虽然都与文本内容展示相关,但它们的用途、位置和作用有明显的区别,下面为你详细介绍: 1. 用途 title标签:主要用于定义整个 HTML 文档的标题,这个标题通常显示在浏览器的标题栏或…

docker下安装 es 设置账号密码

环境 ElasticSearch版本:7.6.2 步骤 使用docker命令进入es容器 修改es的配置文件:elasticsearch.yml,添加如下配置 xpack.security.enabled: true xpack.license.self_generated.type: basic xpack.security.transport.ssl.enabled: tru…

C++双指针:算法优化的“左右互搏术”与高效问题破解全指南

C双指针:算法优化的“左右互搏术”与高效问题破解全指南 开篇故事:迷宫中的“双人探路策略” 想象两名探险者在迷宫中寻找出口: 快慢指针:一人快速探索死路,另一人稳步记录正确路径。左右指针:两人从两端…