Sign inSign up

layzer/sealos-flink

By layzer

•Updated about 1 month ago

Flink sealos cluster image (dual-arch amd64/arm64), operator 1.15.0 + runtime, one-command deploy

Image
0

75

layzer/sealos-flink repository overview

Apache Flink 的 sealos⁠ 集群镜像,基于官方 flink-kubernetes-operator⁠ 1.15.0 构建(helm + CR 模式),双架构 linux/amd64 + linux/arm64。镜像内已打包 operator chart 与全部容器镜像(operator + Flink 1.20.2 运行时),离线可部署,一条 sealos run 完成「安装 operator → 部署示例流处理作业」全流程。

⁠内容组成

组件版本说明
flink-kubernetes-operator1.15.0管理 FlinkDeployment / FlinkSessionJob / FlinkStateSnapshot CR
Flink 运行时1.20.2已内置(images/shim 打包),JobManager/TaskManager 直接使用
验证作业StateMachineExample默认部署,验证全链路(可用 DEPLOY_EXAMPLE=false 关闭)

⁠快速开始

sealos run layzer/sealos-flink:v1.15.0
# 只装 operator 不跑示例作业:
sealos run layzer/sealos-flink:v1.15.0 -e DEPLOY_EXAMPLE=false

要求:sealos v5 集群(master 节点自带 helm 与 kubeconfig);集群需已安装 cert-manager(operator webhook 证书依赖它签发);集群内有可用的默认 StorageClass。

⁠可配置变量

通过 -e KEY=VALUE 覆盖,重复执行加 --force:

变量默认值说明
NAMESPACEflink-systemoperator 与作业的部署命名空间
TM_REPLICAS2示例作业的 TaskManager 数量
FLINK_VERSION1.20.2Flink 运行时版本(改为非内置版本需联网回源)
RBAC_SCOPEnamespaceoperator 监听范围:namespace=仅本命名空间(Role,推荐);cluster=全集群(ClusterRole)
DEPLOY_EXAMPLEtrue是否部署 StateMachineExample 验证作业
STORAGE_CLASS空StorageClass,留空用集群默认
sealos run layzer/sealos-flink:v1.15.0 -e TM_REPLICAS=4 -e RBAC_SCOPE=cluster --force

⁠提交自己的作业

kubectl apply -n flink-system -f - <<EOF
apiVersion: flink.apache.org/v1beta1
kind: FlinkDeployment
metadata:
  name: my-job
spec:
  image: your-registry/your-flink-app:tag
  flinkVersion: v1_20
  serviceAccount: flink
  jobManager:
    resource: {cpu: 1, memory: 2048m}
  taskManager:
    replicas: 2
    resource: {cpu: 1, memory: 2048m}
  job:
    jarURI: local:///opt/flink/usrlib/your-app.jar
    parallelism: 2
    upgradeMode: stateless
EOF

⁠访问

每个作业自动生成 REST 服务 <作业名>-rest:8081,Web UI 端口转发:

kubectl port-forward -n flink-system svc/basic-example-rest 8081:8081
# 浏览器打开 http://localhost:8081

作业管理:kubectl get flinkdeployment -n flink-system;修改 CR 的 parallelism/replicas 触发滚动升级;删除 CR 停止作业。

⁠权限说明(RBAC footprint)

  • 默认 RBAC_SCOPE=namespace:operator 仅监听部署命名空间,权限为同命名空间内的 Role + RoleBinding,无 ClusterRole/ClusterRoleBinding
  • 安装时包含 3 个 CRD 与 2 个 webhook(Mutating + Validating,集群级资源;webhook 已带命名空间选择器)
  • RBAC_SCOPE=cluster 时创建 ClusterRole + ClusterRoleBinding(多命名空间管理场景)

⁠备注

  • JobManager 默认为单点 + operator 自愈重启;生产级 JM-HA 需额外部署 ZooKeeper(kubernetes.high-availability),未内置
  • checkpoint/savepoint 持久化需自行配置存储(示例作业以 stateless 模式运行,不受影响)
  • 分架构 tag:v1.15.0-amd64 / v1.15.0-arm64 为 manifest list 组成源,一般无需直接使用

Tag summary

Content type

Image

Digest

sha256:17b56bfe2…

Size

790.1 MB

Last updated

about 1 month ago

docker pull layzer/sealos-flink:v1.15.0