Apigee mTLS 支持多个数据中心,因此您可以扩展配置以包含更复杂的拓扑,例如 12 节点集群安装。
在多数据中心拓扑上部署 mTLS 的安装过程与在更简单的拓扑上部署 mTLS 的流程相同。但是,您必须确保安装符合前提条件,并按照以下部分中的说明更改配置文件。
前提条件
如需将 Apigee mTLS 与多个数据中心搭配使用,您必须满足以下条件:
- 卸载
apigee-mtls
,然后使用多数据中心配置重新安装。您无法修改现有配置。如需了解详情,请参阅更改现有的 apigee-mtls 配置。 - 在运行 mTLS 的每台主机上打开端口 8302。
- 确保所有 mTLS 集群成员都具有唯一的 IP 地址,这对集群的所有成员而言都是一致的。
- 指定配置文件时,请在命令中使用绝对路径(可能存在歧义)。
- 添加多数据中心配置属性,如适用于多个数据中心的配置文件中所述。
适用于多个数据中心的配置文件
要将 Apigee mTLS 与多个数据中心搭配使用,请为每个数据中心创建单独的配置文件。
在每个配置文件中:
- 更改
ALL_IP
配置属性的值,以包含所有区域中的所有主机 IP 地址。 - 确保
REGION
属性的值为当前区域或数据中心的名称。例如“dc-1”。 - 添加以下属性:
属性 说明 APIGEE_MTLS_MULTI_DC_ENABLE
您是否使用多数据中心配置。如果您要配置多个数据中心,请设置为“y”。否则,请省略或设置为“n”。省略了默认值。 MTLS_LOCAL_REGION_IP
您当前正在配置的区域使用的所有 IP 地址的空格分隔列表。例如,“10.0.0.1 10.0.0.2 10.0.0.3”。 对于配置中的第二个区域,请使用
MTLS_REMOTE_REGION_1_IP
属性。MTLS_REMOTE_REGION_1_NAME
多数据中心配置中的第二个区域的名称。例如,"dc-2"。 在第二个区域的配置文件中,您将为
REGION
使用“dc-2”,为MTLS_REMOTE_REGION_1_NAME.
使用“dc-1”MTLS_REMOTE_REGION_1_IP
多数据中心配置中第二个区域使用的所有 IP 地址的以空格分隔的列表。例如,“10.0.0.4 10.0.0.5 10.0.0.6”。
以下示例展示了两个数据中心(“dc-1”和“dc-2”)的配置文件。 突出显示了特定于多数据中心配置的属性):
dc-1 配置文件
ALL_IP="10.126.0.114 10.126.0.113 10.126.0.96 10.126.0.132 10.126.0.133 10.126.0.104 10.126.0.106 10.126.0.105 10.126.0.95 10.126.0.102 10.126.0.100 10.126.0.112" LDAP_MTLS_HOSTS="10.126.0.114 10.126.0.106" ZK_MTLS_HOSTS="10.126.0.114 10.126.0.113 10.126.0.96 10.126.0.106 10.126.0.105 10.126.0.95" CASS_MTLS_HOSTS="10.126.0.114 10.126.0.113 10.126.0.96 10.126.0.106 10.126.0.105 10.126.0.95" PG_MTLS_HOSTS="10.126.0.104 10.126.0.112" RT_MTLS_HOSTS="10.126.0.113 10.126.0.96 10.126.0.105 10.126.0.95" MS_MTLS_HOSTS="10.126.0.114 10.126.0.106" MP_MTLS_HOSTS="10.126.0.113 10.126.0.96 10.126.0.105 10.126.0.95" QP_MTLS_HOSTS="10.126.0.132 10.126.0.133 10.126.0.102 10.126.0.100" ENABLE_SIDECAR_PROXY="y" ENCRYPT_DATA="zRNQ9lhRySNTfegiLLLfIQ==" PATH_TO_CA_CERT="/opt/consul-agent-ca.pem" PATH_TO_CA_KEY="/opt/consul-agent-ca-key.pem" APIGEE_MTLS_MULTI_DC_ENABLE="y" REGION="dc-1" MTLS_LOCAL_REGION_IP="10.126.0.114 10.126.0.113 10.126.0.96 10.126.0.132 10.126.0.133 10.126.0.104" MTLS_REMOTE_REGION_1_NAME="dc-2" MTLS_REMOTE_REGION_1_IP="10.126.0.106 10.126.0.105 10.126.0.95 10.126.0.102 10.126.0.100 10.126.0.112"
dc-2 配置文件
ALL_IP="10.126.0.114 10.126.0.113 10.126.0.96 10.126.0.132 10.126.0.133 10.126.0.104 10.126.0.106 10.126.0.105 10.126.0.95 10.126.0.102 10.126.0.100 10.126.0.112" LDAP_MTLS_HOSTS="10.126.0.114 10.126.0.106" ZK_MTLS_HOSTS="10.126.0.114 10.126.0.113 10.126.0.96 10.126.0.106 10.126.0.105 10.126.0.95" CASS_MTLS_HOSTS="10.126.0.114 10.126.0.113 10.126.0.96 10.126.0.106 10.126.0.105 10.126.0.95" PG_MTLS_HOSTS="10.126.0.104 10.126.0.112" RT_MTLS_HOSTS="10.126.0.113 10.126.0.96 10.126.0.105 10.126.0.95" MS_MTLS_HOSTS="10.126.0.114 10.126.0.106" MP_MTLS_HOSTS="10.126.0.113 10.126.0.96 10.126.0.105 10.126.0.95" QP_MTLS_HOSTS="10.126.0.132 10.126.0.133 10.126.0.102 10.126.0.100" ENABLE_SIDECAR_PROXY="y" ENCRYPT_DATA="zRNQ9lhRySNTfegiLLLfIQ==" PATH_TO_CA_CERT="/opt/consul-agent-ca.pem" PATH_TO_CA_KEY="/opt/consul-agent-ca-key.pem" APIGEE_MTLS_MULTI_DC_ENABLE="y" REGION="dc-2" MTLS_LOCAL_REGION_IP="10.126.0.106 10.126.0.105 10.126.0.95 10.126.0.102 10.126.0.100 10.126.0.112" MTLS_REMOTE_REGION_1_NAME="dc-1" MTLS_REMOTE_REGION_1_IP="10.126.0.114 10.126.0.113 10.126.0.96 10.126.0.132 10.126.0.133 10.126.0.104"
如需了解标准配置属性,请参阅第 1 步:更新配置文件。
测试多数据中心配置
raft list-peers
命令会显示 MTLS_LOCAL_REGION_IP
中定义的 IP 地址列表,这意味着这些地址位于同一数据中心内。
以下示例展示了 raft list-peers
命令的输出示例:
[ec2-user]# consul operator raft list-peers Node ID Address State Voter RaftProtocol prc-test-1-2119 d1361917-b244-42 10.126.0.151:8300 leader true 3 prc-test-0-2119 fad66fc3-22a0-43 10.126.0.155:8300 follower true 3 prc-test-2-2119 78847b12-dd83-44 10.126.0.159:8300 follower true 3 prc-test-6-2119 60bb50ac-37b6-52 10.126.0.152:8300 leader true 3 prc-test-7-2119 515bbdfd-e968-53 10.126.0.147:8300 follower true 3 prc-test-8-2119 d869c9a5-b4f6-54 10.126.0.158:8300 follower true 3
Apigee mTLS 已在两个数据中心进行了测试。不过,您可以使用以下属性指定最多 8 个数据中心的配置:
MTLS_REMOTE_REGION_[2-8]_IP
MTLS_REMOTE_REGION_[2-8]_NAME