问题标签 [knative-serving]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
47 浏览

apache-flink - 如何在 K8s 上自动扩展/缩减 Flink 有状态函数

我当前的 Flink 应用程序

  • 基于 Flink Stateful Function 3.1.1,从 Kafka 读取消息,处理消息,然后下沉到 Kafka Egress
  • 应用程序已按照指南部署在 K8s 上并且运行良好:Stateful Functions Deployment
  • 基于标准部署,我开启了kubernetes HA

我的目标

我想自动扩大/缩小有状态的功能。我也想知道如何创建更多的备用作业管理器

我对医管局的观察

我尝试kubernetes.jobmanager.replicasflink-configConfigMap 中设置:

我在 K8s 中没有看到备用作业管理器。

然后我直接调整deployment的replicas:

备用作业经理出现。我查看 pod 日志,leader 选举成功。但是,当我在 Web 浏览器中访问 UI 时,它会显示:

我的方法有什么问题?

我关于缩放的问题

反应模式正是我所需要的。我试过但失败了,作业管理器有错误消息:

似乎不应该以这种方式完成有状态功能自动缩放。那么进行自动缩放的正确方法是什么?

潜在方法(可能不正确)

经过一番研究,我目前的方向是:

  1. Job Manger 与自动缩放无关。它与 K8s 上的 HA 有关。我只需要确保 Job Manager 具有正确的故障转移行为
  2. 我的有状态功能是Flink remote services,即它们是常规的k8s services。它们可以以 的形式部署KNative service以实现自动缩放。只有当 http 请求来自 Flink 的 worker 时,服务的副本才会增加
  3. 最重要的部分,Flink 的工人(或任务管理器)我还不知道如何进行自动缩放。也许我应该KNative用来部署 Flink 工作者?如果它不适用于 KNative,也许我应该完全改变 flink 运行时部署。例如,尝试原始的响应式演示。但恐怕 Stateuful 函数不打算那样工作。

最后

我一遍又一遍地阅读 Flink 文档和 Github 示例,但找不到更多信息来执行此操作。任何提示/说明/指南表示赞赏!

0 投票
1 回答
47 浏览

authorization - 在 Istio-knative 服务 + 外部请求中保护 mTLS 通信

我们正在将现有的 k8s 服务转换为使用 istio 和 knative。这些服务接收来自外部用户以及集群内部的请求。我们正在尝试设置 IstioAuthorizationPolicy以实现以下要求:

  1. 某些路径(如 docs/healthchecks)不需要任何特殊的标头或任何东西,并且必须可以从任何地方访问
  2. knative 需要访问的健康和指标收集路径必须只能由 knative 控制器访问
  3. 来自集群外部的任何请求(knative-serving/knative-ingress-gateway基本上通过)必须包含与预共享密钥匹配的密钥标头
  4. 来自集群内任何服务的任何请求都可以访问所有路径

以下是我正在尝试的示例。我能够满足前 3 个要求,但不能满足最后一个要求...

我们没有对 istio-knative 设置默认提供的 mTLS 配置进行任何更改,因此假设当前 mtls 模式为PERMISSIVE.

涉及的技术堆栈的详细信息

  • AWS EKS - 版本 1.21
  • Knative Serving - 1.1 版(使用 Istio 1.11.5)
0 投票
2 回答
38 浏览

istio - 什么是 knative 的“网状”网关

我看到对于每个 knative 服务,VirtualService创建了 2 个对象,即配置ksvc-ingressknative-serving/knative-ingress-gateway&knative-serving/knative-local-gateway网关,以及ksvc-mesh作为mesh网关。

我可以看到knative-serving/*网关正在使用kubectl,但我无法mesh在任何命名空间中找到网关对象。我想了解mesh这里是否表示一些特殊对象,或者它是表示其他东西的 istio 关键字?

0 投票
1 回答
26 浏览

kubernetes - Knative 服务 URL

我目前正在评估 Knative,但我肯定找不到在 URL 中使用路径而不是子域来访问服务的方法。

默认情况下,在创建服务时,URL 是这样的:http://Name.Namespace.Domain我想要的是这样的 http://Domain/Namespace/Name

有人知道这是否可能吗?提前致谢,

塞德里克