本頁面說明如何建立 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」(基本) 部分執行下列操作:
在「Scope」(範圍) 部分,選取「Global」(全域) 或「Regional」(區域)。
如果將範圍設為「Regional」(區域),請一併選取區域。
輸入不重複的外掛程式名稱。
名稱開頭必須為小寫字母,後方最多可接 62 個小寫字母、數字或連字號,但結尾不得為連字號。
選用:輸入外掛程式的簡短說明,最多 1024 個字元。
在「Wasm image」(Wasm 映像檔) 部分,執行下列操作:
在「Plugin version name」(外掛程式版本名稱) 部分,指定外掛程式版本名稱。
名稱開頭必須為小寫字母,後方最多可接 62 個小寫字母、數字或連字號,但結尾不得為連字號。
選用:在「Plugin version description」(外掛程式版本說明),輸入外掛程式版本的簡短說明,最多 1024 個字元。
在「Image URL」(映像檔網址) 部分,輸入 Artifact Registry 窗格中含有 Wasm 模組的一般構件或容器映像檔網址。使用一般存放區的選項目前為預先發布版。
如要指定 Docker 存放區中的容器映像檔,也可以按一下「Select」(選取),瀏覽並選取該映像檔。Artifact Registry 窗格會顯示與目前專案連結的存放區資料夾。
如要選取其他專案的映像檔,請確認 Service Extensions 有權存取該映像檔,然後按一下專案名稱旁的「Change」(變更)。
選用:在「Plugin configuration」(外掛程式設定) 區段中,如要將設定資料與外掛程式建立關聯,請勾選「Add plugin configuration」(新增外掛程式設定) 核取方塊,然後選取下列任一選項:
上傳外掛程式設定檔。如果檔案大小小於 900 KiB 且位於本機磁碟,請按一下「Browse」(瀏覽),找出並選取檔案。
從 Artifact Registry 選取外掛程式設定映像檔或構件。在「Artifact Registry」窗格中,輸入含有 Wasm 模組的一般構件或容器映像檔網址。使用一般存放區的選項目前為預先發布版。
如要指定 Docker 存放區中的容器映像檔,您也可以按一下「Select」(選取),瀏覽並選取該映像檔。Artifact Registry 窗格會顯示與目前專案連結的存放區資料夾。
選用:在「標籤」部分,按一下「新增標籤」。接著,在顯示的資料列中執行下列操作:
- 在「Key」(鍵) 中輸入鍵名稱。
- 在「值」部分,輸入鍵的值。
最多可新增 64 個鍵/值組合。如要新增更多鍵/值組合,請按一下「Add label」(新增標籤)。
如要進一步瞭解標籤,請參閱「建立及更新專案標籤」。
在「Encryption」(加密) 部分,選擇外掛程式的加密機制。這個選項僅適用於區域外掛程式。
- Google 代管的加密金鑰。使用 Google 預設加密機制加密外掛程式內容。
- Cloud KMS 金鑰。使用透過 Cloud Key Management Service 建立的客戶自行管理的加密金鑰,加密外掛程式內容。在本例中,「金鑰管理類型」請選取「Cloud KMS」。然後選取 Cloud KMS 金鑰。
選用:在「Logging」(記錄) 部分,選取「Enable logging」(啟用記錄功能),然後執行下列操作:
在「Sample rate」(取樣率) 中,指定介於
0和1之間的值。0值表示系統不會儲存記錄訊息。預設值1表示系統會儲存所有記錄訊息。介於0.0和1.0之間的浮點值,表示儲存的記錄訊息百分比。在「Minimum log level」(最低記錄層級),選取要匯出至 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 \ --kms-key-name=KEY_NAME更改下列內容:
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:要建立並設為主要 (有效) 版本的版本 ID。PLUGIN_CONFIG、PLUGIN_CONFIG_FILE或PLUGIN_CONFIG_URI:選用的設定資料,可分別指定為文字、本機檔案或 Artifact Registry 中的容器映像檔。KEY_NAME:如果是區域性外掛程式,請提供客戶自行管理的加密金鑰完整名稱,格式如下:projects/PROJECT/locations/LOCATION/keyRings/KEYRING_NAME/cryptoKeys/KEY_NAME。更改下列內容:
PROJECT:金鑰所在專案的 IDLOCATION:金鑰的位置KEYRING_NAME:金鑰環名稱KEY_NAME:金鑰名稱
如未指定這個選項,系統會使用 Google 預設加密機制。
例如:
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 擴充功能。
存取其他專案中的映像檔
您必須先授予 Service Extensions 服務代理專案存放區存取權,並視 Wasm 模組的封裝方式,授予下列其中一項專案權限,才能選取其他專案的映像檔:
- 一般構件:
artifactregistry.files.download - 容器映像檔:
artifactregistry.repositories.downloadArtifacts
Service Extensions 服務代理的名稱如下:
service-PROJECT_NUMBER@gcp-sa-networkactions.
將 PROJECT_NUMBER 替換為您的專案編號。
後續步驟
- 如要瞭解 Cloud Load Balancing 外掛程式,請參閱「支援的應用程式負載平衡器」。
- 瞭解如何使用外掛程式設定 Cloud Load Balancing 邊緣擴充功能、路徑擴充功能和流量擴充功能。
- 瞭解如何設定 Media CDN 邊緣擴充功能。
- 瞭解如何管理外掛程式。
- 請參閱「Service Extensions 總覽」。