本頁說明如何建立 Service Extensions 外掛程式,以便使用 Google Cloud 服務實作擴充功能。
這項功能為 Media CDN 的預先發布版。
如需產品總覽,請參閱「Service Extensions 總覽」。
事前準備
如果尚未啟用,請啟用 Network Services API。
gcloud services enable networkservices.googleapis.com
如果是 Media CDN 外掛程式,如要啟用記錄功能,請啟用 Network Actions API。
gcloud services enable networkactions.googleapis.com
建立外掛程式資源
建立外掛程式資源時,必須指定包含外掛程式程式碼的映像檔,並指定外掛程式的標籤和記錄選項。
控制台
如要建立外掛程式,請按照下列步驟操作:
前往 Google Cloud 控制台的「Service Extensions」頁面。
按一下「外掛程式」分頁標籤。
按一下「建立外掛程式」。
在「Basics」(基本) 部分,執行下列操作:
在「範圍」部分,選取「全域」或「區域」。
如果將範圍設為「區域」,請一併選取區域。
輸入不重複的外掛程式名稱。
名稱開頭須為小寫英文字母,後方最多可接 62 個小寫英文字母、數字或連字號,但結尾不得為連字號。
選用:輸入外掛程式的簡短說明,最多 1024 個半形字元。
在「Wasm image」(Wasm 映像檔) 部分,執行下列操作:
在「外掛程式版本名稱」部分,指定外掛程式版本的名稱。
名稱開頭須為小寫英文字母,後方最多可接 62 個小寫英文字母、數字或連字號,但結尾不得為連字號。
選用:在「外掛程式版本說明」中輸入外掛程式版本的簡短說明,最多 1024 個字元。
在「圖片網址」中,輸入含有 Wasm 模組的一般構件或容器映像檔網址,該網址位於 Artifact Registry 窗格中。使用一般存放區的選項位於「預覽」。
如要在 Docker 存放區中指定容器映像檔,也可以按一下「選取」,然後瀏覽並選取該映像檔。Artifact Registry 窗格會顯示連結至目前專案的存放區中的資料夾。
如要選取其他專案的圖片,請確認服務擴展功能有權存取該圖片,然後按一下專案名稱旁的「變更」。
選用:在「外掛程式設定」部分,如要將設定資料與外掛程式建立關聯,請選取「新增外掛程式設定」核取方塊,然後選取下列任一選項:
上傳外掛程式設定檔。如果檔案大小小於 900 KiB,且位於本機磁碟機,請按一下「瀏覽」找出並選取檔案。
從 Artifact Registry 選取外掛程式設定映像檔或構件。在 Artifact Registry 窗格中,輸入含有 Wasm 模組的一般構件或容器映像檔的網址。使用一般存放區的選項位於「預覽」。
如要在 Docker 存放區中指定容器映像檔,也可以按一下「選取」瀏覽並選取。Artifact Registry 窗格會顯示連結至目前專案的存放區中的資料夾。
選用:在「標籤」部分中,按一下「新增標籤」。接著,在顯示的列中執行下列操作:
- 在「Key」中輸入金鑰名稱。
- 在「值」中輸入索引鍵的值。
最多可新增 64 個鍵/值組合。如要新增更多鍵/值組合,請按一下「新增標籤」。
如要進一步瞭解標籤,請參閱「建立及更新專案標籤」。
選用步驟:在「Logging」(記錄) 部分,選取「Enable logging」(啟用記錄功能),然後執行下列操作:
請為「取樣率」指定介於
0和1之間的值。0值表示系統不會儲存記錄訊息。預設值1表示系統會儲存所有記錄訊息。介於0.0和1.0之間的浮點值,表示儲存的記錄訊息百分比。在「最低記錄層級」中,選取要匯出至 Cloud Logging 的外掛程式記錄訊息最低嚴重性等級。預設值為
Info and higher。
點選「建立」。
gcloud
執行
gcloud service-extensions wasm-plugins create指令來建立外掛程式:gcloud service-extensions wasm-plugins create WASM_PLUGIN \ --description=PLUGIN_DESCRIPTION \ --location=LOCATION \ --labels=[LABELS,...] \ --log-config=[LOG_CONFIG,...] \ --image=IMAGE \ --main-version=MAIN_VERSION \ --plugin-config=PLUGIN_CONFIG | --plugin-config-file=PLUGIN_CONFIG_FILE | --plugin-config-uri=PLUGIN_CONFIG_URI更改下列內容:
WASM_PLUGIN:外掛程式的 ID 或完整名稱PLUGIN_DESCRIPTION:外掛程式說明LOCATION:外掛程式的位置,可為global或區域LABELS:以半形逗號分隔的鍵/值配對形式標籤LOG_CONFIG:外掛程式的記錄選項。 如果將enable選項設為false,系統就不會擷取外掛程式的記錄。如要啟用記錄功能,請將enable選項設為true。接著指定下列詳細資料:sample-rate:活動記錄的取樣率,值介於0和1之間。0值表示系統不會儲存記錄訊息。預設值1表示系統會儲存所有記錄訊息。介於0.0和1.0之間的浮點值,表示儲存的記錄訊息百分比。min-log-level:要匯出至 Cloud Logging 的外掛程式記錄訊息最低嚴重程度。預設值為INFO。
IMAGE:包含 Wasm 模組的構件 URI,儲存在 Artifact Registry 存放區中。指定其他專案的容器映像檔前,請確認 Service Extensions 有權存取該映像檔。MAIN_VERSION:要建立並設為主要 (有效) 版本的外掛程式版本 IDPLUGIN_CONFIG、PLUGIN_CONFIG_FILE或PLUGIN_CONFIG_URI:選用的設定資料,可分別指定為文字、本機檔案或 Artifact Registry 中的容器映像檔
例如:
gcloud service-extensions wasm-plugins create my-plugin \ --description="This is my plugin." \ --log-config=enable=true,sample-rate=0.5,min-log-level=INFO \ --labels=key1=value1,key2=value2 \ --image=...-docker.pkg.dev/my-project/repository/container:tag \ --main-version=v1 \ --plugin-config-file=config.txt如要部署新版本,請使用
gcloud service-extensions wasm-plugins update指令。指定新的映像檔和版本名稱:gcloud service-extensions wasm-plugins update my-plugin \ --image=...-docker.pkg.dev/my-project/repository/container:tag \ --main-version=v2
如要執行這些外掛程式,可以設定 Cloud Load Balancing 擴充功能和 Media CDN 擴充功能。
存取其他專案中的圖片
如要從其他專案選取映像檔,服務擴充功能服務代理程式必須有權存取專案存放區,並視 Wasm 模組的封裝方式,對專案具備下列其中一項權限:
- 如為一般構件:
artifactregistry.files.download - 容器映像檔:
artifactregistry.repositories.downloadArtifacts
Service Extensions 服務代理的名稱如下:
service-PROJECT_NUMBER@gcp-sa-networkactions.iam.gserviceaccount.com
將 PROJECT_NUMBER 替換為專案編號。
後續步驟
- 如要瞭解 Cloud Load Balancing 外掛程式支援的應用程式負載平衡器,請參閱這篇文章。
- 瞭解如何使用外掛程式設定 Cloud Load Balancing 邊緣擴充功能、路徑擴充功能和流量擴充功能。
- 瞭解如何將 Media CDN 外掛程式附加至路徑。
- 瞭解如何管理外掛程式。
- 請參閱 Service Extensions 總覽。