> ## 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.

# OCI

# 安装 AutoMQ 到 OCI

本文档将指导您如何在 Oracle Cloud Infrastructure (OCI) 上成功部署 AutoMQ for Kafka。我们将详细介绍环境准备和安装步骤，确保您能够顺利完成部署。

## 1. 准备 VPC 网络

首先，我们需要一个配置正确的虚拟云网络 (VCN) 来承载后续的 Kubernetes 集群和 AutoMQ 实例。

请确保您的 VCN 满足以下要求：

* **同一区域 (Region)**：VCN 必须和您计划部署 OKE 集群及业务应用的 OCI 区域保持一致。
* **子网 (Subnet)**：
  * VCN 下至少包含两个子网，建议划分为一个公共子网 (Public Subnet) 和至少一个私有子网 (Private Subnet)。
  * **公共子网**：用于部署需要公网访问的资源，如 Load Balancer。
  * **私有子网**：用于部署 OKE 的工作节点 (Worker Nodes) 和 AutoMQ 实例，以增强安全性。
  * 确保每个子网都有充足的可用 IP 地址，以满足 OKE 集群和应用扩展的需求。
  * 参考文档：[Managing VCNs and Subnets](https://docs.oracle.com/en-us/iaas/Content/Network/Tasks/managingVCNs.htm)
* **互联网网关 (Internet Gateway)**：为您的公共子网挂载一个互联网网关，并配置相应的路由规则，以允许来自互联网的流量访问。
  * 参考文档：[Managing Internet Gateways](https://docs.oracle.com/en-us/iaas/Content/Network/Tasks/managingIGs.htm)
* **NAT 网关 (NAT Gateway)**：为您的私有子网挂载一个 NAT 网关，并配置相应的路由规则。这将允许私有子网内的资源（如 OKE 节点）访问互联网以下载镜像和依赖，但互联网无法直接访问这些资源。
  * 参考文档：[Managing NAT Gateways](https://docs.oracle.com/en-us/iaas/Content/Network/Tasks/manage-nat.htm)
* **服务网关 (Service Gateway)**：为 VCN 开启一个服务网关，并配置路由规则以允许私有网络内的资源通过 OCI 的骨干网络访问 OCI 对象存储 (Object Storage) 服务。这可以确保数据传输的安全性和高性能。
  * 参考文档：[Access to Oracle Services: Service Gateway](https://docs.oracle.com/en-us/iaas/Content/Network/Tasks/servicegateway.htm)

## 2. 准备对象存储 (Object Storage)

AutoMQ 将流存储数据下沉到云厂商的对象存储中，以实现存算分离和显著的成本节约。在 OCI 环境中，每个 AutoMQ 集群都需要两个独立的对象存储桶 (Bucket)。

* **Data Bucket**：用于存储 Kafka 的消息数据。推荐命名为 `automq-data-<cluster-name>`。
* **Ops Bucket**：用于存储集群运行产生的日志、指标 (Metrics) 等运维数据。推荐命名为 `automq-ops-<cluster-name>`。

请在与 OKE 集群相同的 OCI 区域下创建这两个 Bucket。

* 参考文档：[Managing Buckets in Object Storage](https://docs.oracle.com/en-us/iaas/Content/Object/Tasks/managingbuckets.htm)

## 3. 准备 Kubernetes 集群 (OKE)

AutoMQ 是一个云原生消息流系统，完全部署在 Kubernetes 之上。因此，您需要准备一个 Oracle Kubernetes Engine (OKE) 集群。

<Tip>
  **说明**：您可以参考[此 Terraform 脚本](https://github.com/AutoMQ/automq-labs/tree/main/byoc-examples/setup/kubernetes/oci/terraform/oke)，一键创建满足要求的 OKE 集群。
</Tip>

### 3.1. 创建 OKE 集群

在创建 OKE 集群时，请注意以下关键参数配置：

* **Kubernetes 版本**：建议选择一个较新的稳定版本，例如 `v1.33.x`。请参考 OCI 官方文档以获取当前支持的最新版本列表。
* **网络模式**：
  * 选择 **"VCN-Native Pod Networking"** (npn) 网络模式。
  * 在网络配置中，选择您在第一步中准备好的 VCN，并将 Kubernetes API Endpoint 和 Worker Nodes 的子网设置为正确的私有子网。
  * 配置 Network Security Groups (NSGs) 以允许必要的流量进出集群。
* 参考文档：[Creating a Kubernetes Cluster](https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengcreatingclusterusingoke.htm)

### 3.2. 创建节点池 (Node Pool)

为了获得最佳性能和资源隔离，建议为 AutoMQ 创建一个独立的节点池。

* **实例类型 (Shape)**：推荐选择 `VM.Standard.E5.Flex` 系列，它提供了灵活的 CPU 和内存配比。
* **资源配置**：
  * **OCPUs**: 2
  * **Memory**: 16 GB
* **节点数量 (Size)**：至少选择 3 个节点，以确保高可用性。

## 4. 使用 Helm Chart 部署 AutoMQ

完成上述所有准备工作后，您就可以使用 Helm Chart 来部署 AutoMQ BYOC 了。详细的安装步骤、参数配置（如 S3WAL 与 EBSWAL 模式的选择）以及高阶配置，请参考我们的标准 Helm Chart 部署文档。

**[使用 Helm Chart 部署 AutoMQ BYOC▸](/zh/automq-cloud/appendix/deploy-automq-enterprise-via-helm-chart)**
