将私钥和配置映射作为已安装文件进行引用 (CLI)
在 Code Engine中,创建私钥和配置映射后,存储为键/值对的信息可由应用程序或作业工作负载作为已安装的文件使用。 不能将此方法与函数配合使用。
使用私钥和配置映射作为已安装的文件类似于使用私钥和配置映射作为环境变量。
使用私钥时,数据将另存为编码字符串。 将数据作为环境变量或已安装文件添加到环境时,不会对数据进行编码。
使用 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
您已将存储在私钥 (或配置映射) 中的数据作为已安装文件添加到应用程序,然后更新存储在私钥中的数据。 应用程序不需要重新启动即可使用更新后的引用私钥。