问题标签 [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 回答
281 浏览

kubernetes - 如何在 Knative 中设置 MaxRevisionTimeoutSeconds?

我已经使用 Cloud run on gke 部署了一项服务,它使用 Knative 作为 k8s 的抽象。在 knative 默认配置中默认MaxRevisionTimeoutSeconds设置为 600s,但根据此PR ,这是可自定义的。

我在 Knative 官方文档中找不到任何内容,有人可以在这里帮助我吗?

更新

在深入挖掘了 knative 源代码和文档之后。看起来 是在MaxRevisionTimeoutSeconds中定义的resource=ConfigMap/config-defaults。所以必须用自定义值更新它。

由此看来我们可以使用名为 as 的东西operator来修改 ConfigMap 资源,但它不起作用可能是因为 gcp 不使用操作符来安装 Knative 组件。无论如何,我继续安装操作员,然后用来resource=knativeserving覆盖配置默认值。但是当我尝试重新部署服务时,这也不起作用。

下一个解决方案是使用kubectl edit. 我什至尝试这样做,但遇到了奇怪的行为。在我用来kubectl describe检查更改的值时编辑 YAML 文件后,它有时会显示修改后的值,有时会显示旧值,有时甚至不会显示 YAML 中的特定键值对。此外,在进行此编辑后尝试重新部署服务时,它也不起作用。

如果有人能帮我解决这个问题,那就太好了。

0 投票
1 回答
229 浏览

kubernetes - 使用 Knative 和 Anthos 获取客户端 IP

我们在由 Knative 和 Anthos 提供支持的 GCP 上的 K8s 集群上使用 Google Cloud Run,但是负载均衡器似乎没有修改 x-forwarded-for(这不是预期的,因为它是 TCP 负载均衡器),并且Istio 不这样做。

您有同样的问题还是仅限于我们的部署?我了解 Istio 支持它作为他们即将推出的网关网络拓扑的一部分,但在当前的 gcp 版本中不支持。

0 投票
1 回答
409 浏览

continuous-integration - Knative:更新 CI 自动部署管道中的服务映像

我最近将我的 kubernetes 部署服务转换为一个 knative 无服务器应用程序。我正在寻找一种方法,如何在不使用 yml 文件的情况下从 CI/CD 管道更新 knative 应用程序的容器映像(CI 管道无权访问用于部署文件的 yaml 配置)。以前,我使用kubectl set image命令将映像从 CI 更新到最新版本以进行部署,但它似乎不适用于 knative 服务,例如我尝试的命令是: kubectl set image ksvc/hello-world hello-world=some-new-image --record

有没有办法在不访问原始 yaml 配置的情况下使用 kubectl 命令更新 knative 应用程序的图像?

0 投票
2 回答
550 浏览

kubernetes - 使用环境变量在 knative service.yaml 文件中设置值

有没有办法service.yaml使用环境变量设置 Knative 文件中某些键的值?


更多详情

我正在尝试使用 GitLab CI 将 Knative 服务部署到 Kubernetes 集群。我文件中的一些变量service.yaml取决于 GitLab CI 管道的项目和环境。有没有一种方法可以将这些值无缝插入我的service.yaml文件中,而无需求助于 hack 之类的sed -i ...

例如,给定以下脚本,我希望将$(KUBE_NAMESPACE)$(CI_ENVIRONMENT_SLUG)$(CI_PROJECT_PATH_SLUG)值替换为相应命名的环境变量。

0 投票
2 回答
143 浏览

ibm-cloud - IBM Cloud:尝试创建 Code Engine 项目时出错

我正在尝试在命令行上创建一个新的IBM Cloud Code Engine项目,但遇到了错误。

成功列出我的项目ibmcloud coligo proj list

0 投票
1 回答
146 浏览

kubernetes - 将应用程序迁移到 Google Cloud Run "gke" 后,GCP Ingress 无法再找到我的 Kubernetes 服务端口

我最近成功地将我的 Vue.JS webapp 部署到 Cloud Run。之前 webapp 是由 Kubernetes 部署和服务部署的。我还运行了一个 Ingress,将我的 http 请求重定向到该服务。现在 Cloud Run 接手了这项工作。

不幸的是,新的 Cloud Run 驱动的 Knative“服务”似乎不再起作用了。

我的 Ingress 向我显示以下错误消息:

在此处输入图像描述 (我的应用程序名称在哪里importer-controlroom

错误消息对我来说是不可理解的。我在此尝试为您提供更多信息,您可能会帮助我解决这个问题。

这是当前已创建的资源列表。我特别在看importer-controlroom-frontend External Name。我有点认为这是取代旧服务的服务?

在此处输入图像描述

因为我在入口规则中使用了它的名称来将其映射到域,如您在此处看到的:

在此处输入图像描述

Ingress 中的错误消息说:

但是 Cloud Run 修订版显示正在提供端口 80:

在此处输入图像描述

我的一个朋友将我重定向到这篇文章:https://cloud.google.com/solutions/integrating-https-load-balancing-with-istio-and-cloud-run-for-anthos-deployed-on-gke? hl=de#handling_health_check_requests

不幸的是,我不知道它在说什么。事实是我们正在使用 Istio,但我没有对其进行配置,并且对于这种特殊情况很难理解它。

INFO_1

Dockerfile 包含:

0 投票
1 回答
219 浏览

serverless-framework - 触发器的无服务器框架

我正在寻找一个无服务器框架(免费),我可以在其中创建一个 kafka 触发器,并在触发时调用一个 kube 函数(python)

我试过 nuclio,但问题是我的 kafka 版本更高,它们不支持高于 2.4 的版本。

我想要类似的东西:

还有一个 kube 函数,例如:

就像这两个文件一样简单,而且我已经存在 kafka 集群,所以我只想触发它。

除了 nuclio,还有哪些可能的替代品?我看着 kubeless 似乎很复杂。Fission 不支持 python。

0 投票
1 回答
174 浏览

python - Knative kafka 版本和 python 支持

我想将 Knative 用于 kafka 事件触发器。我在它周围找到了一个很好的文档https://knative.dev/docs/eventing/samples/kafka/source/index.html

我的问题是:

  1. 它是否支持 kafka 2.5 或更高版本?

  2. 我想用python编写代码,我遇到的文件在go中。 https://github.com/knative/eventing-contrib/blob/master/cmd/event_display/main.go

我想知道的我可以在python中拥有相同的东西吗?或者我是否需要一个使用 python 作为基础图像的 docker 图像,在这种情况下,函数语法是什么?

我在 Knative 事件触发器(python)中想要这样的东西

0 投票
1 回答
240 浏览

knative - knative:基于自定义标头的路由?

我们可以创建一个有两个修订版的 knative 服务,然后我们可以像这样配置流量。

我们可以使用 header "Knative-Serving-Tag: v2" 来路由到 header-v2 版本。但是,我们希望使用自定义标头路由到特定修订,例如“用户:v2”。我们应该做什么?我们尝试了一些方法。首先,我们尝试编辑对应的虚拟服务,但是新的规则会被自动删除。然后,我们尝试添加一个新的虚拟服务。

主机不能和前一个相同,否则不会生效。我们不想更改主机,我们只想通过自定义标头进行路由。这样做的更好方法是什么?提前致谢。

0 投票
1 回答
151 浏览

amazon-web-services - 添加 AWS ACM EKS ELB 后未在 HTTPS 上打开

我的应用程序在 EKS 上运行,该 EKS 使用 istio-ingressgateway 服务进行负载均衡器和 Knative 服务我已将 ACM 添加到我的 ELB,但在使用修补服务之后

我的域未在 HTTPS 上打开,但在 HTTP 上工作正常,在 HTTPS 上出现此错误