安装 Alauda Service Mesh

安装 Alauda Service Mesh 包含四个主要部分:

  • 安装 Alauda Service Mesh v2 Operator
  • 部署 Istio CNI 插件
  • 部署 Istio 控制平面
  • 自定义 Istio 配置
WARNING

请勿在同一 Kubernetes 集群中同时安装 Alauda Service Mesh 和 Alauda Service Mesh v2,以免导致功能冲突。

迁移指南将在未来版本中提供。

目录

使用 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

前提条件

  • 必须已上传 Alauda Service Mesh v2。
  • 您已以 cluster-admin 身份登录到 Alauda Container Platform Web 控制台。
  • 必须已安装 Alauda Container Platform Networking for Multus 插件。

操作步骤

  1. 在 Alauda Container Platform Web 控制台中,导航至 Administrator
  2. 选择 Marketplace > OperatorHub
  3. 搜索 Alauda Service Mesh v2。
  4. 找到 Alauda Service Mesh v2 并点击选择。
  5. 点击 Install
  6. Install Alauda Service Mesh v2 对话框中,执行以下步骤:
    1. 选择一个 Channel
      • 选择 stable 通道以安装最新稳定版本的 Alauda Service Mesh v2 Operator。该通道为安装 Operator 的默认通道。
      • 若要安装特定版本的 Alauda Service Mesh v2 Operator,请选择对应的 stable-<version> 通道。例如,安装版本 2.0.x 的 Operator,请选择 stable-2.0 通道。
  7. 点击 Install 并确认安装 Operator。

验证

确认在 Installation Info 部分,Operator 的安装状态显示为 Succeeded

Operator 安装的自定义资源定义

Operator 安装了以下类别的自定义资源定义(CRDs):

  • Sail Operator CRDs: 这些 CRD 属于 sailoperator.io API 组,定义了用于管理 Istio 组件的自定义资源,包括 IstioIstioRevisionIstioCNIZTunnel。 详情请参阅 Sail Operator API 参考

  • Istio CRDs: 这些 CRD 管理网格配置、服务发现、流量路由和可观测性,属于 istio.io API 组,如 networking.istio.iosecurity.istio.iotelemetry.istio.io。 配置指导请参阅 Istio 文档

部署 Istio 组件

必须创建 IstioIstioCNI 自定义资源,才能部署控制平面和 Istio CNI 插件。

需要在不同的命名空间中创建这两个资源。

创建 Istio 命名空间

kubectl create namespace istio-system
kubectl label namespace istio-system cpaas.io/project=cpaas-system

通过 Web 控制台创建 Istio 资源

创建包含 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 插件。

操作步骤

  1. 在 Alauda Container Platform Web 控制台中,导航至 Administrator
  2. 选择 Marketplace > OperatorHub
  3. 搜索 Alauda Service Mesh v2。
  4. 找到 Alauda Service Mesh v2 并点击选择。
  5. 点击 All Instances 标签页。
  6. 点击 Create
  7. 找到并选择 Istio,然后点击 Create
  8. Namespace 下拉菜单中选择 istio-system
  9. 点击 Create

验证

等待 Istio 资源的 .status.state 字段变为 Healthy

创建 IstioCNI 命名空间

kubectl create namespace istio-cni

通过 Web 控制台创建 IstioCNI 资源

创建 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 插件。

操作步骤

  1. 在 Alauda Container Platform Web 控制台中,导航至 Administrator
  2. 选择 Marketplace > OperatorHub
  3. 搜索 Alauda Service Mesh v2。
  4. 找到 Alauda Service Mesh v2 并点击选择。
  5. 点击 All Instances 标签页。
  6. 点击 Create
  7. 找到并选择 IstioCNI,然后点击 Create
  8. Namespace 下拉菜单中选择 istio-cni
  9. 点击 YAML 标签页。
  10. YAML 代码编辑器中添加以下 YAML 片段:
    apiVersion: sailoperator.io/v1
    kind: IstioCNI
    spec:
      # Applying the following contents to the yaml code editor:
      values:
        cni:
          cniConfDir: /etc/cni/multus/net.d # /etc/cni/net.d in ACP 4.0
          excludeNamespaces:
            - istio-cni
            - kube-system
  11. 点击 Create

验证

等待 IstioCNI 资源的 .status.state 字段变为 Healthy

自定义 Istio 配置

部署控制平面时创建的 Istio 自定义资源定义中的 values 字段,可以用来通过 Istio 的 Helm 配置值自定义 Istio 配置。

操作步骤

  1. 在 Alauda Container Platform Web 控制台中,导航至 Administrator
  2. 选择 Marketplace > OperatorHub
  3. 搜索 Alauda Service Mesh v2。
  4. 找到 Alauda Service Mesh v2 并点击选择。
  5. 点击 All Instances 标签页。
  6. 点击名为 defaultIstio 实例。
  7. 点击 YAML 查看 Istio 配置。
  8. 点击 Actions > Update 以修改 Istio 配置。

有关 values 字段的完整可用配置列表,请参阅 sail-operator 的文档