问题标签 [knative-eventing]

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 投票
2 回答
185 浏览

knative - 如何将 Knative 服务的默认 url 域从 example.com 更改为例如 mydomain.com

我已遵循本指南https://knative.dev/docs/serving/using-a-custom-domain/

使用命令

我在 yaml 文件中用 mydomain.com 替换了 example.com。我确实删除了 _example 措辞,但不确定我是否删除了正确的语法。

保存后,yaml似乎有很多变化。

但是当我部署一个 knative 服务时,域 url 仍然使用 example.com。

这是当前的 yaml 内容:

0 投票
1 回答
70 浏览

kubernetes - SinkBinding 注入 K_SINK 环境变量失败

我正在尝试设置一个 Knative 事件管道,其中存在一个接受外部 gRPC 请求并将事件触发到代理以进行进一步处理的容器。

在我的玩具示例中,我没有使用 SinkBinding 注入K_SINK环境变量。这是我的配置的相关部分:

由于缺少环境变量,我的容器陷入了无限崩溃循环。

SinkBinding 对象似乎没有问题:

系统信息:

0 投票
1 回答
140 浏览

knative - Knative Eventing - helloworld 样本触发器的 NewObservedGenFailure 错误

我正在尝试使用示例 hello world 应用程序来利用 knative 事件。使用参考指南:https ://knative.dev/docs/eventing/samples/helloworld/helloworld-python/

我设法使用 sample-app.yaml 创建服务、部署和触发器。但是,当我跑步时

kubectl --namespace knative-samples get trigger helloworld-python 要检查触发器状态,我收到此错误“NewObservedGenFailure”。

knative-samples helloworld-python default 21m Unknown NewObservedGenFailure

截屏

关于是什么原因的任何见解?或者我该如何解决这个问题?无法从谷歌获得太多信息。谢谢

0 投票
1 回答
101 浏览

knative - Knative 的 Kafka Broker 是否可以接收来自其集群外部的事件?

当我设置一个 kafka 代理时,它的 URL 默认使用

例如“http://kafka-broker-ingress.knative-eventing.svc.cluster.local/example/default”

我只能从 k8 集群中的资源发送事件。

是否可以使用面向公众的 URL 设置 kafka 代理,以便它可以接收来自集群外部的事件?如果能。如何?

谢谢

0 投票
1 回答
32 浏览

knative - 是否建议在 Knative 安装的集群上运行非 Knative 部署/服务?

是否建议在 Knative 安装的集群上运行非 Knative 部署/服务?还是最好为 k8 原生容器使用单独的 K8 集群?

0 投票
1 回答
31 浏览

knative - 将并发限制设置为 1 时,单个请求旋转 2 个 Knative 实例

我正在尝试实现一个场景,即 5 个 curl 请求将旋转 5 个 pod。我一直在玩 Knative 并发设置以进行自动缩放。我意识到的一些观察是,当我设置

卷曲请求后,它将启动 2 个 pod。对于 5 个请求,Knative 将旋转大约 9 - 10 个 pod。我也尝试设置硬限制并发。

同样的行为也是如此。

但是,当我将限制设置为 2 时,5 个请求会旋转大约 4 个 pod,这也不是我想要的。

如何为我的应用程序实现每个 pod 的 1 个请求?

0 投票
2 回答
79 浏览

kubernetes - 无法加载 Kubernetes 日志

我正在运行一个 AKS(Azure Kubernetes 服务)集群,但是现在当我尝试访问日志时,我遇到了以下问题,这很奇怪,因为我没有遇到它。

问题:

预期行为:

我希望显示日志。

附加信息:

先感谢您。

0 投票
2 回答
71 浏览

apache-kafka - Knative Eventing 死信接收器未触发

我有序列在我的 Knative 环境中工作。我们正在尝试配置并确认 DLQ/Dead Letter Sink 工作正常,以便我们可以针对序列编写测试和事物。我一辈子都无法让 Knative 向死信接收器发送任何内容。我有两种方法,第一种是设置代理、触发器、服务和序列。我在 Broker 中定义了一个用于 DLQ 的服务。然后,我按顺序设置了一项服务,以故意返回非 200 状态。当我在 knative-eventing 命名空间中查看通道调度程序的日志时,我相信我读到的是它认为发生了故障。

我阅读了一些关于默认 MT Broker 可能无法正确处理 DLQ 的内容,因此我安装了 Kafka。得到了所有的工作,基本上,它似乎做同样的事情。

我开始怀疑,好吧,也许在你不能做 DLQ 的序列中。毕竟文档只讨论了订阅和代理的 DLQ,也许 Knative 认为消息已成功从代理传递到序列,即使它在序列内死亡。所以我手动设置频道和订阅,然后将数据直接发送到频道,我得到的基本上是一样的,那就是:

序列将在任何不返回 2XX 状态代码的步骤上停止,但不会向 DLQ 发送任何内容。我什至让订阅直接转到服务(而不是序列),该服务返回 500,但对 DLQ 仍然没有。

下面的日志项来自在 knative-eventing 命名空间中运行的通道调度程序 pod。它与 In memory channel 或 Kafka 看起来基本相同,即预期 2xx 得到 500。

设置注意事项。我将所有内容部署到同一个名称空间进行测试。在执行代理/触发器和部署 Kafka 时,我基本上遵循了此处的指南来设置我的代理。我的经纪人看起来像这样:

当我手动创建订阅和频道时,我的订阅如下所示:

无论我做什么,我从来没有看到 dlq 吊舱旋转起来。我已经调整了重试的东西,等待了又等待,使用了默认的通道/代理、Kafka 等。我根本看不到 pod 曾经运行过。有什么我想念的吗,到底有什么问题?我可以将订阅者设置为垃圾 URI,然后 DLQ pod 启动,但如果它发送事件的服务返回错误代码,它不应该也启动吗?

任何人都可以提供几个非常基本的 YAML 文件来部署最简单的工作 DLQ 版本来进行测试吗?

0 投票
1 回答
76 浏览

kubernetes - 是否可以在“自动驾驶”模式下在 Google GKE 上安装 KNative?

是否可以在“自动驾驶”模式下在 Google GKE 上安装 KNative?不幸的是,我还没有找到任何关于这方面的教程,并且无法为这个项目使用托管解决方案,因为我的工作负载的 CPU 和内存资源太高了。(工作负载需要 40 个 CPU 内核和每个 KNative 事件 60GB RAM,这在 google cloud 功能、google cloud run 或 IBM Code Engine 上不受支持)。

非常感谢您的帮助

0 投票
2 回答
61 浏览

serverless - Knative 并行和序列演示失败

我正在尝试 knative 序列/并行流。

我从官方网站中提到的发布 v1.1 的序列示例开始,我创建了文档中提到的步骤、序列和 pingSource,但 pingSource 失败,因为序列未启动。

序列有以下异常

但步骤运行良好

在 knative 序列上花了很多时间后,我决定尝试 knative 并行

我参考了 v1.1 的并行官方文档并使用了多个分支示例我创建了过滤器、转换器、并行和 pingSource 但这里并行也没有出现以下异常

在这里,并行和序列也正常运行。

有没有人遇到过类似的问题,或者我错过了官方文档中的任何内容?

环境信息:

  • 使用种类集群
  • 使用本地 docker 注册表(已绕过对图像的摘要检查)
  • 命名空间:varadhi
  • Serving 和 Eventing CRDS 是 knative v1.1

编辑#1

我没有显式创建任何通道,也没有看到控制器隐式创建任何通道

我的默认频道也是 InMemoryChannel

平行 :

使用示例:https ://github.com/knative/docs/tree/main/code-samples/eventing/parallel/multiple-branches

地位

编辑#2 我安装了更多的事件 crds (eventing.yaml)

我现在可以看到的变化很少。

正在创建频道并且其状态为 true

但序列和并行尚未处于真实状态,他们说订阅未就绪

在进一步调试时,我可以依次看到以下消息

并在查看频道时,它会给出以下消息

看起来频道无法获取服务部署状态

我也安装了 Kourier 但我看不到外部 IP。请注意,我正在为此运行我自己的集群。

安装 kourier 后服务几乎没有变化

IngressNotConfigured 状态消失。