Apigee mTLS 支持多个数据中心,因此您可以扩展配置以包含更复杂的拓扑,例如 12 节点集群安装。
在多数据中心拓扑上安装 mTLS 的安装过程与在更简单的拓扑上安装 mTLS 的过程相同。不过,您必须确保安装满足前提条件,并按照以下部分所述更改配置文件。
前提条件
如需将 Apigee mTLS 与多个数据中心搭配使用,您必须:
- 卸载
apigee-mtls,然后使用多数据中心配置重新安装。您无法修改现有配置。如需了解详情,请参阅更改现有 apigee-mtls 配置。 - 在运行 mTLS 的每台主机上打开端口 8302。
- 确保所有 mTLS 集群成员都具有唯一的 IP 地址,并且这些 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”。 对于配置中的第二个区域,请使用
MTLP_REMOTE_REGION_1_IP属性。MTLS_REMOTE_REGION_1_NAME多数据中心配置中第二个区域的名称。例如,“dc-2”。 在第二个区域的配置文件中,您将使用“dc-2”作为
REGION,使用“dc-1”作为MTLS_REMOTE_REGION_1_NAME.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 已在两个数据中心进行了测试。 不过,您可以使用以下属性指定最多八个数据中心的配置:
MTLS_REMOTE_REGION_[2-8]_IPMTLS_REMOTE_REGION_[2-8]_NAME