阿里容器服务-标签
probe
作用:
用于检查服务的健康情况 。
方法:
- 通过URL进行检查,支持http/tcp协议
- 通过shell脚本检查。
rolling_updates
作用:
在更新某个服务时,只要scale标签定义大于1时,以最小化停止服务时间来更新容器。
parallelism
作用:
设置每次并行更新的容器数量。要与上面的参数配合使用。
depends
作用:设置服务的依赖关系。多个依赖使用逗号分隔。
scale
作用:设置容器数量。
routing
作用:设置该服务的域名
格式:
aliyun.routing.port_$container_port: [http://]$domain|$domain_prefix[:$context_path]
- $container_port: 容器端口,注意 该处不是主机的端口
- $domain: 域名,需要用户填写自己的域名
- $domain_prefix: 域名前缀,如果填写域名前缀,容器服务会提供给您一个测试用的域名,域名后缀是wordpress.<cluster_id>.<region_id>.alicontainer.com
- $context_path: 请求的路径,即可以根据请求的路径来选择区分不同的后端容器
例子
web:
image: wordpress:4.2
links:
- db:mysql
labels:
aliyun.routing.port_80: wordpress;http://wp.sample.com/context
db:
image: mysql
environment:
- MYSQL_ROOT_PASSWORD=password
routing.session_sticky=(true|false)
作用:设置会话保持,即在请求路由时,在一段时间来,会把同一个session指定到同一个后端容器。而不是随机或根据什么算法。
global
作用:设置该服务为全局服务。这种服务器需要部署到每一个节点上,例如一些监控服务。
服务部署约束affinity:service
作用:用来约束服务之间的亲和度,其实说白了多用于把从服务如mysql slave安装在与master不同的节点上。不然,一个节点挂了,从库也会挂掉。
例子参考
master: image: mysql:5.6 environment: - MYSQL_USER=user - MYSQL_PASS=test - REPLICATION_MASTER=true - REPLICATION_USER=repl - REPLICATION_PASS=repl ports: - 3306 slave: image: mysql:5.6 environment: - MYSQL_USER=user - MYSQL_PASS=test - REPLICATION_SLAVE=true - affinity:service!=master ports: - 3306 links: - master:mysql
external
作用:设置该服务直接链接到外部地址。
通过 external,描述一个并没有部署在集群中的 RDS 服务,并提供给部署在集群中的 WordPress 使用。
wordpress: image: wordpress:4.2 ports: - 80 links: - db:mysql environment: - WORDPRESS_DB_USER=cloud - WORDPRESS_DB_PASSWORD=MYPASSWORD - WORDPRESS_DB_NAME=wordpress db: external: host: rdsxxxx.mysql.rds.aliyuncs.com ports: - 3306
变量替换
在模板里可以使用变量。