你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure 容器实例的配置映射

ConfigMap 是一个属性,可用于应用类似于环境变量和机密卷的容器配置。 此过程不同于使用环境变量或机密卷,如果是后者,必须重启 Pod 以应用设置。 使用配置映射应用设置不需要重启即可使更改生效。

可以使用 Azure 容器实例创建包含或不带配置映射的容器实例。 还可以使用配置映射在创建后的任何时间点更新它们。 更新现有正在运行的容器组中的配置映射是一项任务,你可以在不影响容器的运行时间的情况下快速完成。

工作原理

可以在容器属性或容器组配置文件中包含 ConfigMap。 使用 ConfigMap 设置创建容器组配置文件使得应用这些设置变得简单且易于自动化。

使用 ConfigMap 设置创建容器组配置文件

使用 az container container-group-profile create 来创建带有配置映射设置的容器组配置文件。

az container container-group-profile create \
    --resource-group myResourceGroup \
    --name myContainerGroupProfile \
    --location WestCentralUS \
    --image nginx \
    --os-type Linux \ 
    --ip-address Public \ 
    --ports 8000 \ 
    --cpu 1 \
    --memory 1.5 \
    --restart-policy never \
    --config-map key1=value1 key2=value2

使用容器组配置文件应用 ConfigMap 设置

要应用存储在容器组配置文件中的配置映射设置,需要更新相应的容器。 还必须指定应与更新关联的容器组配置文件。

使用 az container create 命令来应用容器组配置文件中的配置映射设置。

az container create 
        --resource-group myResourceGroup \ 
        --name myContainer \ 
        --location WestCentralUS \
        --container-group-profile-id "/subscriptions/{SubscriptionID}/resourceGroups/myResourceGroup/providers/Microsoft.ContainerInstance/containerGroupProfiles/myContainerGroupProfile" \
        --container-group-profile-revision 1 

在没有容器组配置文件的情况下应用 ConfigMap 设置

还可以通过在创建命令中指定配置映射设置,将配置映射设置直接应用于实例。

使用 az container create 应用配置映射设置。

az container create \
    --resource-group myResourceGroup \ 
    --name myContainer \
    --location WestCentralUS \ 
    --config-map key1=value1 key2=value2 
        

Linux 容器中的配置映射

将更新应用到现有容器后,可以看到在 Linux 容器中装载的值,而无需重启。

/mnt/configmap/<containername>/key1 with value as "value1"

/mnt/configmap/<containername>/key2 with value as "value2"

Windows 容器中的 ConfigMap

将更新应用到现有容器后,可以通过进行以下调用来提取 Windows 容器中的配置映射键/值对,而无需重启。 对于 Windows 容器,这些值不会随处装载,Linux 的情况也一样。

Invoke-Expression "$Env:ConfigMapURI"