创建服务网格
本文档介绍如何创建单集群服务网格。开始之前,请确保您已熟悉以下内容:
- Mesh 部署模型:选择适合您需求的 mesh 部署模型。
- Mesh 组件说明:了解 mesh 组件的作用,并为服务网格准备必要的 CPU 和内存资源。
有关创建多集群服务网格的说明,请参见多集群服务网格文档。
目录
约束与限制
- 每个集群仅允许存在一个服务网格。
- 当集群为 global 集群且平台处于灾备环境(即 global 有主集群和灾备集群)时,global 集群无法部署服务网格。
- 当集群为 IPv4/IPv6 双栈网络时,无法部署服务网格。
前提条件
-
下载对应您平台架构的以下安装包,并通过上传软件包机制将软件包上传至 global 集群和目标集群(请勿手动安装)。
Alauda Service MeshoperatorFlaggeroperatorAlauda Build of JaegeroperatorAlauda Build of OpenTelemetryoperator
-
确保集群已部署 Prometheus 插件或 VictoriaMetrics 插件。
注意: 当 VictoriaMetrics 为多集群部署架构时,
vmstorage可以与服务网格所在集群不同。 -
确保有可用的 Elasticsearch。服务网格可以对接集群的 Elasticsearch 日志插件或您自有的 Elasticsearch。
-
当集群为 OpenShift 集群时,还需满足以下前提条件:
- 已创建命名空间
istio-system。 - 将
istio-system命名空间添加至anyuidSCC(Security Context Constraints)组。操作方法:登录 OpenShift 集群堡垒机,执行命令:
- 已创建命名空间
操作步骤
- 在左侧导航栏点击 Service Mesh > Mesh。
- 点击 Create Service Mesh。
- 选择集群和 Istio 版本以部署服务网格。在高级配置中,确保 mesh 架构为单集群,并填写 Elasticsearch 和监控系统的接口参数。您可以选择平台已有系统或外部系统。
- 若严格要求高可用,设置 Pod 反亲和为强制。
- 组件资源可使用默认值,但随着 mesh 中服务规模的增长,组件需要扩容。请及时配置 mesh 组件的告警策略,以便在需要扩容时获得通知。
更多信息请参见 Mesh 参数说明
注意:当集群为 OpenShift 集群时,mesh 会默认自动检测并部署 istio-cni 组件。
后续操作
- 启用 Istio CNI,消除每个 Pod 中特权 init 容器的需求。
- 启用全局限流。
- 使用 Istioctl 工具。
- 监控 Mesh 组件。
Mesh 参数说明
全局配置
mesh 的全局配置将应用于所有部署该 mesh 的集群。
集群维度配置
集群维度配置仅对所选集群生效。
组件配置
注意:Mesh 组件以 Deployment 形式部署在集群的特定命名空间中。mesh 创建成功后,可在 组件 标签页查看组件运行状态,或点击 组件名称 跳转至容器平台中组件部署的命名空间,查看运行中组件 Deployment 的详细信息。