创建

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

使用须知

在开始之前,请在按用途细分的 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-subnetpod-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 节点服务负载平衡器PodVCN 和子网选择。
    确认 Node count(节点计数)3Boot volume size(引导卷大小)≥ 50 GBSSH public key(SSH 公钥)正确。单击创建集群
  8. 创建后验证配置。
    1. 打开集群详细信息页并确认 Kubernetes API 端点Worker 节点Pods 与预期子网关联。
    2. 查看 Block StorageCompute 详细信息 (≥ 50 GB) 中的 worker 节点引导卷大小。
    3. (可选)使用上载的 SSH 公钥通过 SSH 连接到 Worker 节点以验证访问权限(取决于您的访问模型)。
有关创建群集的更多信息,请参阅 OCI 文档中的自定义创建工作流以创建群集

配置 Dify 环境和访问

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

环境准备

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

外部访问配置

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