將密鑰及配置對映參照為裝載檔案 (CLI)
在 Code Engine中,建立密鑰及 configmap 之後,應用程式或工作工作量可以使用儲存為鍵值組的資訊作為裝載檔案。 您無法將此方法與函數搭配使用。
使用密鑰及 configmap 作為已裝載檔案,與使用密鑰及 configmap 作為環境變數類似。
當您使用密鑰時,資料會儲存為編碼字串。 將資料新增至環境作為環境變數或裝載檔時,不會對資料進行編碼。
使用 CLI 將密鑰參照為已裝載檔案
在此實務範例中,當您執行使用 icr.io/codeengine/ce-secret-vol 映像檔的應用程式時,請建立密鑰,然後將該密鑰當作已裝載檔案來參照。
範例映像檔 icr.io/codeengine/ce-secret-vol 會讀取 /mysecrets 目錄中的每一個檔案,並將檔案名稱及其內容列印至每一個要求的標準輸出,以便輸出包含在應用程式日誌中。 如需此範例應用程式的相關資訊,請參閱 IBM Cloud Code Engine GitHub 儲存庫中的密鑰作為磁區(secrets-vol)範例。
當此實務範例使用密鑰時,您可以使用相同的步驟,透過在指令中替換 configmap for secret,將 configmap 作為已裝載檔案進行參照。
-
建立密鑰 (名為
mysecret),並使用--from-literal選項指定密鑰的鍵值組; 例如,ibmcloud ce secret create -n mysecret --from-literal apikey=abcdefgh -
建立使用
icr.io/codeengine/ce-secret-vol映像檔的myapp應用程式。 使用--mount-secret選項,將mysecret密碼的內容裝載或新增至/mysecrets目錄中的應用程式。 透過指定--min-scale=1選項,應用程式一律具有執行中且未調整為零的實例。 當您檢視日誌時,將應用程式配置成一律具有執行中實例非常有用。 例如,ibmcloud ce app create --name myapp --image icr.io/codeengine/ce-secret-vol --mount-secret /mysecrets=mysecret --min-scale 1輸出範例
Creating application 'myapp'... [...] Run 'C:\Program Files\IBM\Cloud\bin\ibmcloud.exe ce application get -n myapp' to check the application status. OK https://myapp.4svg40kna19.us-south.codeengine.appdomain.cloud -
複製前一個輸出中的 URL,並使用
curl來呼叫應用程式; 例如,curl https://myapp.4svg40kna19.us-south.codeengine.appdomain.cloud -
檢視應用程式中的日誌。 在此範例中,
myapp應用程式使用範例映像檔icr.io/codeengine/ce-secret-vol。 此應用程式會讀取/mysecrets目錄中的每一個檔案,並將檔案名稱及其內容列印至每一個要求的標準輸出,以便輸出包含在應用程式日誌中。 檔案名稱為apikey。ibmcloud ce app logs --app myapp輸出範例
Getting logs for all instances of application 'myapp'... OK myapp-b3gxd-1-deployment-6f45dcf7f4-nw59z/user-container: Listening on port 8080 apikey: abcdefgh -
更新
mysecret密鑰以變更apikey鍵值組的值; 例如,ibmcloud ce secret update -n mysecret --from-literal apikey=qrst -
請重新呼叫應用程式。
curl https://myapp.4svg40kna19.us-south.codeengine.appdomain.cloud -
檢視應用程式中的日誌。
ibmcloud ce app logs --app myapp輸出範例
Getting logs for all instances of application 'myapp'... OK myapp-b3gxd-1-deployment-6f45dcf7f4-nw59z/user-container: Listening on port 8080 apikey: abcdefgh apikey: qrst
您已將儲存在密鑰 (或 configmap) 中的資料新增至應用程式作為已裝載檔案,然後更新儲存在密鑰中的資料。 應用程式不需要重新啟動即可使用已更新的參照密鑰。