管理服務

本頁面說明如何建立服務及查看服務的相關資訊。「服務」是 Knative serving 的主要資源。

建立 Service

您可藉由第一次在服務中部署容器映像檔的方式,建立新服務及其修訂版本。如要進一步瞭解如何建立服務,請參閱「部署新服務」。

查看專案裡的服務清單

您可以使用Google Cloud 控制台或 Google Cloud CLI,查看專案可用服務的清單:

控制台

如要查看服務清單:

  1. 前往 Google Cloud 控制台的 Knative Serving:

    前往 Knative serving

  2. 檢查專案顯示的服務清單:

指令列

如要列出專案中的服務:

gcloud run services list

您可以依服務定義的屬性 (例如指派的標籤) 篩選這份清單。

複製服務

您可以使用 Google Cloud 控制台或 YAML 複製現有服務。 您可以隨意變更副本中的任何內容,包括名稱和區域。

控制台

如要複製服務,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的 Knative Serving:

    前往 Knative serving

  2. 從專案顯示的服務清單中,選取要複製的服務:

    1. 按一下「複製」

    2. 在服務副本頁面中,設定或變更您要變更的任何值,例如區域等。如果保留相同區域,則必須為服務提供新名稱。

    3. 按一下「建立」即可建立副本,並使用新服務名稱部署副本。

YAML

您可以使用 gcloud run services describe 指令和 --format=export 標記,將現有服務的設定下載到 YAML 檔案中。然後修改該 YAML 檔案,並使用 gcloud run services replace 指令部署這些變更。請務必只修改指定的屬性。

  1. 將服務設定下載到本機工作區中名為 service.yaml 的檔案:

    gcloud run services describe SERVICE --format export > service.yaml

    SERVICE 替換為 Knative 服務服務名稱。

  2. 如要變更服務設定,請參閱各設定頁面的說明。

     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。您也可以完全刪除值,系統會自動建立新的修訂版本名稱。

  3. 使用下列指令複製服務:

    gcloud run services replace service.yaml

    使用 --region 旗標將副本部署到其他區域。

查看服務的詳細資訊

如要查看服務的詳細資訊:

主控台

如要查看服務的詳細資料:

  1. 前往 Google Cloud 控制台的 Knative Serving:

    前往 Knative serving

  2. 按一下專案顯示的服務清單中想要的服務,以開啟服務詳細資料檢視畫面:

  3. 請注意「REVISIONS」(修訂版本)、「LOGS」(記錄) 和「DETAILS」(詳細資料) 分頁。修訂版本分頁會列出修訂版本清單,記錄分頁會顯示服務記錄,詳細資料分頁則顯示目前的驗證連線設定。

指令列

如要查看服務的詳細資料:

gcloud run services describe SERVICE
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 變更設定。

控制台

如要變更服務連線設定:

  1. 前往 Google Cloud 控制台的 Knative Serving:

    前往 Knative serving

  2. 按一下專案顯示的服務清單中想要的服務,開啟服務詳細資料畫面:

  3. 按一下「觸發條件」分頁標籤。

  4. 選取想要的設定,然後按一下 [Save] (儲存)

指令列

如要變更連線設定,請使用想要的連線設定更新服務:

gcloud run services update [SERVICE] --connectivity=[OPTION]
  • [SERVICE] 替換為要更新的服務名稱。 您可以將這個參數完全省略,這樣系統會提示您輸入服務名稱。

  • [OPTION] 替換為 internalexternal

刪除現有服務

刪除服務會刪除此服務的所有相關資源,包含此服務的所有修訂版本,無論他們是否提供流量。

刪除服務時,已刪除修訂版本所使用的容器映像檔不會從 Container Registry 中自動刪除。如要從 Container Registry 刪除容器映像檔,請參閱「刪除映像檔」。

請注意,刪除服務是永久性的,無法取消或還原。 不過,若在刪除服務之後,您在相同叢集使用相同名稱來部署新服務,該服務會具備相同的端點網址。

控制台

如要刪除服務:

  1. 前往 Google Cloud 控制台的 Knative Serving:

    前往 Knative serving

  2. 在服務清單中找出您要刪除的服務,然後按一下核取方塊來選取。

  3. 按一下 [DELETE] (刪除),如此便會刪除服務的所有修訂版本。

指令列

如要刪除服務,請使用以下指令:

gcloud run services delete [SERVICE]

[SERVICE] 改為您的服務名稱。