我可以在 Google Cloud Run 或 Cloud Run on GKE 上从另一个容器创建服务或容器吗?
我基本上想从另一个容器动态管理我的容器/服务,但不知道该怎么做
添加更多细节:
我的一个微服务需要创建新的隔离容器来运行一些用户级代码。我想对这些容器进行完整的生命周期控制,运行代码,然后根据需要销毁。
我还查看了 Cloud Run API,但不确定如何通过 API 运行类似“kubectl create ...”的内容?这是正确的方法吗?
我可以在 Google Cloud Run 或 Cloud Run on GKE 上从另一个容器创建服务或容器吗?
我基本上想从另一个容器动态管理我的容器/服务,但不知道该怎么做
添加更多细节:
我的一个微服务需要创建新的隔离容器来运行一些用户级代码。我想对这些容器进行完整的生命周期控制,运行代码,然后根据需要销毁。
我还查看了 Cloud Run API,但不确定如何通过 API 运行类似“kubectl create ...”的内容?这是正确的方法吗?
是的,您应该能够从 Cloud Run 服务部署 Cloud Run 服务。
--allow-unauthenticated
需要设置 IAM 权限的应用程序,那么 Editor 角色是不够的,因为您需要 GCP 项目的 Owner 角色。从那里,您有几个选择:
直接使用 REST API:由于run.googleapis.com
其行为类似于 Kubernetes API 服务器,您可以直接应用 Knative Services 的 JSON 对象。(您可以gcloud ... --log-http
用来了解如何使用 REST API 请求进行部署)。
使用gcloud
:您可以使用 gcloud 运送您的容器映像并从您的进程中调用它。
使用 Google Cloud 客户端库:您可以使用 Cloud Run 可用的客户端库(例如这个Go 库)来构建内存中的 Service 对象,并使用更高级别的客户端库将它们发送到 API (推荐方法)