flink operator v1.10部署flink v1.19.2

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集群,如下图所示:

复制代码
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

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

下载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/

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

复制代码
apiVersion: flink.apache.org/v1beta1
kind: FlinkDeployment
metadata:
  name: flink-session-cluster
  namespace: flink
spec:
  image: swr.cn-south-1.myhuaweicloud.com/migrator/flink:1.19
  flinkVersion: v1_19
  flinkConfiguration:
  jobManager:
    resource:
      memory: "2048m"
      cpu: 2
  taskManager:
    resource:
      memory: "2048m"
      cpu: 2
  serviceAccount: flink

在控制台创建ingress资源即可:

4 提交flink应用

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

复制代码
apiVersion: flink.apache.org/v1beta1
kind: FlinkSessionJob
metadata:
  name: basic-session-job-example
  namespace: flink
spec:
  deploymentName: flink-session-cluster
  job:
    jarURI: https://你的服务器地址/StateMachineExample.jar
    parallelism: 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的价值。

相关推荐
藦卡机器人8 小时前
中国工业机器人发展现状
大数据·人工智能·机器人
Simon_lca9 小时前
突破合规瓶颈:ZDHC Supplier to Zero(工厂零排放 - 进阶型)体系全攻略
大数据·网络·人工智能·分类·数据挖掘·数据分析·零售
黄焖鸡能干四碗11 小时前
网络安全建设实施方案(Word文件参考下载)
大数据·网络·人工智能·安全·web安全·制造
云境筑桃源哇12 小时前
马踏春风 为爱启航 | 瑞派宠物医院(南部新城旗舰店)盛大开业!打造宠物医疗新标杆!
大数据·宠物
xixixi7777713 小时前
2026 年 03 月 20 日 AI+通信+安全行业日报(来更新啦)
大数据·人工智能·安全·ai·大模型·通信
F36_9_13 小时前
大数据治理平台选型避坑:2026 年 8 大主流系统实测
大数据·数据治理
成长之路51413 小时前
【实证分析】A股上市公司企业劳动力需求数据集(2000-2023年)
大数据
奔跑的呱呱牛13 小时前
GeoJSON 在大数据场景下为什么不够用?替代方案分析
java·大数据·servlet·gis·geojson
Lab_AI13 小时前
电池材料行业数据管理新突破:AI4S驱动的科学数据平台正在重塑电池材料开发范式
大数据·人工智能·ai4s·电池材料开发·电池材料研发·电池材料创新·ai材料研发
FindAI发现力量13 小时前
智能工牌:线下销售场景的数字化赋能解决方案
大数据·人工智能·销售管理·ai销售·ai销冠·销售智能体