> ## Documentation Index
> Fetch the complete documentation index at: https://docs.automq.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 部署到华为云 CCE

> 在华为云 CCE 上部署 AutoMQ BYOC，兼容 Apache Kafka，并通过云原生架构实现弹性扩展与高效运维。

参考 [概述▸](/zh/automq-cloud/deploy-automq-on-kubernetes/overview)，AutoMQ 支持部署到 Kubernetes 上。本文介绍 AutoMQ 部署到华为云 CCE 平台的安装过程。

<Info>
  本文中提及 AutoMQ 产品服务方、AutoMQ 服务方、AutoMQ，均特指 AutoMQ HK Limited及其附属公司。
</Info>

## 操作流程

### 步骤 1：安装环境控制台

参考[概述▸](/zh/automq-cloud/deploy-automq-on-kubernetes/overview)，AutoMQ 支持部署到 CCE 集群。在 CCE 部署模式下，首先仍然需要安装 AutoMQ 控制台，再通过控制台界面管理 CCE，将集群部署到 CCE。

在华为云上，支持基于云商店安装环境控制台。

* 通过云商店安装控制台，参考[从华为云云商店安装环境▸](/zh/automq-cloud/getting-started/install-byoc-environment/huawei-cloud/install-env-via-huawei-marketplace)。

<Danger>
  **注意：**

  在 CCE 上 部署 AutoMQ 数据面集群，需要从公网环境拉取 Docker 镜像和 Helm Chart 产物。因此需要 VPC 环境支持通过 SNAT 等方式出公网。配置公网 SNAT 的操作说明请参考 [从华为云云商店安装环境▸](/zh/automq-cloud/getting-started/install-byoc-environment/huawei-cloud/install-env-via-huawei-marketplace)**文档的附录部分** 。
</Danger>

AutoMQ 控制台安装完成后，需要从控制台界面或者 Terraform output 输出菜单获取环境控制台地址、初始用户名、密码。

### 步骤 2：创建 CCE 集群

参考[概述▸](/zh/automq-cloud/deploy-automq-on-kubernetes/overview)，用户需要提前创建独立的 CCE 集群分配给 AutoMQ 使用。用户可访问华为云 CCE 产品控制台按下方步骤操作。

1. 登录华为云 [CCE 控制台](https://console.huaweicloud.com/cce2.0)。点击**购买集群** 。

<img src="https://mintcdn.com/automq/VQt1Hp9n4SOB-kqg/zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/1.webp?fit=max&auto=format&n=VQt1Hp9n4SOB-kqg&q=85&s=c4b02f6b4b2e969ebd2a203241b7a237" width="3692" height="576" data-path="zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/1.webp" />

2. 选择集群类型为**CCE Turbo** ，并按照建议选择计费模式、版本，**集群规模建议选择 200-1000 节点** 。

<img src="https://mintcdn.com/automq/VQt1Hp9n4SOB-kqg/zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/2.webp?fit=max&auto=format&n=VQt1Hp9n4SOB-kqg&q=85&s=99527d9cd6f19e80a61e195fc606bae5" width="2790" height="1302" data-path="zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/2.webp" />

网络配置部分需要参考下方要求设置：

* **节点子网：** 选择拥有充足的 IP 段的子网，建议不少于/20，避免后期无法创建机器。

* **容器子网和服务网段：** 同样需要选择拥有充足 IP 的子网，建议不少于/20，避免后期无法创建Pod。

* **服务转发模式：** 务必选择 IPVS 模式。

<img src="https://mintcdn.com/automq/VQt1Hp9n4SOB-kqg/zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/3.webp?fit=max&auto=format&n=VQt1Hp9n4SOB-kqg&q=85&s=69a6b9e9efed6efa2a1515bd590e3e1e" width="2398" height="1608" data-path="zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/3.webp" />

<Danger>
  **注意：**

  创建 CCE 集群时，建议**取消勾选的“可观测和节点本地域解析加速等插件”** 。以免消耗过多的节点资源，导致集群弹性伸缩异常。
</Danger>

<img src="https://mintcdn.com/automq/VQt1Hp9n4SOB-kqg/zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/4.webp?fit=max&auto=format&n=VQt1Hp9n4SOB-kqg&q=85&s=207d26968b43308b1b44ddc92c0df904" width="3592" height="1544" data-path="zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/4.webp" />

3. 点击创建集群，等待几分钟创建完成。

4. 集群创建完成后，进入集群详情，**插件中心** ，安装**CCE 集群弹性引擎插件** 。

<Danger>
  **注意：**

  弹性插件部署时，选择 **“小规模”** 。以免CCE 的弹性伸缩组件占用过多的节点资源，导致安装失败。
</Danger>

<img src="https://mintcdn.com/automq/VQt1Hp9n4SOB-kqg/zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/5.webp?fit=max&auto=format&n=VQt1Hp9n4SOB-kqg&q=85&s=5477cc7fe4cfaecaae51880be12fbc49" width="3694" height="1496" data-path="zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/5.webp" />

4. 进入集群**配置中心** ，**网络配置 Tab** ，开启 **Pod 访问元数据** 。确认后提交。

<img src="https://mintcdn.com/automq/VQt1Hp9n4SOB-kqg/zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/6.webp?fit=max&auto=format&n=VQt1Hp9n4SOB-kqg&q=85&s=abc5078d9cbeb54a4130d49e0f04e190" width="3796" height="1758" data-path="zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/6.webp" />

5. 进入集群**配置中心** ，**集群弹性伸缩 Tab** ，开启 **弹性缩容，** 并勾选**忽略 DaemonSet 类容器预分配的 CPU 和内存** 。确认后提交。

<img src="https://mintcdn.com/automq/VQt1Hp9n4SOB-kqg/zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/7.webp?fit=max&auto=format&n=VQt1Hp9n4SOB-kqg&q=85&s=521c07e30b2c6a06c1b70a72bb6c93b4" width="2792" height="2024" data-path="zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/7.webp" />

### 步骤 3：创建CCE 集群公共节点池

参考[概述▸](/zh/automq-cloud/deploy-automq-on-kubernetes/overview)，用户需要为 CCE 系统组件创建一个公共节点池，用于部署 CCE 系统组件。参考以下步骤创建符合要求的节点池。

1. 进入步骤 1 创建的 CCE 集群详情，点击**节点管理菜单** ，**创建节点池** 。公共节点池建议选择**至少 2 台 4c8G**  的机型用于部署 CCE 系统组件。

<img src="https://mintcdn.com/automq/VQt1Hp9n4SOB-kqg/zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/8.webp?fit=max&auto=format&n=VQt1Hp9n4SOB-kqg&q=85&s=ceae02c86c3c9cea8bcb25ec56f6321c" width="3742" height="1380" data-path="zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/8.webp" />

### 步骤 4：创建 IAM 委托和  AutoMQ 专用 CCE 节点池

参考[概述▸](/zh/automq-cloud/deploy-automq-on-kubernetes/overview)，用户需要创建 AutoMQ 独享的节点池以及对应的 IAM 委托，以便后续部署实例。参考以下步骤创建 IAM 委托以及符合要求的节点池。

1. 前往 IAM 控制台，创建 IAM 委托，暂不授权。

<img src="https://mintcdn.com/automq/VQt1Hp9n4SOB-kqg/zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/9.webp?fit=max&auto=format&n=VQt1Hp9n4SOB-kqg&q=85&s=f496d226c8ec72744f18c34b3384ed33" width="1972" height="1152" data-path="zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/9.webp" />

2. 进入步骤 1 创建的 CCE 集群详情，点击**节点管理菜单** ，**创建节点池** 。

<img src="https://mintcdn.com/automq/VQt1Hp9n4SOB-kqg/zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/10.webp?fit=max&auto=format&n=VQt1Hp9n4SOB-kqg&q=85&s=ef65ee62c6deead858587fde75aee43d" width="3742" height="1380" data-path="zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/10.webp" />

3. 参考下面的文档设置自定义参数，完成节点池创建。对于表格中没有说明的参数，请按照默认推荐值不要修改。

<Tip>
  创建节点池时，只支持**单可用区** 或者**三可用区** ，如果选择了其他数量的可用区，后期无法创建实例。
</Tip>

| **设置参数**<br />  | **取值说明**<br />                                                                                                                                                                                                                         |
| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **节点池名称**<br /> | <ul><li>说明：按照业务语义，填写一个有区分度的名称即可。</li></ul>                                                                                                                                                                                             |
| **节点类型**<br />  | <ul><li>说明：指定节点池的机型，请参考文档[概述▸](/zh/automq-cloud/deploy-automq-on-kubernetes/overview)。填写机型。</li></ul><Danger><br />**注意：** AutoMQ 必须运行在指定机型的 VM 中，创建节点池如果选择了非预设的机型，后续无法使用该节点池。<br /></Danger><br />                                    |
| **可用区**<br />   | <ul><li>说明：根据实际 AutoMQ 集群的需求，选择**一个** 或**三个可用区** 。</li></ul><Danger><br />**注意：** <br />AutoMQ 要求后续创建集群的可用区和节点池必须完全一致。因此，如果需要创建单可用区的 AutoMQ 集群，则此处创建单可用区节点池；如果需要创建三可用区 AutoMQ 集群，则此处同样创建三可用区节点池，两者不可混用。<br /></Danger><br />           |
| **委托名称**<br />  | <ul><li>说明： AutoMQ 集群需要访问 OBS、网络等云服务，因此需要授权节点池上述操作权限。需要用户创建一个独立的 IAM 委托，选择刚刚创建的 IAM 委托。</li></ul><Danger><br />**注意** ：<br />创建 AutoMQ 专属的节点池时，建议创建新的 IAM 委托，后续在 AutoMQ 控制台为该委托分配相应的操作权限。如果复用了其他 IAM 委托可能会造成权限溢出。<br /></Danger><br /> |
| **污点**<br />    | <ul><li>说明：为防止 Kubernetes 集群内其他工作负载占用 AutoMQ 独占节点的资源，需要对 AutoMQ 独占节点池打上污点。</li><li>**污点的键是dedicated，值是 automq，效果是 NO\_SCHEDULE。**</li></ul>                                                                                            |

<img src="https://mintcdn.com/automq/VQt1Hp9n4SOB-kqg/zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/11.webp?fit=max&auto=format&n=VQt1Hp9n4SOB-kqg&q=85&s=ca0d3f99af205241ac6967d24a774c47" width="2846" height="1692" data-path="zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/11.webp" />

4. 为节点池绑定委托信息，委托是上一步创建的 IAM 委托。同时为节点池添加污点，**污点的键是dedicated，值是 automq，效果是 NO\_SCHEDULE。**

<img src="https://mintcdn.com/automq/VQt1Hp9n4SOB-kqg/zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/12.webp?fit=max&auto=format&n=VQt1Hp9n4SOB-kqg&q=85&s=0324006646949ac836432bdfe48a52b9" width="2216" height="1594" data-path="zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/12.webp" />

5. 节点池创建完成后，**点击弹性伸缩** ，**开启指定可用区的弹性伸缩规则（可选，如不配置则需要手工添加节点）** 。

<Tip>
  设置节点池的弹性伸缩规则时，需要确保以下两个配置正确：

  **节点数范围** ：建议**至少保留 1 台** ，范围根据后续 AutoMQ 集群的规模合理评估，如果设置太小，则导致无法创建足够的节点部署。

  **规格选择：** 务必把所有符合条件的可用区机型全部开启。
</Tip>

<img src="https://mintcdn.com/automq/VQt1Hp9n4SOB-kqg/zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/13.webp?fit=max&auto=format&n=VQt1Hp9n4SOB-kqg&q=85&s=7ff5abb19e986d2fb2e8f2b2dbbcccc8" width="1948" height="1710" data-path="zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/13.webp" />

6. 点击节点池的**扩缩容菜单** ，为初始节点池扩容初始的节点容量。建议每个可用区扩容 1 个节点。

<img src="https://mintcdn.com/automq/VQt1Hp9n4SOB-kqg/zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/14.webp?fit=max&auto=format&n=VQt1Hp9n4SOB-kqg&q=85&s=9faf05a20b0f472847a9ed80d7554817" width="3114" height="1124" data-path="zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/14.webp" />

7. 为 AutoMQ 使用的节点组创建 Placeholder Deployment 用于加速节点故障场景的 Failover 速度。

<Tip>
  **工作原理：**

  Placeholder Deployment 的作用是在 Kubernetes 集群的节点上部署一个低优先级的“占位符”应用，预先占用若干节点。当 AutoMQ 集群的 Pod 所在节点出现故障时，可以快速抢占该 Placeholder 的节点，实现快速恢复。
</Tip>

部署 Placeholder Deployment 可以通过 kubectl 命令或者 Kubernetes 控制台进行操作。

首先[点击链接](http://download.automq.com/k8s-placeholder/automq-low-priority.yaml)，下载名为 `automq-low-priority.yaml` 的优先级申明文件，执行以下命令，创建优先级申明。

```bash theme={null}

kubectl apply -f automq-low-priority.yaml

```

然后[点击链接](http://download.automq.com/k8s-placeholder/automq-cce-huawei-placeholder.yaml)，下载  `automq-cce-huawei-placeholder.yaml`  文件。需要根据实际部署的节点池，修改其中的参数：

* `metadata.name` : 建议修改成具有意义的 Placeholder 名称，例如  `placeholder-for-nodegroup-A` 。

* `replicas` : Placeholder pod 预留数量，默认为 1，如果是多可用区部署，建议每个可用区保留 1 台机器，即数量设置为可用区的数量。

* `affinity.nodeAffinity` : 用于选择 Placeholder 部署的节点，需要修改  `matchExpressions`  中的  `key`  和  `values`  来精确匹配 AutoMQ 的节点池。在示例的 yaml 文件中提供 2 个选项筛选节点。

  * `node.kubernetes.io/pool-name` ：在 CCE 上使用  `node.kubernetes.io/pool-name`  标签筛选指定的节点池。

  * `node.kubernetes.io/instance-type` ：在 CCE 上使用  `node.kubernetes.io/instance-type`  标签筛选指定的节点机型。

* `resources` :

  * limits 的 CPU 和内存与 CCE 节点池的规格保持一致，例如 2C16G。

  * requests 的 CPU 和内存应略小于 CCE 节点池的规格，例如使用 3/4 的资源。这样可以使 Placeholder Pod 预留额外节点，避免其他 Pod 占用故障转移所需容量。

**需要修改的参数片段，参考以下 yaml 文件：**

```yaml theme={null}

metadata:
  # TODO: Replace with your custom name
  name: {Replace with your custom placeholder deployment name}
spec:
  # TODO: Replace with your custom node nums
  replicas: 1
    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
              - matchExpressions:
                - key: node.kubernetes.io/pool-name
                  operator: In
                  values:
                  # TODO: Replace with your custom Node Pool Name
                  - "Replace with your custom Node Pool Name"
                - key: node.kubernetes.io/instance-type
                  operator: In
                  values:
                  # TODO: Replace with your custom Node Pool VM Size
                  - "Replace with your custom Node Pool VM Size"
      containers:
        - name: placeholder
          resources:
          # TODO: Replace with your custom Memory and CPU size
            limits:
              cpu: 2000m
              memory: 16Gi
            requests:
              cpu: 1000m
              memory: 12Gi               

```

修改完成后，执行以下命令，安装 Placeholder。

```bash theme={null}

kubectl apply -f automq-cce-huawei-placeholder.yaml

```

执行完成后，调用以下命令检查 Placeholder Pod 的状态，确保 Placeholder Pod 状态为  `Running` ，并观察它是否被调度到了期望的节点上。

```bash theme={null}

kubectl get pods -l app=low-priority-placeholder -o wide

```

### 步骤 5：进入环境控制台，创建部署配置

首次进入 AutoMQ BYOC 控制台，需要创建部署配置，用于设置 Kubernetes 集群信息、OBS Bucket 等信息，之后才可创建实例。

1. 复制步骤2 创建的 CCE 集群的**集群 ID** 。

<img src="https://mintcdn.com/automq/VQt1Hp9n4SOB-kqg/zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/15.webp?fit=max&auto=format&n=VQt1Hp9n4SOB-kqg&q=85&s=57e21f12077847f7eea253067aa8021e" width="3804" height="918" data-path="zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/15.webp" />

2. 找到 Kubectl 配置菜单，**获取 Kubeconfig** 配置文件。

<img src="https://mintcdn.com/automq/VQt1Hp9n4SOB-kqg/zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/16.webp?fit=max&auto=format&n=VQt1Hp9n4SOB-kqg&q=85&s=92c66af8c60f2216840fbd78aeb4fbc5" width="3706" height="936" data-path="zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/16.webp" />

点击 Kubectl 配置，设置为内网访问，下载 Kubeconfig 配置文件。

<img src="https://mintcdn.com/automq/VQt1Hp9n4SOB-kqg/zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/17.webp?fit=max&auto=format&n=VQt1Hp9n4SOB-kqg&q=85&s=794c5b05bc4df7d6f71c0bcbfb3ec6f2" width="1626" height="1694" data-path="zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/17.webp" />

3. 登录控制台，录入集群 ID 和 Kubeconfig等配置，点击下一步。

   1. 云账号 ID：填写当前的云账号主账号 ID，从华为云控制台我的凭证页面查看。

   2. 部署类型：选择 Kubernetes。

   3. Kubernetes 集群：填写 CCE 集群的集群 ID。

   4. Kubeconfig：填写上一步复制的内容。

   5. DNS ZoneId：填写用于部署 AutoMQ 的 Private DNS 的 ZoneId。

   6. Bucket 名称：填写用于部署 AutoMQ 存储消息的数据 Bucket，支持添加多个 OBS Bucket。

<Tip>
  **注意：**

  DNS Zone Id 需要从浏览器地址栏获取，Bucket 不得和已有 Ops Bucket 重复。
</Tip>

<img src="https://mintcdn.com/automq/VQt1Hp9n4SOB-kqg/zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/18.webp?fit=max&auto=format&n=VQt1Hp9n4SOB-kqg&q=85&s=a0edc1e16716bf81dfcb747b82f517e2" width="2596" height="1952" data-path="zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/18.webp" />

4. 填写云资源信息后，生成数据面 CCE 节点池需要授权的权限。参考控制台指引，**创建两个自定义授权策略** 。然后将授权策略绑定到**步骤 4** 创建的 AutoMQ IAM 委托，并**录入该节点池委托名称** ，**点击下一步预览** 。

<Tip>
  因华为云 IAM 产品约束，AutoMQ 数据面集群需要分开创建并附加 OBS 权限和 ECS 相关权限。
</Tip>

<img src="https://mintcdn.com/automq/VQt1Hp9n4SOB-kqg/zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/19.webp?fit=max&auto=format&n=VQt1Hp9n4SOB-kqg&q=85&s=21a9dea8de32312f5efbeeea6962da6e" width="2110" height="1696" data-path="zh/automq-cloud/deploy-automq-on-kubernetes/deploy-to-huawei-cloud-cce/19.webp" />

5. 预览部署配置信息，**完成创建** 。即可前往实例管理页面创建实例。
