这并不难,但您需要先熟悉 Cloud Run 服务。 Cloud Run 实现了Knative API,Cloud Run 的优势之一是保证了 Cloud Run 和任何在其之上使用 Knative 的 K8S 集群的可移植性。
因此,
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-type: application/json" \
-X POST -d @knative.json \
https://us-central1-run.googleapis.com/apis/serving.knative.dev/v1/namespaces/<Project_ID>/services
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-type: application/json" \
-X PUT -d @knative.json \
https://us-central1-run.googleapis.com/apis/serving.knative.dev/v1/namespaces/<Project_ID>/services/<ServiceName>
由于 Cloud Run 与 Knative 兼容,文件 knative.json 的内容是 Knative document(在我的示例中为 JSON)
{
"apiVersion": "serving.knative.dev/v1",
"kind": "Service",
"metadata": {
"name": "<ServiceName>",
"namespace": "<Project_ID>"
},
"spec": {
"template": {
"spec": {
"containers": [
{
"image": "gcr.io/knative-samples/helloworld-go",
"env": [
{
"name": "TARGET",
"value": "Go Sample v2"
}
]
}
]
}
}
}
}
在本文档中记下您需要更改的服务名称和命名空间 (projectID)。