问题标签 [knative-serving]
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.
go - 如何使用代码生成器为自定义资源定义生成代码
我想使用服务 api,它是 knative 服务仓库的一部分来创建服务应用程序。由于我正在编写自定义控制器,因此我需要使用 Go 客户端。我发现很难使用代码生成器生成样板代码。我正在关注下面提到的关于如何做到这一点的博客。
- https://insujang.github.io/2020-02-13/programming-kubernetes-crd/#write-template-code
- https://blog.openshift.com/kubernetes-deep-dive-code-generation-customresources/
但我无法实现。任何帮助表示赞赏。
docker - Knative - kubernetes yaml 从谷歌云存储挂载数据
我是使用 YAML 文件进行 Kubernetes 和 Cloudrun 部署的新手,所以请原谅这个问题应该非常基本。
问题:我有存储在云存储中的文件。我想在容器启动我的 docker 入口点之前将这些文件下载到本地挂载中。
据我了解,KNative 不支持volumes 或persistentVolumeClaims。
如果这种理解是错误的,请纠正我。
在 Kubernetes pod 内部,我将容器启动分为 3 个部分。
- Prehook 从 GCS(Google 云存储)下载文件 -> 这会将文件从 google 存储复制到本地挂载。可以使用某种带有 clouddk 映像的 init 容器,然后使用 gsutils 将文件复制下来。
- 本地挂载文件系统 -> prehook 将写入此挂载。具有“容器映像”的容器也可以访问此挂载。
- 容器图像 -> 这是我在容器中运行的主要容器图像。
我正在寻找适用于 cloudrun 的 Knative 服务解决方案。我该如何解决这个问题?
另外,是否可以在没有 Knative 服务的情况下使用 yaml 文件来创建 cloudrun 服务?
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/
autoscaling - 如何告诉 Knative Pod Autoscaler 不要杀死正在进行的长时间运行的 pod
我的目标: 实现一个每周运行一次的 cron 作业,我打算在 Knative 上实现这个拓扑以节省计算资源:
PingSource -> knative 服务
PingSource 将每周一次向 knative 服务发出一个虚拟事件,以调出 1 个 knative 服务 pod。knative service pod 会获取大量数据,然后进行处理。
我的担心:
如果我设置enable-scale-to-zero
为 true,Knative pod 自动缩放器可能会关闭 knative 服务 pod,即使该 pod 尚未完成其工作。
到目前为止,我探索了:
scale-to-zero-grace-period
which 可以配置为告诉自动缩放器在最后一个流量结束后应该等待多长时间才能关闭 pod 。但我不认为这种方法是微妙的。我更喜欢有点类似于 readinessProbe 或 livenessProbe。在发送终止信号之前,自动缩放器应该发送一个探测来了解 pod 是否正在处理某些东西。此外,根据 knative 的文档,有两种类型的事件接收器:可调用和可寻址。Addressable 和 Callable 都返回响应或确认。knative 自动缩放器是否会将 pod 视为处理请求,直到 pod 返回响应/确认?所以只要 pod 没有响应,它就不会被自动缩放器移除。
google-cloud-platform - 为什么我的 knative 触发状态 Unknown 由于 TopicReady Unknown?
最近我正在尝试 Knative 示例https://github.com/meteatamel/knative-tutorial/blob/master/docs/image-processing-pipeline.md,我使用默认代理(MTChannelBasedBroker)和触发器创建了 knative 触发器,我还在同一个命名空间中安装了 Google Cloud Pub/Sub Channel。我不确定是什么导致了这个错误。
go - 在 go 中列出服务
我正在尝试列出 knative (v0.17.0) services
,我有一个clientset
但我不知道从哪里开始。这是我为测试启动的服务:
如果您有任何建议、教程或示例,那就太好了
knative - 如何扩展 knative 服务功能并为其添加新功能?
我目前正在评估 Knative Serving 作为将我的应用程序部署到 Kubernetes 的替代方案。我想知道是否有可能扩展 Knative 功能以为我的应用程序开发人员提供更多功能,例如,我希望他们定义其他自定义基础架构,如云数据库,或者让他们配置 Istio 功能,如授权策略,仅使用服务 yaml 清单,无需部署其他 Kubernetes yaml。归根结底,我只想将 Knative Service 作为我的应用程序合同,而不是其他任何东西。
是否有可能做到这一点?有没有关于如何做的文件?
tensorflow-serving - KFServing pod“错误:容器存储初始化程序无效”
我是 KFServing 和 Kubeflow 的新手。
我正在关注https://github.com/kubeflow/kfserving/tree/master/docs/samples/v1alpha2/tensorflow来部署一个简单的推理服务。
但是,在查看日志时,我找不到容器存储初始化程序。我的预测服务 pod 拥有的唯一容器是 kfserving 和 queue-proxy。
我目前在 IBM Cloud 上使用 Kubeflow 1.2 和 Kubernetes 1.17。
kubernetes - 无法解析主机:http://helloworld-go.default.mydomain.com knative
我是 Knative 的新手。我已经安装了用于集群支持的 minikube 和 knative 所需的所有工具。在参考此创建服务时:https://knative.dev/docs/serving/getting-started-knative-app/
我得到以下输出:
- 按预期创建服务命令输出):
kn service create helloworld-go --image gcr.io/knative-samples/helloworld-go --env TARGET="Go Sample v1"
在命名空间“默认”中创建服务“helloworld-go”:
0.047s 配置仍在工作以反映最新的所需规范。0.407s 路线仍在努力反映最新的所需规范。0.522s 配置“helloworld-go”正在等待修订准备就绪。12.683s ... 12.882s Ingress 尚未协调。15.143s 准备发球。
创建到最新版本 'helloworld-go-yvtlp-1' 的服务 'helloworld-go' 可在以下 URL 获得:http: //helloworld-go.default.mydomain.com
- 这是我的服务:
kn service describe helloworld-go
名称:helloworld-go 命名空间:默认年龄:18 岁 URL: http ://helloworld-go.default.mydomain.com
修订:100% @latest (helloworld-go-yvtlp-1) [1] (18s) 图片:gcr.io/knative-samples/helloworld-go(固定到 5ea96b)
条件:OK TYPE AGE REASON ++ Ready 3s ++ ConfigurationsReady 5s ++ RoutesReady 3s
- 但是当我试图卷曲时,它给了我错误:
curl http://helloworld-go.default.mydomain.com -v
- 无法解析主机:helloworld-go.default.mydomain.com
- 关闭连接 0 curl:(6)无法解析主机:helloworld-go.default.mydomain.com
有人可以帮忙吗?