环境变量是指容器运行环境中设定的一个变量,在云容器云引擎负载中的设置效果,与Dockerfile中利用“ENV”指令定义的环境变量效果相同,用户可在部署工作负载时进行灵活配置。
注意
请务必注意,一旦容器启动,其内部内容应当保持不变。若尝试在容器运行期间修改配置项(例如,将应用的密码、证书或环境变量直接配置到容器中),在容器重启(如因节点异常导致Pod重新调度)后,这些修改将不复存在,可能导致业务异常。为避免配置丢失,建议通过入参等方式将配置信息导入容器中。
环境变量的设置
自定义方式:用户可手动输入环境变量的名称及其对应的值。
配置项导入:允许将整个配置项中的所有键值对导入为环境变量。
配置项键值导入:用户可选择配置项中的特定键值,将其值导入为某个环境变量的值。例如,可将名为“configmap-example”的配置项中键为“configmap_key”的值导入为名为“key1”的环境变量的值。
密钥导入:允许将整个密钥中的所有键值对导入为环境变量。
密钥键值导入:用户可选择密钥中的特定键值,将其值导入为某个环境变量的值。例如,可将名为“secret-example”的密钥中键为“secret_key”的值导入为名为“key2”的环境变量的值。
变量/变量引用:允许使用Pod定义的字段值作为环境变量的值。
资源引用:允许使用容器定义的资源请求值或限制值作为环境变量的值。
环境变量的查看
若已知test-cm1和test-secret1的内容,可通过kubectl命令进入Pod并查看环境变量。例如,使用“kubectl exec”命令执行“printenv”以列出所有环境变量。通过此方式,可以验证环境变量是否已正确设置和导入。
注意
由于密钥值在YAML中以base64编码形式展示,因此在查看时需要进行相应的解码处理。同时,资源引用中的CPU限制值在展示时可能因单位转换(如从毫核转换为核)而略有差异。