安装 Alauda Service Mesh
安装 Alauda Service Mesh 包含四个主要部分:
- 安装 Alauda Service Mesh v2 Operator
- 部署 Istio CNI plugin
- 部署 Istio 控制平面
请勿在同一个 Kubernetes 集群中同时安装 Alauda Service Mesh 和 Alauda Service Mesh v2,否则可能会导致功能冲突。
迁移指南将在后续版本中提供。
目录
使用 Alauda Service Mesh v2 Operator 部署 Istio安装 Alauda Service Mesh v2 Operator通过 Web 控制台安装通过 CLI 安装Operator 安装的 Custom Resource Definitions部署 Istio 组件为 IstioCNI 创建命名空间创建IstioCNI 资源通过 Web 控制台创建通过 CLI 创建为 Istio 创建命名空间创建 Istio 资源通过 Web 控制台创建通过 CLI 创建其他资源使用 Alauda Service Mesh v2 Operator 部署 Istio
要使用 Alauda Service Mesh v2 Operator 部署 Istio,需要先创建 Istio 资源。
随后,Operator 会创建 IstioRevision 资源,用于表示 Istio 控制平面的一个独立版本。
之后,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 plugin,并且 kube-ovn 版本必须为 v4.1.5 或更高。
在安装 Alauda Service Mesh v2 Operator 之前,必须先安装 Multus plugin。如果先安装了 Operator,则必须先卸载它,并在安装 Multus plugin 后重新安装。
操作步骤
- 在 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 的最新稳定版本。这是安装 Operator 的默认通道。
- 如需安装特定版本的 Alauda Service Mesh v2 Operator,请选择对应的
stable-<version>通道。例如,如需安装 Alauda Service Mesh v2 Operator 2.0.x 版本,请使用 stable-2.0 通道。
- 选择一个 Channel
- 单击 Install 和 Confirm 以安装 Operator。
验证
确认在 Installation Info 部分中,Operator 的安装状态显示为 Succeeded。
通过 CLI 安装
前提条件
-
必须已上传 Alauda Service Mesh v2。
-
由具有
cluster-admin角色的集群管理员建立一个有效的 ACP CLI(kubectl)会话。 -
必须已安装 Alauda Container Platform Networking for Multus plugin,并且 kube-ovn 版本必须为 v4.1.5 或更高。
在安装 Alauda Service Mesh v2 Operator 之前,必须先安装 Multus plugin。如果先安装了 Operator,则必须先卸载它,并在安装 Multus plugin 后重新安装。
操作步骤
-
查看可用版本
示例输出
字段:
- 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:指定在手动批准时要安装的版本;如果为空,则默认使用该通道中的最新版本。Automatic 不需要此字段。
- annotation
-
检查 Subscription 状态
关键输出
- .status.state:
UpgradePending表示 Operator 正在等待安装或升级。 - Condition InstallPlanPending = True:正在等待手动批准。
- .status.currentCSV:最新订阅的 CSV。
- .status.installPlanRef:关联的 InstallPlan;必须先批准,安装才会继续。
等待
InstallPlanPending条件变为True: - .status.state:
-
批准 InstallPlan
示例输出
手动批准
验证
等待 CSV 创建完成;Phase 变为 Succeeded:
检查 CSV 状态:
示例输出
字段
- NAME:已安装的 CSV 名称
- DISPLAY:Operator 显示名称
- VERSION:Operator 版本
- REPLACES:升级时被替换的 CSV
- PHASE:安装状态(
Succeeded表示成功)
Operator 安装的 Custom Resource Definitions
Operator 会安装以下类别的 Custom Resource Definitions(CRDs):
-
Sail Operator CRDs: 这些 CRDs 属于
sailoperator.ioAPI group,并定义用于管理 Istio 组件的自定义资源,包括Istio、IstioRevision、IstioCNI和ZTunnel。 详情请参阅 Sail Operator API 参考。 -
Istio CRDs: 这些 CRDs 用于管理 mesh 配置、服务发现、流量路由和可观测性。它们属于
istio.ioAPI groups,例如networking.istio.io、security.istio.io和telemetry.istio.io。 有关配置指导,请参阅 Istio 文档。
部署 Istio 组件
必须同时创建 Istio 和 IstioCNI 自定义资源,才能部署控制平面和 Istio CNI plugin。
需要在不同的命名空间中创建这些 Istio 和 IstioCNI 资源。
为 IstioCNI 创建命名空间
创建 IstioCNI 资源
通过 Web 控制台创建
创建一个 Istio Container Network Interface(CNI)资源,其中包含 Istio CNI plugin 的配置文件。 Alauda Service Mesh v2 Operator 将使用该资源中的配置来部署 CNI pod。
前提条件
- 您已使用 cluster-admin 身份登录 Alauda Container Platform Web 控制台。
- 必须已安装 Alauda Service Mesh v2 Operator。
- 必须已安装 Alauda Container Platform Networking for Multus plugin,并且 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 plugin,并且 kube-ovn 版本必须为 v4.1.5 或更高。
操作步骤
-
运行以下命令创建 IstioCNI 资源:
-
运行以下命令,等待 IstioCNI 资源返回
Ready状态条件:
为 Istio 创建命名空间
创建 Istio 资源
通过 Web 控制台创建
创建 Istio 资源,其中将包含 Istio 部署的 YAML 配置。
Alauda Service Mesh v2 Operator 将利用该资源中的配置来部署 Istio 控制平面。
前提条件
- 必须已安装 Alauda Service Mesh v2 Operator。
- 您已使用 cluster-admin 身份登录 Alauda Container Platform Web 控制台。
- 必须已安装 Alauda Container Platform Networking for Multus plugin,并且 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 plugin,并且 kube-ovn 版本必须为 v4.1.5 或更高。
操作步骤
-
运行以下命令创建 Istio 资源:
-
运行以下命令,等待 Istio 控制平面返回
Ready状态条件: