本頁面說明如何建立服務及查看服務的相關資訊。「服務」是 Knative serving 的主要資源。
建立 Service
您可藉由第一次在服務中部署容器映像檔的方式,建立新服務及其修訂版本。如要進一步瞭解如何建立服務,請參閱「部署新服務」。
查看專案裡的服務清單
您可以使用Google Cloud 控制台或 Google Cloud CLI,查看專案可用服務的清單:
控制台
如要查看服務清單:
前往 Google Cloud 控制台的 Knative Serving:
檢查專案顯示的服務清單:
指令列
如要列出專案中的服務:
gcloud run services list
您可以依服務定義的屬性 (例如指派的標籤) 篩選這份清單。
複製服務
您可以使用 Google Cloud 控制台或 YAML 複製現有服務。 您可以隨意變更副本中的任何內容,包括名稱和區域。
控制台
如要複製服務,請按照下列步驟操作:
前往 Google Cloud 控制台的 Knative Serving:
從專案顯示的服務清單中,選取要複製的服務:
按一下「複製」。
在服務副本頁面中,設定或變更您要變更的任何值,例如區域等。如果保留相同區域,則必須為服務提供新名稱。
按一下「建立」即可建立副本,並使用新服務名稱部署副本。
YAML
您可以使用 gcloud run services describe
指令和 --format=export
標記,將現有服務的設定下載到 YAML 檔案中。然後修改該 YAML 檔案,並使用 gcloud run services replace
指令部署這些變更。請務必只修改指定的屬性。
將服務設定下載到本機工作區中名為
service.yaml
的檔案:gcloud run services describe SERVICE --format export > service.yaml
將 SERVICE 替換為 Knative 服務服務名稱。
如要變更服務設定,請參閱各設定頁面的說明。
apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: ... name: SERVICE ... spec: template: metadata: annotations: ... name: REVISION-NAME
如果將副本部署到相同的 Kubernetes 叢集,請將 SERVICE 替換為要用於副本的名稱。如果您要將副本部署至其他 Kubernetes 叢集,可以使用相同名稱。
請確認 REVISION-NAME 的值是以服務名稱 (SERVICE) 開頭。舉例來說,如果新服務名稱為
mynewfoo
,則修訂版本名稱的格式必須為mynewfoo-whatever
。您也可以完全刪除值,系統會自動建立新的修訂版本名稱。
使用下列指令複製服務:
gcloud run services replace service.yaml
使用
--region
旗標將副本部署到其他區域。
查看服務的詳細資訊
如要查看服務的詳細資訊:
主控台
如要查看服務的詳細資料:
指令列
如要查看服務的詳細資料:
gcloud run services describe SERVICE
您可以使用 --format
標記設定輸出內容的格式。例如,以 YAML 格式表示:
gcloud run services describe SERVICE --format yaml
您可以使用 --format export
匯出為 YAML,但不會自動產生標籤或狀態:
gcloud run services describe SERVICE --format export
您也可以使用 --format
旗標取得服務的網址:
gcloud run services describe SERVICE --format='value(status.url)'
如要瞭解服務的修訂版本,請參閱「管理修訂版本」。
變更服務連線設定
Knative serving 服務可從下列兩個連線選項中選擇一個:
「外部」,可供外部存取服務
「內部」,限制僅能存取叢集中的其他服務。
您可以使用主控台或 Google Cloud CLI 變更設定。
控制台
如要變更服務連線設定:
前往 Google Cloud 控制台的 Knative Serving:
按一下專案顯示的服務清單中想要的服務,開啟服務詳細資料畫面:
按一下「觸發條件」分頁標籤。
選取想要的設定,然後按一下 [Save] (儲存) 。
指令列
如要變更連線設定,請使用想要的連線設定更新服務:
gcloud run services update [SERVICE] --connectivity=[OPTION]
將
[SERVICE]
替換為要更新的服務名稱。 您可以將這個參數完全省略,這樣系統會提示您輸入服務名稱。將
[OPTION]
替換為internal
或external
。
刪除現有服務
刪除服務會刪除此服務的所有相關資源,包含此服務的所有修訂版本,無論他們是否提供流量。
刪除服務時,已刪除修訂版本所使用的容器映像檔不會從 Container Registry 中自動刪除。如要從 Container Registry 刪除容器映像檔,請參閱「刪除映像檔」。
請注意,刪除服務是永久性的,無法取消或還原。 不過,若在刪除服務之後,您在相同叢集使用相同名稱來部署新服務,該服務會具備相同的端點網址。
控制台
如要刪除服務:
前往 Google Cloud 控制台的 Knative Serving:
在服務清單中找出您要刪除的服務,然後按一下核取方塊來選取。
按一下 [DELETE] (刪除),如此便會刪除服務的所有修訂版本。
指令列
如要刪除服務,請使用以下指令:
gcloud run services delete [SERVICE]
將 [SERVICE]
改為您的服務名稱。