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

logging - 如何收集 knative 服务日志?

我想通过knative部署我的服务,但是我不知道如何收集服务日志并将它们保存在es中。服务日志位于 /var/log 目录下,因此我将目录挂载到 emptyDir 卷并通过 sidecar 收集日志。当我提交yaml文件时,发现knatve不支持这种方式。

在此处输入图像描述

我知道如何收集容器控制台日志,只是不知道通过knative部署服务时如何收集特定目录日志。那么有人知道解决方案吗?

感谢您的帮助和时间

0 投票
1 回答
201 浏览

websocket - Cloud Run for Anthos http2 意外 EOF 错误 | 谷歌云平台

我在 Google Cloud Run for Anthos 上部署了服务。当我启用 Http2 进行部署时,出现此错误

有时是随机的

如果我不使用它进行部署,一切都可以正常工作,期待 WebSockets。迁移 Cloud Run for Anthos 的目的是添加 WebSocket 支持。

请帮忙。

0 投票
1 回答
230 浏览

google-cloud-platform - 如何在 istio 服务上创建入口以运行 Anthos(knative)

我正在 GCP 上开发 Cloud Run Anthos,并在 GKE 集群上托管。

我按照这个 q​​wiklabs 来研究 Cloud Run Anthos,

https://www.qwiklabs.com/focuses/5147?catalog_rank=%7B%22rank%22%3A6%2C%22num_filters%22%3A0%2C%22has_search%22%3Atrue%7D&parent=catalog&search_id=7054914

动手实验室中的示例。他们使用以下命令来检查服务是否正常工作。

我想知道使用的现实。没有人在每个工作请求中添加主机。
我的问题是,有没有可能解决这个问题?我只想通过浏览器或任何应用程序使用调用请求,但不确定是否可行?

我找到了关于 Istio ingress 的资源文档,qwiklab 的示例也使用了它。
它是关于VirtualSerivce的,看起来我之前有一个Istio Ingress来构建这个代理。
这是解决问题的正确方法吗?

https://istio.io/latest/docs/reference/config/networking/virtual-service/#HTTPRewrite

0 投票
1 回答
155 浏览

go - 如何创建 knative 服务

我已经编写了一个自定义资源作为部署的一部分。作为 reconcileKind 函数的一部分,我使用 Go 本身中的 Kubernetes API 编写了创建 pod 的逻辑,如下所示。

图片

我想将其转换为 knative 服务(而不是创建将始终运行的 POD),以便我可以使用 KPA 功能。我知道使用 .yaml 方式创建 knative 服务。但我想通过使用 Kubernetes API 本身来创建它。我确实在官方文档中进行了搜索,但解释的所有内容都是使用 .yaml 方式。

所以我很好奇我们是否可以直接使用Kubernetes API来实现knative服务?

0 投票
1 回答
511 浏览

go - 如何使用代码生成器为自定义资源定义生成代码

我想使用服务 api,它是 knative 服务仓库的一部分来创建服务应用程序。由于我正在编写自定义控制器,因此我需要使用 Go 客户端。我发现很难使用代码生成器生成样板代码。我正在关注下面提到的关于如何做到这一点的博客。

  1. https://insujang.github.io/2020-02-13/programming-kubernetes-crd/#write-template-code
  2. https://blog.openshift.com/kubernetes-deep-dive-code-generation-customresources/

但我无法实现。任何帮助表示赞赏。

0 投票
0 回答
345 浏览

shell - /busybox/sh:语法错误:使用 Tekton 替换错误

我正在尝试从 Github 中提取源代码,然后在 Kubernetes 集群上使用 Tekton 管道和 Knative 构建 docker 映像并将其推送到 docker hub。我正在关注此链接以安装和设置 Tekton: https ://www.ibm.com/cloud/blog/build-a-knative-service-with-tekton-and-apache-openwhisk-nodejs-runtime

任务-build.yaml

尝试构建和推送图像时,出现错误:

当检查日志中的错误消息时,我得到:

错误:/busybox/sh:语法错误:替换错误

0 投票
0 回答
161 浏览

google-cloud-platform - GCP Cloud Run for Anthos - 没有健康的上游

我正在为 Google Cloud Platform 的 GKE 集群上的 Anthos 构建部署到 Cloud Run 的微服务。

我随机收到错误消息“上游不健康”错误消息。

也许有一些与 GKE 网络相关的问题?我看到了与“上游没有健康但我找不到可以解决这个问题的答案”相关的问题

请帮忙

0 投票
1 回答
292 浏览

python - 谷歌云运行突然延迟峰值和容器实例时间增加

我们的容器实例在云运行上运行 python 时反复出现问题。我们目前部署了 20 项服务,它们一次运行良好的几周,然后突然出现请求延迟峰值,以及 ping 检查失败和容器实例时间增加。在我们的系统中这些较长的延迟期间,我们看不到任何增加的流量。数据库和缓存等常见的访问点似乎都很正常。

该地区是欧洲西部1

有人对检查什么有任何提示吗?我们有遇到过类似的问题吗?

潜伏: 在此处输入图像描述

容器实例时间: 在此处输入图像描述

0 投票
1 回答
498 浏览

docker - Knative - kubernetes yaml 从谷歌云存储挂载数据

我是使用 YAML 文件进行 Kubernetes 和 Cloudrun 部署的新手,所以请原谅这个问题应该非常基本。

问题:我有存储在云存储中的文件。我想在容器启动我的 docker 入口点之前将这些文件下载到本地挂载中。

据我了解,KNative 不支持volumes 或persistentVolumeClaims。

如果这种理解是错误的,请纠正我。

让我用下面的图片更好地解释它, 在此处输入图像描述

在 Kubernetes pod 内部,我将容器启动分为 3 个部分。

  1. Prehook 从 GCS(Google 云存储)下载文件 -> 这会将文件从 google 存储复制到本地挂载。可以使用某种带有 clouddk 映像的 init 容器,然后使用 gsutils 将文件复制下来。
  2. 本地挂载文件系统 -> prehook 将写入此挂载。具有“容器映像”的容器也可以访问此挂载。
  3. 容器图像 -> 这是我在容器中运行的主要容器图像。

我正在寻找适用于 cloudrun 的 Knative 服务解决方案。我该如何解决这个问题?

另外,是否可以在没有 Knative 服务的情况下使用 yaml 文件来创建 cloudrun 服务?

0 投票
1 回答
90 浏览

knative - 没有 TLS 的本地本地服务和大使

我正在尝试将 knative 用于一些长时间运行的进程,这些进程仅在集群内本地触发。

作为网络层,我们已经使用了 Ambassador,它配置了 TLS,并将 HTTP 请求重定向到 HTTPS:

我使用“cluster-local”标志创建了服务:

如果我尝试从集群中访问它,我会被重定向到 https 版本:

curl -k -v https://helloworld-go.default.svc.cluster.local可以工作,但显然证书的主机名与cluster.local

如果我删除redirect_cleartext_from: 8080,端口 80 似乎不再可用:

有没有办法只为 svc.cluster.local 禁用 http => https 重定向?对于其他工作负载 - 不通过 knative 提供服务 - 我可以使用 http 和http://deployment-name.namespace/