为了使应用有更高的可用性,容器服务支持将同一个服务的容器调度在不同的可用区(zone)里。当某个可用区发生故障时,应用依然能够提供服务。
您可以在编排文件中通过环境变量指定对可用区的选择,有以下两种格式。
- availability:az==3:服务至少分布在三个可用区中;如果当前集群没有三个可用区,或机器资源不够导致无法分布在三个可用区,容器创建会失败。
- availability:az==~3:服务尽可能分布在三个可用区中;无法满足时依然可以成功创建。
[backcolor=transparent]注意:部署约束只对新创建容器生效,对老容器变更配置时不起作用。
在下面的示例中,服务至少要部署在两个可用区中。
- [backcolor=transparent]nnn[backcolor=transparent]:
- [backcolor=transparent] expose[backcolor=transparent]:
- [backcolor=transparent] [backcolor=transparent]-[backcolor=transparent] [backcolor=transparent]443[backcolor=transparent]/[backcolor=transparent]tcp
- [backcolor=transparent] [backcolor=transparent]-[backcolor=transparent] [backcolor=transparent]80[backcolor=transparent]/[backcolor=transparent]tcp
- [backcolor=transparent] image[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]'nginx:latest'
- [backcolor=transparent] environment[backcolor=transparent]:
- [backcolor=transparent] [backcolor=transparent]-[backcolor=transparent] [backcolor=transparent]'availability:az==2'
- [backcolor=transparent] labels[backcolor=transparent]:
- [backcolor=transparent] aliyun[backcolor=transparent].[backcolor=transparent]scale[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]'8'
- [backcolor=transparent] restart[backcolor=transparent]:[backcolor=transparent] always
- [backcolor=transparent] volumes[backcolor=transparent]:
- [backcolor=transparent] [backcolor=transparent]-[backcolor=transparent] [backcolor=transparent]/var/[backcolor=transparent]cache[backcolor=transparent]/[backcolor=transparent]nginx