安装 Alauda Service Mesh
安装 Alauda Service Mesh 包含四个主要部分:
- 安装 Alauda Service Mesh v2 Operator
- 部署 Istio CNI 插件
- 部署 Istio 控制平面
请勿在同一 Kubernetes 集群中同时安装 Alauda Service Mesh 和 Alauda Service Mesh v2,以免导致功能冲突。
迁移指南将在未来版本中提供。
目录
使用 Alauda Service Mesh v2 Operator 部署 Istio安装 Alauda Service Mesh v2 Operator通过 Web 控制台安装通过 CLI 安装Operator 安装的自定义资源定义部署 Istio 组件创建 IstioCNI 命名空间创建IstioCNI 资源通过 Web 控制台创建通过 CLI 创建创建 Istio 命名空间创建 Istio 资源通过 Web 控制台创建通过 CLI 创建其他资源使用 Alauda Service Mesh v2 Operator 部署 Istio
要使用 Alauda Service Mesh v2 Operator 部署 Istio,需要创建 Istio 资源。
Operator 会创建代表 Istio 控制平面不同版本的 IstioRevision 资源。
随后,Istio 控制平面将基于这些 IstioRevision 资源进行部署。
如果 Istio 资源的更新策略设置为 RevisionBased,Operator 可能会创建额外的 IstioRevision 资源以管理控制平面升级。
安装 Alauda Service Mesh v2 Operator
通过 Web 控制台安装
前提条件
- 已上传 Alauda Service Mesh v2。
- 以 cluster-admin 身份登录 Alauda Container Platform Web 控制台。
- 已安装 Alauda Container Platform Networking for Multus 插件,且 kube-ovn 版本不低于 v4.1.5。
操作步骤
- 在 Alauda Container Platform Web 控制台,导航至 Administrator。
- 选择 Marketplace > OperatorHub。
- 搜索 Alauda Service Mesh v2。
- 找到 Alauda Service Mesh v2 并点击选择。
- 点击 Install。
- 在 Install Alauda Service Mesh v2 对话框中,执行以下操作:
- 选择一个 Channel
- 选择 stable 频道以安装最新稳定版本的 Alauda Service Mesh v2 Operator。该频道为默认安装频道。
- 若需安装特定版本的 Alauda Service Mesh v2 Operator,选择对应的
stable-<version>频道。例如,安装版本 2.0.x,选择 stable-2.0 频道。
- 选择一个 Channel
- 点击 Install 并确认安装 Operator。
验证
确认 Operator 安装状态在 Installation Info 部分显示为 Succeeded。
通过 CLI 安装
前提条件
- 已上传 Alauda Service Mesh v2。
- 以具有
cluster-admin角色的集群管理员身份,开启有效的 ACP CLI (kubectl) 会话。 - 已安装 Alauda Container Platform Networking for Multus 插件,且 kube-ovn 版本不低于 v4.1.5。
操作步骤
-
查看可用版本
示例输出
字段说明:
- CHANNEL:Operator 频道名称
- NAME:CSV 资源名称
- VERSION:Operator 版本
-
确认 catalogSource
示例输出
表示
servicemesh-operator2来自platformcatalogSource。 -
创建命名空间
-
创建 Subscription
字段说明
- annotation
cpaas.io/target-namespaces:建议设置为空,空表示集群范围安装。 - .metadata.name:Subscription 名称(符合 DNS 规范,最长 253 字符)。
- .metadata.namespace:Operator 安装的命名空间。
- .spec.channel:订阅的 Operator 频道。
- .spec.installPlanApproval:审批策略(
Manual或Automatic)。此处为Manual,需手动批准安装/升级。 - .spec.source:Operator catalogSource。
- .spec.sourceNamespace:必须设置为 cpaas-system,因为平台提供的所有 catalogSource 均位于此命名空间。
- .spec.startingCSV:指定安装版本(Manual 审批时必填);为空则默认安装频道内最新版本。Automatic 不需要。
- annotation
-
检查 Subscription 状态
关键输出
- .status.state:
UpgradePending表示 Operator 正等待安装或升级。 - Condition InstallPlanPending = True:等待手动批准。
- .status.currentCSV:当前订阅的最新 CSV。
- .status.installPlanRef:关联的 InstallPlan,必须批准后才能继续安装。
等待
InstallPlanPending条件变为True: - .status.state:
-
批准 InstallPlan
示例输出
手动批准
验证
等待 CSV 创建,阶段变为 Succeeded:
查看 CSV 状态:
示例输出
字段说明
- NAME:已安装的 CSV 名称
- DISPLAY:Operator 显示名称
- VERSION:Operator 版本
- REPLACES:升级时替换的 CSV
- PHASE:安装状态(
Succeeded表示成功)
Operator 安装的自定义资源定义
Operator 安装以下类别的自定义资源定义(CRDs):
-
Sail Operator CRDs: 这些 CRD 属于
sailoperator.ioAPI 组,定义了管理 Istio 组件的自定义资源,包括Istio、IstioRevision、IstioCNI和ZTunnel。 详情请参阅 Sail Operator API 参考。 -
Istio CRDs: 这些 CRD 管理网格配置、服务发现、流量路由和可观测性,属于
istio.ioAPI 组,如networking.istio.io、security.istio.io和telemetry.istio.io。 配置指南请参阅 Istio 文档。
部署 Istio 组件
必须创建 Istio 和 IstioCNI 自定义资源,才能部署控制平面和 Istio CNI 插件。
要求在不同命名空间中创建这两个资源。
创建 IstioCNI 命名空间
创建 IstioCNI 资源
通过 Web 控制台创建
创建 Istio 容器网络接口(CNI)资源,包含 Istio CNI 插件的配置文件。 Alauda Service Mesh v2 Operator 使用该资源的配置来部署 CNI Pod。
前提条件
- 以 cluster-admin 身份登录 Alauda Container Platform Web 控制台。
- 已安装 Alauda Service Mesh v2 Operator。
- 已安装 Alauda Container Platform Networking for Multus 插件,且 kube-ovn 版本不低于 v4.1.5。
操作步骤
- 在 Alauda Container Platform Web 控制台,导航至 Administrator。
- 选择 Marketplace > OperatorHub。
- 搜索 Alauda Service Mesh v2。
- 找到 Alauda Service Mesh v2 并点击选择。
- 点击 All Instances 标签。
- 点击 Create。
- 找到并选择 IstioCNI,然后点击 Create。
- 从 Namespace 下拉框中选择
istio-cni。 - 点击 YAML 标签。
- 在 YAML 代码编辑器中添加以下 YAML 片段:
- 点击 Create。
验证
等待 IstioCNI 资源的 .status.state 字段变为 Healthy。
通过 CLI 创建
前提条件
- 以具有
cluster-admin角色的集群管理员身份,开启有效的 ACP CLI (kubectl) 会话。 - 已安装 Alauda Service Mesh v2 Operator。
- 已安装 Alauda Container Platform Networking for Multus 插件,且 kube-ovn 版本不低于 v4.1.5。
操作步骤
-
运行以下命令创建 IstioCNI 资源:
-
运行以下命令等待 IstioCNI 资源返回
Ready状态条件:
创建 Istio 命名空间
创建 Istio 资源
通过 Web 控制台创建
创建包含 Istio 部署 YAML 配置的 Istio 资源。
Alauda Service Mesh v2 Operator 利用该资源配置部署 Istio 控制平面。
前提条件
- 已安装 Alauda Service Mesh v2 Operator。
- 以 cluster-admin 身份登录 Alauda Container Platform Web 控制台。
- 已安装 Alauda Container Platform Networking for Multus 插件,且 kube-ovn 版本不低于 v4.1.5。
操作步骤
- 在 Alauda Container Platform Web 控制台,导航至 Administrator。
- 选择 Marketplace > OperatorHub。
- 搜索 Alauda Service Mesh v2。
- 找到 Alauda Service Mesh v2 并点击选择。
- 点击 All Instances 标签。
- 点击 Create。
- 找到并选择 Istio,然后点击 Create。
- 从 Namespace 下拉框中选择
istio-system。 - 点击 Create。
验证
等待 Istio 资源的 .status.state 字段变为 Healthy。
通过 CLI 创建
前提条件
- 以具有
cluster-admin角色的集群管理员身份,开启有效的 ACP CLI (kubectl) 会话。 - 已安装 Alauda Service Mesh v2 Operator。
- 已安装 Alauda Container Platform Networking for Multus 插件,且 kube-ovn 版本不低于 v4.1.5。
操作步骤
-
运行以下命令创建 Istio 资源:
-
运行以下命令等待 Istio 控制平面返回
Ready状态条件: