问题标签 [knative]

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 回答
503 浏览

kubernetes - Knative 大使 Ingress

我正在尝试将 Knative 与大使一起使用。按照以下步骤安装 Knative,

安装 Knative

配置大使,

配置 Knative 使用 ambassdor 作为入口,

我已经在“ambassador-ns”命名空间下安装了大使。它工作正常。

部署 hello world 应用程序,

当我检查 ksvc 的状态时,

Knative 控制器日志

你能告诉我我做错了什么吗?

0 投票
1 回答
114 浏览

spring-boot - 在 Kubernetes 中获取 URL 名称

我使用 spring boot 项目并部署在 Kubernetes 中,我想获取 pod 的 URL,

我提到了如何在 Kubernetes Java 应用程序中获取当前 Pod对我不起作用。

有不同的环境(DEV、QA 等),想要动态获取 URL,有吗?

我的服务 yaml

是否可以添加

来自网址https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/#the-downward-api

0 投票
0 回答
78 浏览

kubernetes - Knative 中的服务编排

我们有一个复杂的服务,我们希望将其分解为不同的服务并进行编排。由于不需要公开大多数服务,我在想我们是否可以使用 Vertx 进行 Knative 服务和事件处理。

对于简单的链接,我最初试图只准备一个将事件发送到默认代理的服务,并且通过代理触发器我能够在另一个 Vertx 中获取事件。但是使用 Broker Trigger,我不确定如何回复事件生成器服务。

最近我尝试使用 Camel-K,虽然它在内部使用 Vertx,但从 vertx 服务编写来看似乎更简单一些,我可以通过 Knative 通道进行通信。

发送事件 Camel-K:

在 Camel-k 中接收事件:

我可以从 Receiver Camel-K 发送回复的方式是什么,以便 Sending Camel-K 接收消息并进一步处理。

用例更像是公开了一个服务,以便其他应用程序可以调用。收到请求后,它会通过 eventing 对另外 2 个服务进行转换和编排,然后回复给调用者。

如果 Github 中有任何示例,如果您能指出我将非常有帮助。想要在 Knative 上实现 Camel / Vertx。

0 投票
2 回答
870 浏览

python - 如何使用 Kubernetes python 客户端库部署 Knative 服务

我们正在尝试使用 knative 和 Kubernetes 的 python 客户端库来部署服务。我们正在使用以下 yaml 文件:

如果我们使用 kubernetes 的命令行工具进行部署,它可以正常工作。

使用 python 客户端库,我们正在做:

但是,我们收到此错误:

有没有办法用 knative 部署服务?据我了解,knative 服务与普通的 Kubernetes 服务不同。我不知道问题是我试图以错误的方式部署服务,还是 Kubernetes python 客户端库还不支持这种部署。

编辑:

0 投票
1 回答
243 浏览

microk8s - 由于 x509 证书问题,knative helloworld 无法运行 microk8s

我已经使用 ubuntu(Ubuntu 20.04 LTS)在 microk8s 上安装了 knative。我正在尝试基本的 knative 示例,但它不起作用。1.首先我尝试了kn。(kn 无法读取配置,所以我使用microk8s.config > ~/kubeconfig

  1. 我尝试使用加载kubectl create,但得到相同的错误。任何想法。
0 投票
1 回答
42 浏览

knative - 尝试为 knative 功能选择一个 web 框架

我需要帮助选择一个在 python 或 java 中具有异步功能的 web 框架,可以处理高频 json 事件。这是一个基于事件的数据管道

python或java中的任何建议都会有所帮助。文档链接或示例会很棒。

0 投票
2 回答
244 浏览

knative - KNative 与 Istio 在端口 8080 上侦听

我已经设置了 Istio 的“入口网关”来监听 8080,并且在运行 Knative hello-world 时遇到了问题。有人这样设置 Knative 吗?

我希望互联网流量进入端口 8080 以显示 Knative hello world 的输出。

0 投票
1 回答
262 浏览

prometheus - 如何在 Google Cloud 中重新创建 Grafana kNative 仪表板

我正在使用 kNative Observability 插件,它在我的 Google Kubernetes Engine 集群上安装 Prometheus 和 Grafana。

有两个问题:

  1. 在 kNative 的最新版本中,该插件已被弃用
  2. 我看到该插件将日志保存在 Prometheus pod 中(我的最佳猜测),有时它会在高负载下崩溃。

有没有办法在 Google Cloud Monitoring 中重新创建 Grafana 仪表板?也许更好的问题是,有没有办法让 Prometheus 记录的 kNative 日志进入 Google Cloud 的环境?

0 投票
0 回答
177 浏览

google-cloud-run - 请求在容器(应用程序)中成功完成后 1 分钟后始终返回 502

作为序言,我知道超过 1 分钟的 HTTP 请求是糟糕的设计,我将研究 Cloud Tasks,但我确实想弄清楚为什么会发生这个问题。

因此,如标题中所述,我对 Cloud Run 服务(完全托管)有一个简单的 API 请求,该请求需要超过 1 分钟的时间,该服务执行一些 DB 操作并生成 PDF 并将它们上传到 GCS。当我从客户端(浏览器)发出此请求时,它会在等待 1 分钟后始终返回 502 响应(可能来自 HTTP 负载均衡器):

502 错误

但是,当我查看日志时,请求已成功完成(大约 4 到 5 分钟):

请求日志

对于正在生成并上传到 GCS 的每个 PDF,我也会遇到这些“错误”之一,但从我读到的内容来看,这些不应该是真正的问题吗?:

沙盒错误

为了验证这不仅仅是应用程序代码或浏览器的一些超时问题,我在本地构建的随机 API 调用上放置了 5 分钟的睡眠,一切正常且花花公子。

我已将 Cloud Run 上的请求超时设置为最大值(15 分钟),将最大并发设置为默认 80,将 CPU 和 RAM 的数量分别设置为 2 和 2GB,并将 Fastify(node.js)服务器上的超时设置为 15 分钟出色地。此外,在我收到 502 错误时,我查看了日志并没有发现表明实例内存不足或任何其他错误的错误。最后,我还按照建议使用 strace 更深入地查看系统调用,以防万一那里出了什么问题,但从我所见,一切看起来都很好。

最后,我怀疑容器和网关/负载均衡器之间的路由存在一些奇怪的竞争条件,但我对 Knative(构建 Cloud Run 的基础上)几乎一无所知,所以这只是一种预感。

如果有人对为什么会发生这种情况有更多的想法,请告诉我!

0 投票
2 回答
364 浏览

kubernetes - 在 tekton 管道中使用 knctl/kubectl 将镜像部署到 Knative 服务

我正在阅读官方Tekton 文档kubectl,它使用标准部署对象清单将映像部署到 Kubernetes 。但是,我正在尝试使用 Tekton 管道作为 CI/CD 来部署在 knative 服务中,该服务应该使用knctlkubectl使用 knative 服务 yaml 而不是knative 服务规范的部署 yaml

就像是

在这种情况下,我如何利用 Tekton。如果我要将镜像安装到任何随机的 Kubenetes 集群,我可以使用任何其他 CI/CD 工具以及部署清单。我相信 Tekton 应该会取代 Knative 构建以使其变得简单。