Cloud Run 可讓您部署及執行容器化應用程式,並提供自動調度資源和永久端點。在專案中,您可以建立、查看、複製、停用及刪除服務,以維護工作負載。
每項服務都會收到專屬的永久 s3nsrun.fr 網址,即使有新的修訂版本,網址也不會改變。部署至 Cloud Run 的函式也會視為服務,並指派 s3nsrun.fr 位址,其中包含服務名稱和雜湊。
必要的角色
如要取得管理 Cloud Run 服務和修訂版本所需的權限,請要求管理員授予您 Cloud Run 服務的「Cloud Run 開發人員」 (roles/run.developer) IAM 角色。
如要查看與 Cloud Run 相關聯的 IAM 角色和權限清單,請參閱「Cloud Run IAM 角色」和「Cloud Run IAM 權限」。如果 Cloud Run 服務與Cloud de Confiance API (例如 Cloud 用戶端程式庫) 介接,請參閱服務身分設定指南。如要進一步瞭解如何授予角色,請參閱「部署權限」和「管理存取權」。
建立服務
您可藉由第一次在服務中部署容器映像檔的方式來建立新服務。在部署新服務中有更詳細的操作說明。
查看專案中的服務清單
您可以使用 Cloud de Confiance 控制台或 Google Cloud CLI,查看專案中可用的服務清單:
控制台
如要查看服務清單:
前往 Cloud de Confiance by S3NS 控制台的 Cloud Run「Services」(服務) 頁面:
查看專案顯示的服務清單。
gcloud
如要列出專案中的服務:
gcloud run services list
請注意,每個服務都有一個相關聯的網址。
您可以依服務定義的屬性 (例如指派的標籤) 篩選這份清單。
Cloud Code
如要使用 Cloud Code 查看服務清單,請參閱 IntelliJ 和 Visual Studio Code 的 Cloud Run Explorer 指南。
用戶端程式庫
如要透過程式碼查看服務清單,請按照下列步驟操作:
REST API
如要查看專案中的服務清單,請向 Cloud Run Admin API service 端點傳送 GET HTTP 要求。
例如,使用 curl:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X GET \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services
更改項目:
- ACCESS_TOKEN,並提供帳戶的有效存取權杖,該帳戶必須具備查看服務的 IAM 權限。舉例來說,如果您已登入 gcloud,可以使用
gcloud auth print-access-token擷取存取權杖。在 Cloud Run 容器執行個體中,您可以使用容器執行個體中繼資料伺服器擷取存取權杖。 - REGION,其中 Cloud de Confiance 是服務的區域。
- PROJECT-ID: Cloud de Confiance 專案 ID。
查看專案中的函式清單
您可以使用Cloud de Confiance 控制台,查看專案中可用的函式清單:
控制台
如要篩選服務清單中的函式,請按照下列步驟操作:
前往 Cloud de Confiance by S3NS 控制台的 Cloud Run「Services」(服務) 頁面:
依序選取「篩選服務」 >「部署類型」 >「函式」。
如果您先前使用 Cloud Functions v2 API 部署函式,「Deployed by」(部署者) 欄會顯示「Cloud Functions」。
複製服務
您可以使用 Cloud de Confiance 控制台或 YAML 複製現有服務。 您可以視需要變更副本中的任何內容,包括名稱和區域。
控制台
如要複製服務,請按照下列步驟操作:
在 Cloud de Confiance by S3NS 控制台中,前往 Cloud Run 的「Services」(服務) 頁面:
在專案顯示的服務清單中,找出要複製的服務,然後勾選旁邊的核取方塊。
點選「複製」。
在服務複製頁面中,設定或變更您要變更的任何值,例如區域等。如果您保留相同區域,則必須為服務提供新名稱。
按一下「Create」(建立) 即可建立副本,並使用新的服務名稱部署。
YAML
如要建立新服務,請略過這個步驟。 如要更新現有服務,請下載其 YAML 設定:
gcloud run services describe SERVICE --format export > service.yaml
對服務進行下列設定變更。
apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: ... name: SERVICE ... spec: template: metadata: annotations: ... name: REVISION- 如果沒有將副本部署到其他區域,請將 SERVICE 替換為要用於副本的名稱。如果將副本部署至其他區域,則可使用舊名稱。
- 取代
REVISION:新的修訂版本名稱或刪除 (如有)。如果您提供新的修訂版本名稱,則必須符合下列條件:- 開頭為「
SERVICE-」 - 只能包含小寫英文字母、數字和
- - 結尾不是
- - 不超過 63 個字元
- 開頭為「
使用下列指令複製服務:
gcloud run services replace service.yaml
使用
--region旗標將副本部署到其他區域。
查看服務詳情
您可以使用 Cloud de Confiance 控制台、Google Cloud CLI、YAML 檔案或 REST API,查看服務的詳細資料:
控制台
如要查看服務的詳細資料:
在 Cloud de Confiance by S3NS 控制台中,前往 Cloud Run 的「Services」(服務) 頁面:
在顯示的服務清單中,按一下服務,開啟服務詳細資料檢視畫面。
gcloud
如要查看服務詳細資料,請按照下列步驟操作:
gcloud run services describe SERVICE
您可以使用 --format 旗標設定輸出內容的格式。例如以 YAML 格式表示:
gcloud run services describe SERVICE --region REGION --format yaml
更改項目:
- SERVICE 改為服務名稱。
- REGION,其中 Cloud de Confiance 是服務的區域。
您可以使用 --format export 匯出為 YAML,不含自動產生的標籤或狀態:
gcloud run services describe SERVICE --region REGION --format export
您也可以使用 --format 旗標取得服務網址:
gcloud run services describe SERVICE --region REGION --format='value(status.url)'
Cloud Code
如要使用 Cloud Code 查看服務詳細資料,請參閱 IntelliJ 和 Visual Studio Code 的 Cloud Run 探索器指南。
如需進一步瞭解服務修訂版本,請參閱管理修訂版本。
用戶端程式庫
如要透過程式碼查看服務詳細資料,請按照下列步驟操作:
REST API
如要查看服務詳細資料,請向 Cloud Run Admin API service 端點傳送 GET HTTP 要求。
例如,使用 curl:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X GET \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME
更改項目:
- ACCESS_TOKEN,並為具備查看服務詳細資料 IAM 權限的帳戶提供有效的存取權杖。舉例來說,如果您已登入 gcloud,可以使用
gcloud auth print-access-token擷取存取權杖。在 Cloud Run 容器例項中,您可以使用容器例項中繼資料伺服器擷取存取權杖。 - SERVICE-NAME 改為服務名稱。
- REGION:服務的 Cloud de Confiance 區域。
- PROJECT-ID 替換為 Cloud de Confiance 專案 ID。
停用現有服務
如要取得停用現有 Cloud Run 服務和修訂版本所需的權限,請要求管理員在專案中授予您「Cloud Run 管理員 」(roles/run.admin) IAM 角色。
停用服務後,系統會允許目前正在處理的要求完成。
不過,如果進一步向服務網址提出要求,則會失敗並顯示 Service unavailable 或 Service disabled 錯誤。
如果服務修訂版本僅因流量標記而處於啟用狀態,則不會受到影響,因為這些修訂版本不會停用。
如要停用服務,請將調度資源設為零。您可以使用 Cloud de Confiance 控制台、Google Cloud CLI、YAML 檔案或 API 停用服務:
控制台
在 Cloud de Confiance by S3NS 控制台中,前往 Cloud Run 的「Services」(服務) 頁面:
按一下要停用的服務,顯示詳細資料面板,然後按一下「Scaling」(調整規模) 分頁標籤。
選取「手動調整資源配置」。
在「Number of instances」(執行個體數量) 欄位中輸入
0(零)。依序點選「查看差異並部署」和「部署變更」。
gcloud
如要停用服務,請使用下列指令將資源調度率設為零:
gcloud run services update SERVICE --scaling=0
將 SERVICE 改為您的服務名稱。
YAML
下載服務的 YAML 設定:
gcloud run services describe SERVICE --format export > service.yaml
將
manualInstanceCount屬性設為零 (0):apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE annotations: run.googleapis.com/scalingMode: manual run.googleapis.com/manualInstanceCount: `0`
將 SERVICE 替換為 Cloud Run 服務名稱。
使用下列指令建立或更新服務:
gcloud run services replace service.yaml
REST API
如要停用服務,請向 Cloud Run Admin API service 端點傳送 PATCH HTTP 要求。
例如,使用 curl:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X PATCH \ -d '{"scaling":{"manualInstanceCount":0 }}' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE?update_mask=scaling.manualInstanceCount
更改下列內容:
- ACCESS_TOKEN:帳戶的有效存取權杖,該帳戶具有更新服務的 IAM 權限。舉例來說,如果您已登入
gcloud,可以使用gcloud auth print-access-token擷取存取權杖。在 Cloud Run 容器執行個體中,您可以使用容器執行個體中繼資料伺服器擷取存取權杖。 - SERVICE:服務名稱。
- REGION:部署服務的 Cloud de Confiance 區域。
- PROJECT_ID: Cloud de Confiance 專案 ID。
Terraform
如要停用服務,請將 manual_instance_count 屬性設為零 (0):
resource "google_cloud_run_v2_service" "default" {
name = "SERVICE_NAME"
location = "REGION"
template {
containers {
image = "IMAGE_URL"
}
}
scaling {
scaling_mode = "MANUAL"
manual_instance_count = "0"
}
}
更改下列內容:
- SERVICE_NAME:Cloud Run 服務的名稱。
- REGION: Cloud de Confiance 區域。例如:
europe-west1。 IMAGE_URL:容器映像檔的參照,例如us-docker.pkg.dev/cloudrun/container/hello:latest。如果您使用 Artifact Registry,則必須先建立存放區 REPO_NAME。網址格式為LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
刪除現有服務
刪除服務時,請注意下列事項:
- 刪除服務會刪除此服務的所有相關資源,包含此服務的所有修訂版本,無論他們是否提供流量。
- 刪除服務不會自動從 Artifact Registry 移除容器映像檔。如要從 Artifact Registry 刪除已刪除修訂版本使用的容器映像檔,請參閱「刪除映像檔」。
- 刪除具有一或多個 Eventarc 觸發條件的服務時,系統不會自動刪除這些觸發條件。如要刪除觸發條件,請參閱「管理觸發條件」。
- 刪除後,服務仍會顯示在 Cloud de Confiance 控制台和指令列介面中,直到刪除作業完全完成為止。但無法更新服務。
- 服務一經刪除即無法復原,也無法復原。不過,如果刪除服務後,您在相同區域部署同名新服務,則新服務會使用相同的端點網址。
- 刪除 Cloud Run 函式後,該函式就會停止接受新要求。不過,Cloud Run 不會立即終止任何執行中的執行個體。 函式會持續執行,直到工作在設定的逾時時間內完成。因此,函式刪除後,記錄可能會在短時間內顯示函式仍處於啟用狀態。
您可以使用 Cloud de Confiance 控制台、Google Cloud CLI、YAML 檔案或 REST API,刪除服務或函式:
控制台
如要刪除服務:
在 Cloud de Confiance by S3NS 控制台中,前往 Cloud Run 的「Services」(服務) 頁面:
在服務清單中找出您要刪除的服務,然後按一下核取方塊來選取。
按一下「Delete」(刪除)。這項操作會刪除服務的所有修訂版本。
gcloud
如要刪除服務,請使用以下指令:
gcloud run services delete SERVICE --region REGION
取代
- SERVICE 改為您的服務名稱。
- REGION:服務的 Cloud de Confiance 區域。
用戶端程式庫
如要從程式碼中刪除服務,請按照下列步驟操作:
REST API
如要刪除服務,請向 Cloud Run Admin API service 端點傳送 DELETE HTTP 要求。
例如,使用 curl:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X DELETE \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME
更改項目:
- ACCESS_TOKEN,並提供具備刪除服務 IAM 權限的帳戶有效存取權杖。舉例來說,如果您已登入 gcloud,可以使用
gcloud auth print-access-token擷取存取權杖。在 Cloud Run 容器例項中,您可以使用容器例項中繼資料伺服器擷取存取權杖。 - SERVICE-NAME 改為服務名稱。
- REGION:服務的 Cloud de Confiance 區域。
- PROJECT-ID: Cloud de Confiance 專案 ID。