创建

创建网络、集群并配置环境。

使用须知

在开始之前,请在按用途细分的 VCN 中配置网络:
  • 公共子网支持服务负载平衡器和 OKE API/服务端点。
  • 专用子网托管 worker 节点和云池。
  • 专用子网托管 Oracle Autonomous AI Database 。

考虑以下事项来规划子网 CIDR 范围:

  • 选择不重叠的 CIDR 范围(例如 VCN 10.0.0.0/16;子网 /24s,例如 10.0.10.0/24 节点、10.0.20.0/24 云池、10.0.30.0/24 数据库)。
  • 确保与节点/云池 CIDR、Kubernetes 服务 CIDR 或集群 CIDR 无重叠。
按照以下概括性步骤创建和定制 VCN:
  1. 使用 VCN 向导创建新 VCN。VCN 包含以下网关和子网:
    • VCN 的互联网网关、NAT 网关和服务网关。
    • 路由到 Internet 网关的区域公共子网。公共子网中的实例可能具有公共 IP 地址(可选)。
    • 路由至 NAT 网关和服务网关(以及 Oracle 服务网络)的区域专用子网。专用子网中的实例不能有公共 IP 地址。
    请按照 OCI 文档中的步骤执行使用互联网连接创建 VCN 。
  2. 定制和重命名子网以提高清晰度和功能,例如:
    • service-lb-public (public)
    • database-private-subner (private)

创建网络资源

VCN 向导为您创建了专用子网和公共子网。
现在,您必须另外创建三个子网:
  • 为 OKE API/OKE 服务创建其他公共子网。例如,oke-api-service-public。
  • 在同一 VCN 中为节点创建两个额外的专用子网,并在 Pod 中通过 VCN 的 NAT 网关为 Dify 云池出口到互联网。例如,node-private-subnet 和 pod-private-subnet。
按照以下步骤创建每个子网:
  1. 为节点子网创建独立的专用路由表。
    1. 在同一 VCN 中创建新的路由表(例如 rt-node-private)。
    2. 使用目标 0.0.0.0/0 添加以上面创建的 NAT 网关为目标的默认路由。
    有关详细信息,请参阅 OCI 文档中的创建路由表。
  2. 为节点子网(例如 nsg-node-private)创建子网网络安全葫芦 (NSG),并根据需要创建相应的规则。除非您的标准要求无状态,否则请使用有状态规则。
    有关详细信息,请参阅 OCI 文档中的创建 NSG 。
  3. 如果不希望使用 NSG,请创建子网安全列表(例如 sl-node-private),并为节点子网打开必要的端口。

    提示:

    Oracle 建议您更喜欢 NSG,而不是安全列表。
    有关详细信息,请参阅 OCI 文档中的创建安全列表。
  4. 创建专用区域节点子网并附加路由表和安全列表。
    1. 在虚拟云网络列表页上,选择您创建的 VCN。
    2. 在详细信息页上,选择创建子网。
    3. 在正确的区间中创建具有计划 CIDR 的区域子网(例如 node-private-subnet )。
    4. 不允许 VNIC 上的公共 IP(将子网标记为专用)。
    5. 将子网与将 0.0.0.0/0 指向 NAT 网关的独立路由表(例如 rt-node-private)关联。
    6. 附加安全列表或 NSG。
    7. 选择 DHCP 选项;如果依赖 OCI DNS 解析,则使用 VCN DNS。
    1. 为 Pod 创建其他专用子网,为 OKE/API 服务创建公共子网,并通过重复这些步骤来附加正确的路由表和安全列表或 NSG。
      例如:
      • node-private-subnet:private,associate rt-node-private,附加 nsg-nodes。
      • pod-private-subnet:private,关联 rt-pod-private,附加 nsg-pods。
      • oke-api-service-public:公共,使用 SL 或 NSG 将入站限制为管理 IP 范围。为 oke-api-service-public 创建公共子网时,将其连接到 Internet 网关。
    有关更多信息,请参见 OCI 文档中的创建子网。

创建 OKE 集群

创建集群,选择配置的 VCN,并将指定的 worker 节点和云池子网分配给 Kubernetes API。
按照以下步骤创建和配置群集:
  1. 在 OCI 控制台中,确保您位于正确的租户和区域。
  2. 单击 Developer Services(开发人员服务),然后单击 Kubernetes Clusters (OKE) 。
  3. 在创建集群页中,选择定制创建,然后单击继续。
  4. 在网络设置步骤中,选择目标区间,选择配置的 VCN ,然后单击下一步。
    1. 分配 Kubernetes API 端点子网并选择分配公共 IP 地址的选项。
    2. 单击下一步。
  5. 在负载平衡器子网部分中,选择指定负载平衡器子网选项,然后选择服务负载平衡器子网,然后单击下一步。
  6. 在节点池页中,指定群集中第一个节点池的配置详细信息。配置可用性、存储和访问的节点设置。
    1. 在节点放置配置部分中,选择您创建的员工节点子网。
      例如,node-private-subnet。
    2. 选择节点类型作为托管以管理节点池中的 worker 节点。
    3. 将节点计数设置为 3 以实现高可用性。
      如果可用,请在可用性域或容错域之间分配节点。
    4. 将 Boot volume size(引导卷大小)设置为至少 50 GB。
      从默认值增加,以避免映像、日志和工作负载的存储短缺。
    5. 上载 SSH 公共密钥以进行后续节点管理。
      粘贴 .pub 文件的内容以启用安全 SSH 访问以进行故障排除和管理。
    6. 在 Pod communication 部分中,选择 Pod subnet 。
      例如,pod-private-subnet。
      为云池选择专用区域子网(对于 VCN 本机云池网络);确保其路由表指向 NAT 网关,并允许进行必要的出站。
  7. 复查您的选择并创建集群。验证 Kubernetes API 端点、 Worker 节点、服务负载平衡器和 Pod 的 VCN 和子网选择。
    确认 Node count(节点计数)为 3, Boot volume size(引导卷大小)为 ≥ 50 GB, SSH public key(SSH 公钥)正确。单击创建集群。
  8. 创建后验证配置。
    1. 打开集群详细信息页并确认 Kubernetes API 端点、 Worker 节点和 Pods 与预期子网关联。
    2. 查看 Block Storage 或 Compute 详细信息 (≥ 50 GB) 中的 worker 节点引导卷大小。
    3. (可选)使用上载的 SSH 公钥通过 SSH 连接到 Worker 节点以验证访问权限(取决于您的访问模型)。
有关创建群集的更多信息,请参阅 OCI 文档中的自定义创建工作流以创建群集。

配置 Dify 环境和访问

配置 Dify 环境访问以准备部署以初始化平台:

环境准备

  1. 通过 Helm 下载 Dify Enterprise Edition 安装包。
  2. 修改 values.yaml 配置。
  3. 如果使用自构建的 PostgreSQL 、 Redis 和 MinIO ,请启用外部组件配置,例如 externalPostgres 和 externalRedis。
  4. 同时,创建本地 PVC,为数据持久性分配 50G 存储。
  5. 运行 kubectl 命令以完成创建。

外部访问配置

  1. 通过运行 helm install ingress-nginx 部署负载平衡入站控制器。
  2. 在入站获取外部 IP 地址后,配置 DNS。
  3. 然后,您可以通过 Web 访问 Dify 控制台和企业管理平台,以完成许可证注册、初始用户创建和插件安装,例如 LLM 模型插件和数据库查询插件。