问题标签 [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.
java - Knative Eventing KafkaSource 问题
我遇到了关于 Knative Eventing 的问题,我希望得到您的帮助,因为我对此很陌生。我正在使用 Knative v0.10.0、minikube v1.5.2、Docker v19.03.1 和 Kafka 2.3.1(用作事件源)。我使用 Kafka Java 客户端 API 和 Spring Boot 开发了一个 kafka 生产者和一个 kafka 消费者。它们在管道中工作,所以我有一个 CronJobSource 每 X 分钟唤醒我的生产者,生产者将一些事件发送到 Kafka 主题,然后我配置了一个 KafkaSource 来监听该主题并应该唤醒消费者。实际上,即使一切似乎都配置得很好,KafkaSource 什么也没做,我尝试记录 KafkaSource,但它没有错误或成功日志。如果我在不通过 KafkaSource 的情况下手动唤醒生产者和消费者,它们都可以正常工作。
这是我的 KafkaSource yaml 文件配置:
这是我的卡夫卡生产者代码:
卡夫卡生产者配置:
卡夫卡消费者代码:
卡夫卡消费者配置:
谢谢!
knative - KNative Eventing 中的异步订阅/通知,而不是同步 HTTP
请注意,进入自定义服务的箭头颜色为蓝色,即只能通过 HTTP 协议调用服务。
HTTP 协议是同步的,也是面向请求/响应的。
这似乎与事件性质相矛盾,我们应该着眼于设计面向订阅/通知和异步的系统。
图中服务消息的来源是 Kafka。那是一个消息代理,其主要目的是支持异步消息传递和订阅/通知案例。
为什么 KNative Eventing 会将原始通道传输性质从异步订阅/通知更改为调用服务的同步请求/响应。
在 KNative Eventing 中只能通过 HTTP 调用服务是真的吗(无需自定义工作来开发自己的 sidecar 和服务包装器)?这看起来是一个很大的限制。
如果是,为什么会这样?是故意这样做的,还是临时解决方案。为什么服务不能直接从通道(例如由 Kafka 支持)消费以及为什么“通道订阅者”不能内置到服务 Docker 映像包装器或边车中。
docker - 用于 Google Cloud Functions 的 Dockerfile
我正在阅读关于谷歌云的这篇 GitOps 风格的文章,我现在想知道如何用谷歌云存储 (GCS) 触发的谷歌云函数 (GCF)替换他们从这里克隆的示例python 应用程序。
本文介绍了如何对 GCF 进行单元测试、集成测试和系统测试,我想将其应用到 GitOps 风格的持续交付示例中。但是,为了这个目的,我需要一个类似于这个的特定 Dockerfile(我想)(但与 node.js 相关):
也许还有yaml文件。如果你能给我一些指示,我会很高兴。作为一个整体,我对 docker、容器和 kubernetes 还是很陌生。
据我了解,Dockerfile 的语法描述了您的项目类型及其运行时。所以,就我而言,我想我需要描述 Google 的运行时来执行云功能。我不确定这可能吗?
google-kubernetes-engine - Knative 服务不能被 Knative Broker & Trigger 触发
我正在 GKE 中测试 Knative,这是我想做的:
但是,我在“default-broker-filter”的日志中收到以下错误:
我使用这个官方教程使用以下命令安装 Knative:
这是我用来在 python 中安装触发器和服务 hello world 的 yaml 模板:
然后我创建一个 pod 来执行我的 curl 命令:
你能告诉我这是怎么回事,因为我整个周末都没有找到任何线索吗?
谢谢,
docker - KNative Service 无法从 Docker HUB 下载 Hello World 镜像
我正在使用 Vagrant 和 Vbox 在我的 Mac 上部署一个 Kubernetes。然后我安装了 Istio、Knative Serving 和 Eventing。
然后我定义了一个service.yaml
包含以下内容的文件:
sasadangelo/hello-k8s 是一个 Hello World !!!我在 Docker HUB 上构建和部署的 docker 应用程序。我的问题是,当我尝试使用kubect apply
命令部署它时,一切正常,但没有部署 Pod。我看到已部署的服务,但是当我对其进行分析时,kubect describe
我看到以下错误消息:
我不清楚为什么它不能从 Docker HUB 下载图像。我的 Vagrant VM 正确访问 Internet 和命令:
工作正常。
由于我是 Knative 的新手,我怀疑我在 Knative 配置中遗漏了一些东西。任何人都可以帮忙吗?
tls1.2 - Knative:启用自动 TLS 证书配置 - 不起作用
我正在尝试“启用自动 TLS 证书配置”
我有一个工作的 ClusterIssuer(状态:“True”),我可以手动创建证书(状态:“True”)。
我正在尝试启用Automatic TLS provision mode。
环境设置:
我有以下网关:
并且在申请时:
我可以(注意:httpsRedirect:false):
但是在尝试使用 https 时:
还:
Knative 文档状态:“在这种模式下,将为每个命名空间配置一个证书,并在 Knative 中重复使用”,但我在任何命名空间中都看不到任何证书。
请注意,kubectl get ksvc
url 是 http 而不是 https:
google-cloud-platform - Google 是否会阻止 Knative tls 设置?
我花了一周时间尝试在 Google Kubernetes Engine 上设置Knative 自动启用 tls 。
现在我刚刚发现了这一点,我不愿意完全混淆一切。
这会阻止现有的 Kubernetes(GKE)吗?
如果我选择第二个,它会为 https 开放吗?
kubernetes - Knative 服务 http 超时设置
需要哪些设置来确保队列代理在 60 秒内不超时?我的 http 请求在 60 秒内超时,并且 queue-proxy 有这些错误消息
版本和设置如下。
Knative 版本 v0.11.0
Istio 版本:1.3.5
KnativeService:
当 maxScaling 设置为 1 并且每个请求花费超过 60 秒时,队列中的其他请求将超时。
kubernetes - 在 istio-system 命名空间中找不到 cluster-local-gateway
我正在使用 Knative 在 K8s 中部署无服务器应用程序,最近我遇到了 istio-system 命名空间中缺少 cluster-local-gateway 的情况,这有什么原因..?恐怕在最新版本中 istio 删除了它,或者它必须由 Knative 方面完成。仅供参考 - 我在启用 Istio 的 GCP 中进行部署。我没有手动安装 istio