所以我最近尝试了一下 Juju,发现它有很大的潜力。但有些事情我不太明白。最值得注意的是,我不确定“引导实例”(又称“引导节点”或机器“0”)的用途。
使用来自的示例用户教程:
$ bin/juju status
machines:
0: {dns-name: ec2-50-16-61-111.compute-1.amazonaws.com, instance-id: i-2a702745}
1: {dns-name: ec2-50-16-117-185.compute-1.amazonaws.com, instance-id: i-227e294d}
2: {dns-name: ec2-184-72-156-54.compute-1.amazonaws.com, instance-id: i-9c7e29f3}
services:
mysql:
formula: local:mysql-11
relations: {}
units:
mysql/0:
machine: 1
relations: {}
state: started
wordpress:
formula: local:wordpress-29
relations: {}
units:
wordpress/0:
machine: 2
relations: {}
state: started
机器1是mysql实例,机器2是wordpress实例,机器0到底在干什么呢?
答案1
引导实例运行基础设施的两个关键部分:Zookeeper 和配置代理。以下是架构概述:
目前这实际上是一个单点故障……不过,这个问题将在近期得到解决,方法是根据需要或部署第二台机器时将“引导”服务扩展到 2 个单元。幸运的是,Zookeeper 专为高可用性而设计,并且配置代理将使用 Zookeeper 进行协调,因此这不是一个复杂的问题,只是在 Juju 准备好投入实际生产使用之前需要解决的问题。