簡體   English   中英

無法使用 JobManager HA 在 Standalone Kubernetes 模式下運行 Flink

[英]Can't run Flink in Standalone Kubernetes mode with JobManager HA

我在沒有 Job Manager HA 的情況下以獨立 Kubernetes(會話)模式運行 Apache Flink。 但是我需要部署 Job Manager HA,因為只有在 HA 模式下,Flink 才能持久化(可以在 Job Manager 重啟后保存作業)。 Flink 在專用的 kubernetes 命名空間中運行,我只有命名空間的權限。

使用本文啟用 HA: https : //ci.apache.org/projects/flink/flink-docs-master/docs/deployment/ha/kubernetes_ha/

我使用本文中的 yaml 文件: https : //ci.apache.org/projects/flink/flink-docs-master/docs/deployment/resource-providers/standalone/kubernetes/#kubernetes-high-availability-services

例如,我有名為 flink-namespace 的 k28s 命名空間。 在我創建的這個命名空間中:

  • 名為 flink-sa 的 serviceAccount
  • 在此命名空間中創建/編輯 Configmap 的角色女巫權限

所以這個 serviceAccount 有權限創建/編輯配置映射,但僅限於這個命名空間。

部署后,jobManager 無法啟動並拋出錯誤:

引起:io.fabric8.kubernetes.client.KubernetesClientException: configmaps "flink-restserver-leader" is forbidden: User "system:serviceaccount:flink-namespace:flink-sa" cannot watch resource "configmaps" in API group "" in命名空間“默認”

意味着 serviceAccount with Flink 用於管理 Configmaps,嘗試在命名空間“default”而不是命名空間“flink-namespace”中創建 Configmap

有人知道如何配置 flink 來管理指定命名空間中的配置映射嗎?

問題已解決 - 我在 Flink 源代碼中找到了使用 kubernetes 命名空間告訴 Flink 的可能性正在運行。 因此,要解決此問題,您應該在配置中進行設置:

kubernetes.namespace:YOUR_NAMESPACE_NAME

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM