【梳理】k8s使用Operator搭建Flink集群

文章目录

  • 架构图
  • 安装cert-manager依赖
  • helm 安装operator
  • 运行集群实例
    • k8s上的两种模式:Native和Standalone
    • 两种CR
    • Demo1:Application 单任务
    • Demo2:Session 多任务
    • 创建ingress
  • 总结

架构图

请添加图片描述

参考:部署验证demo

安装cert-manager依赖

Jetstack/cert-manager 是 Kubernetes 生态系统中的一款开源项目,它提供了一种自动化的方式来管理 TLS 证书的生命周期

kubectl create -f https://github.com/jetstack/cert-manager/releases/download/v1.8.2/cert-manager.yaml

helm 安装operator

# helm 安装 , 包含 deploy*1 、cm*1、crd*2 以及 rbac sa webhook
kubectl create -f https://github.com/jetstack/cert-manager/releases/download/v1.8.2/cert-manager.yaml
helm repo add flink-operator-repo https://downloads.apache.org/flink/flink-kubernetes-operator-1.7.0/
helm install flink-kubernetes-operator flink-operator-repo/flink-kubernetes-operator

运行集群实例

k8s上的两种模式:Native和Standalone

Flink Kubernetes Operator 支持:原生部署native(默认)和独立部署standalone

可以使用部署规范中的 mode 字段设置部署模式。

apiVersion: flink.apache.org/v1beta1
kind: FlinkDeployment
...
spec:...mode: standalone

两种CR

FlinkDeployment CR 定义了 Flink 应用程序和会话集群部署。

FlinkSessionJob CR 定义了 Session 集群上的会话任务(Job)

Flink Kubernetes Operator 支持两种主要类型的部署:Application 和 Session

Session使用与Application 集群类似的规范,唯一的区别是 job 未定义。

Demo1:Application 单任务

只有一个Job,没有提交jar包的功能。

# 此crd创建后,operator会创建:
# 1个deploy(即jobmanager,镜像为flink:1.17)
# 1个pod(即taskManager,镜像也是flink:1.17,任务jar包在镜像中)
apiVersion: flink.apache.org/v1beta1
kind: FlinkDeployment
metadata:name: basic-example
spec:image: flink:1.17flinkVersion: v1_17flinkConfiguration:taskmanager.numberOfTaskSlots: "2"serviceAccount: flinkjobManager:resource:memory: "2048m"cpu: 1taskManager:resource:memory: "2048m"cpu: 1job:jarURI: local:///opt/flink/examples/streaming/StateMachineExample.jarparallelism: 2upgradeMode: stateless

Demo2:Session 多任务

多个job,每个sessionjob代表一个job,有提交jar包的功能。

apiVersion: flink.apache.org/v1beta1
kind: FlinkDeployment
metadata:name: basic-session-deployment-example
spec:image: flink:1.17flinkVersion: v1_17jobManager:resource:memory: "2048m"cpu: 1taskManager:resource:memory: "2048m"cpu: 1serviceAccount: flink
---
apiVersion: flink.apache.org/v1beta1
kind: FlinkSessionJob
metadata:name: basic-session-job-example
spec:deploymentName: basic-session-deployment-examplejob:jarURI: https://repo1.maven.org/maven2/org/apache/flink/flink-examples-streaming_2.12/1.16.1/flink-examples-streaming_2.12-1.16.1-TopSpeedWindowing.jarparallelism: 4upgradeMode: stateless---
apiVersion: flink.apache.org/v1beta1
kind: FlinkSessionJob
metadata:name: basic-session-job-example2
spec:deploymentName: basic-session-deployment-examplejob:jarURI: https://repo1.maven.org/maven2/org/apache/flink/flink-examples-streaming_2.12/1.16.1/flink-examples-streaming_2.12-1.16.1.jarparallelism: 2upgradeMode: statelessentryClass: org.apache.flink.streaming.examples.statemachine.StateMachineExample

创建ingress

svc端口默认为8081,创建一个ingress指向svc-rest即可进行访问。

总结

  1. 拉取国外镜像比较困难,可以使用https://dockerproxy.com/
  2. 搭建多租户PaaS平台,可以使用Session方式,新任务可以通过CR进行管理,也可以由页面添加jar包。
  3. 本文内容来源于Flink官网,进行翻译、简化、整理,供大家参考~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/731446.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SSL证书是什么

SSL 证书就是遵守 SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。 Secure socket layer(SSL)安全协议是由Netscape Communication公司设计开发。 该安全协议主要用来提供对用户和服…

CSS中 ,有哪些方式可以隐藏页面元素

文章目录 CSS中 ,有哪些方式可以隐藏页面元素实现方式display:nonevisibility:hiddenopacity:0设置height 、width属性为0position:absoluteclip-path小结 CSS中 ,有哪些方式可以隐藏页面元素 实现方式 通过 css 实现隐藏元素方法有如下 : …

Testing Library - 简介

testing-library 软件包系列以用户为中心的方式帮助您测试 UI 组件。 你的测试越接近你的软件使用方式,它们能给你提供的信心就越多。 核心库 DOM Testing Library,是一个轻量级的解决方案,用于通过查询和与DOM节点(无论是使用JSD…

【面试准备日常】从头复习mysql--20240308

1.mysql数据类型 a.数值类型 分类类型大小有符号(SIGNED)范围无符号(UNSIGNED)范围描述数值类型TINYINT1 byte(-128,127)(0,255)小整数值SMALLINT2 bytes(-32768,32767)(0,65535)大整数值MEDIUMINT3 bytes(-8388608,…

[蓝桥杯]接龙数列(C语言)

目录 题目链接 题目理解 解题思路 完整代码 重难点解答 *dp数组的具体用法 *对于dp[b]dp[a]1>dp[b]?dp[a]1:dp[b]的解释 题目链接 [蓝桥杯 2023 省 B] 接龙数列 - 洛谷 题目理解 这道题让我们求任给的一串数字,若想让其变成接龙数列最少需要删除的数字…

【程序员经常使用的算法】讲解

程序员经常使用的算法 程序员经常使用的一些算法包括: 1. 排序算法(Sorting Algorithms): 冒泡排序(Bubble Sort)选择排序(Selection Sort)插入排序(Insertion Sort)归…

uniapp列表进入动画

app列表入场动画 - DCloud 插件市场 列表入场动画https://ext.dcloud.net.cn/plugin?id16957

中医把脉笔记

目录 寸关尺对应的五脏六腑自己给自己把脉把脉五布法定寸关尺分浮中沉分快慢辨阴阳看虚实 参考文章 寸关尺对应的五脏六腑 自己给自己把脉 up主道道总是睡不着的把脉教学视频 用中指按住小骨头下面一点,这是关脉,左手的关脉对应肝脏。 把脉五布法 定…

网络基础aaa

三次握手 四次挥手 网络模型 TCP or UDP 的特点 如何理解 TCP 的5层协议 TCP的5层协议是指计算机网络体系结构中,与TCP(传输控制协议)相关的五个层次。这五个层次从高到低依次是:应用层、传输层、网络层、数据链路层和物理层。每…

java注释的详尽解析

一、什么是注解 (1).注解的作用 ①:注解一般用于对程序的说明,就像注释一样,但是区别是注释是给人看的,但是注解是给程序看的。 ②:让编译器进行编译检查的作用,比如下边这个Override注解是重写的意思&am…

前端缓存使用规范

一、Cookie使用规范 cookie的存储空间非常有限且会携带在请求头中会浪费不必要的流量,如果仅仅是为存储数据,可以采用其他替代方案,例如 webStorage,非必要不使用cookie。 1、使用方法 注意:过期时间时需转换成UTC格…

内存安全的编程语言

美国政府新颁布《回归基础构件:通往安全软件之路》 《回归基础构件:通往安全软件之路》中,白宫国家网络主任办公室(ONCD)呼吁开发者使用「内存安全的编程语言」 内存安全的编程语言 根据NSA的建议,内存…

sqlyog社区版下载,数据库客户端,mysql

Downloads webyog/sqlyog-community Wiki GitHubhttps://github.com/webyog/sqlyog-community/wiki/Downloadssqlyog社区版下载

liteIDE 解决go root报错 go: cannot find GOROOT directory: c:\go

liteIDE环境配置 我使用的liteIDE为 x36 5.9.5版本 。在查看–>选项 中可以看到 LiteEnv,双击LiteEnv ,在右侧选择对应系统的env文件,我的是win64系统,所以文件名为win64.env 再双击 win64.env ,关闭当前窗口&…

git 初始化项目并上传到github

如果还没配置过,需要配置账号信息 git config --global user.name "baymax-collab" git config --global user.email "baymax-collabtest.com"创建一个新的存储库 git clone gitgithub.com:xxxx cd test git switch --create main touch READ…

C++ Qt开发:QHostInfo主机地址查询组件

Qt 是一个跨平台C图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用QHostInfo组件实现对主机地址查询功能…

ROS——VirtualBox下载

下载&安装Virtualbox Oracle VM VirtualBox 根据电脑系统版本下载。 注意:前提是电脑cpu要开启虚拟化 根据自己的需求下载 双击开始安装 浏览可以更改下载位置,默认在C盘 然后一直点,是或下一步就好了 下载拓展包 后续需要连接使…

NASA数据集——GOES-16卫星的高级图像和地球观测数据

简介 GHRSST NOAA/STAR GOES-16 ABI L2P America Region SST v2.70 dataset in GDS2 ABI_G16-STAR-L2P-v2.70是美国国家航空航天局(NASA)的一种卫星数据处理产品。这个产品是由GOES-16(也称为GOES-East)卫星的先进基线/全球地球…

201909青少年软件编程(Scratch)等级考试试卷(三级)

青少年软件编程(Scratch)等级考试试卷(三级)2019年9月 第1题:【 单选题】 执行下面的脚本后,变量“分数”的值是多少?() A:5 B:6 C:10 D:25 【正确答案】: C 【试题…

Day3 DOM-节点操作

3.1 节点 节点:标签、文本、注释、换行等,节点类型nodeType、节点名称nodeName、节点值nodeValue 元素:标签 节点层级:父节点、子节点、兄弟节点 parentNode父节点的最大节点是document,再朝上查找就是null prentElem…