安装
Instructions for installing Aeraki.
前置条件
Aeraki 和 MetaProtocol 以及 Istio 的版本兼容性
在安装 Aeraki 之前,请先根据下面的版本兼容矩阵检查 Aeraki 对应 Istio 和 MetaProtocol Proxy 版本:
Aeraki | MetaProtocol Proxy | Istio |
---|---|---|
1.0.x | 1.0.x | 1.10.x |
1.1.x | 1.1.x | 1.12.x |
检查下面的 Istio 选项
请修改 istio ConfigMap,加入下面的内容:
- 启用 Istio DNS 代理
- 打开 Aeraki 管理的协议的 Metrics 收集
kubectl edit cm istio -n istio-system
apiVersion: v1
data:
mesh: |-
defaultConfig:
proxyMetadata:
ISTIO_META_DNS_CAPTURE: "true"
proxyStatsMatcher:
inclusionPrefixes:
- thrift
- dubbo
- kafka
- meta_protocol
inclusionRegexps:
- .*dubbo.*
- .*thrift.*
- .*kafka.*
- .*zookeeper.*
- .*meta_protocol.*
安装 Aeraki
git clone https://github.com/aeraki-mesh/aeraki.git
cd aeraki
export AERAKI_VERSION=1.0.0
make install
安装 AerakiCtl(可选)
You can choose to optionally install aerakictl tool for debug purpose.
git clone https://github.com/aeraki-mesh/aerakictl.git ~/aerakictl;source ~/aerakictl/aerakictl.sh
高可用和水平扩展
Aeraki 内主要包括两类组件:
- 控制器:用于 Watch Istio 资源并维护 Aeraki 内部系统状态,此类组件为有状态组件,Aeraki 通过选主实现高可用
- MetaProtocol RDS 服务器:根据 MetaRouter CRD 资源生成 MetaProtocol 动态路由,并通过 MetaRDS 下发给数据面的 Proxy,Aeraki 支持多实例水平扩展,以对 RDS 服务器的压力进行负载均衡。
对于生产环境,请根据集群规模和数据面边车数量调整对应的 Aeraki 实例,可以通过 K8s HPA 进行动态扩展。
在 TCM 中使用 Aeraki
腾讯云服务网格 TCM 支持集成 Aeraki。如果希望在 TCM 使用 Aeraki 的协议扩展能力,请联系腾讯云售前架构师进行咨询。
最后修改 May 23, 2022: 增加 v1.1 文档目录 (431bf1a)