作成

ネットワーク、クラスタを作成し、環境を構成します。

開始する前に

開始する前に、目的別にセグメント化されたVCNでネットワーキングを構成します:
  • パブリック・サブネットは、サービス・ロード・バランサとOKE API/サービス・エンドポイントをサポートします。
  • プライベート・サブネットは、ワーカー・ノードおよびポッドをホストします。
  • 専用プライベート・サブネットは、Oracle Autonomous AI Databaseをホストします。

サブネットCIDR範囲を計画するには、次のことを考慮してください:

  • 重複しないCIDR範囲(VCN 10.0.0.0/1610.0.10.0/24ノード、10.0.20.0/24ポッド、10.0.30.0/24データベースなどのサブネット/24sなど)を選択します。
  • ノード/ポッドCIDR、KubernetesサービスCIDRまたはクラスタCIDRと重複しないようにします。
次の大まかなステップに従って、VCNを作成およびカスタマイズします:
  1. VCNウィザードを使用して、新しいVCNを作成します。VCNには、次のゲートウェイおよびサブネットが含まれます:
    • VCNのインターネット・ゲートウェイ、NATゲートウェイおよびサービス・ゲートウェイ。
    • インターネット・ゲートウェイへのルーティングを持つリージョナル・パブリック・サブネット。パブリック・サブネット内のインスタンスは、オプションでパブリックIPアドレスを持つ場合があります。
    • NATゲートウェイおよびサービス・ゲートウェイ(したがってOracle Services Network)へのルーティングを持つリージョナル、プライベート・サブネット。プライベート・サブネット内のインスタンスはパブリックIPアドレスを持つことはできません。
    OCIドキュメントインターネット接続を使用したVCNの作成のステップに従います。
  2. サブネットをカスタマイズおよび名前変更して、わかりやすくします。次に例を示します。
    • service-lb-public (public)
    • database-private-subner (private)

ネットワーク・リソースの作成

VCNウィザードによって、プライベート・サブネットとパブリック・サブネットが自動的に作成されました。
次に、3つの追加サブネットを作成する必要があります。
  • OKE API/OKEサービス用の追加のパブリック・サブネットを作成します。たとえば、oke-api-service-publicです。
  • VCNのNAT Gateway for Difyポッドを介してインターネットにエグレスするノードとポッドに対して、同じVCN内に2つの追加のプライベート・サブネットを作成します。たとえば、node-private-subnetおよびpod-private-subnetです。
各サブネットを作成するには、次のステップに従います。
  1. ノード・サブネットの独立したプライベート・ルート表を作成します。
    1. 同じVCNに新しいルート表(たとえば、rt-node-private)を作成します。
    2. 前述のNAT Gatewayをターゲットとする宛先0.0.0.0/0を持つデフォルト・ルートを追加します。
    詳細は、OCIドキュメントルート表の作成を参照してください。
  2. ノード・サブネットのサブネット・ネットワーク・セキュリティ・グループ(NSG) (nsg-node-privateなど)を作成し、必要に応じて適切なルールを作成します。標準がステートレスを必要としないかぎり、ステートフル・ルールを使用します。
    詳細は、OCIドキュメントNSGの作成を参照してください。
  3. サブネット・セキュリティ・リスト(sl-node-privateなど)を作成し、NSGを使用しない場合は、ノード・サブネットに必要なポートを開きます。

    ヒント :

    Oracleでは、セキュリティ・リストよりもNSGを優先することをお薦めします。
    詳細は、OCIドキュメントセキュリティ・リストの作成を参照してください。
  4. プライベート・リージョナル・ノード・サブネットを作成し、ルート表およびセキュリティ・リストをアタッチします。
    1. 「Virtual Cloud Networks」リスト・ページで、作成したVCNを選択します。
    2. 詳細ページで、「サブネットの作成」を選択します。
    3. 適切なコンパートメントに計画されたCIDRを使用してリージョナル・サブネット(node-private-subnetなど)を作成します。
    4. VNIC上のパブリックIPを禁止します(サブネットをプライベートとしてマークします)。
    5. サブネットを、0.0.0.0/0をNAT Gatewayを指す独立したルート表(たとえば、rt-node-private)に関連付けます。
    6. セキュリティ・リストまたはNSGをアタッチします。
    7. DHCPオプションを選択します。OCI DNS解決に依存する場合は、VCN DNSを使用します。
    1. ポッド用の追加のプライベート・サブネット(OKE/APIサービス用のパブリック・サブネット)を作成し、これらのステップを繰り返して正しいルート表およびセキュリティ・リストまたはNSGをアタッチします。
      たとえば:
      • node-private-subnet: プライベート、associate rt-node-private、アタッチnsg-nodes
      • pod-private-subnet: プライベート、rt-pod-privateの関連付け、nsg-podsのアタッチ。
      • oke-api-service-public: SLまたはNSGを使用して、パブリックで管理IP範囲へのインバウンドを制限します。oke-api-service-publicのパブリック・サブネットを作成する場合は、インターネット・ゲートウェイに接続します。
    詳細は、OCIドキュメントサブネットの作成を参照してください。

OKEクラスタの作成

クラスタを作成し、構成されたVCNを選択し、指定されたワーカー・ノードおよびポッド・サブネットをKubernetes APIに割り当てます。
クラスタを作成および構成するには、次のステップに従います。
  1. OCIコンソールで、正しいテナンシおよびリージョンにいることを確認します。
  2. 「開発者サービス」をクリックし、「Kubernetesクラスタ(OKE)」を選択します。
  3. 「クラスタの作成」ページで、「カスタム作成」を選択し、「続行」をクリックします。
  4. 「ネットワーク設定」ステップで、ターゲットのコンパートメントを選択し、構成されたVCNを選択して、「次へ」をクリックします。
    1. Kubernetes APIエンドポイント・サブネットを割り当て、パブリックIPアドレスを割り当てるオプションを選択します。
    2. 「次へ」をクリックしてください。
  5. 「ロード・バランサ・サブネット」セクションで、「ロード・バランサ・サブネットの指定」オプションを選択し、「サービスLB」サブネットを選択して、「次へ」をクリックします。
  6. 「ノード・プール」ページで、クラスタ内の最初のノード・プールの構成詳細を指定します。可用性、ストレージおよびアクセスのノード設定を構成します。
    1. 「ノード配置構成」セクションで、作成したワーカー・ノード・サブネットを選択します。
      たとえば、node-private-subnetです。
    2. ノード・プール内のワーカー・ノードを管理するには、「ノード・タイプ」「管理対象」として選択します。
    3. 高可用性のために、「ノード数」3に設定します。
      使用可能な場合は、アベイラビリティ・ドメインまたはフォルト・ドメイン間でノードを分散します。
    4. ブート・ボリューム・サイズを少なくとも50 GBに設定します。
      イメージ、ログおよびワークロードのストレージ不足を回避するために、デフォルトから増やします。
    5. 後続のノード管理のためにSSH公開キーをアップロードします。
      .pubファイルの内容を貼り付けて、トラブルシューティングおよび管理のためのセキュアなSSHアクセスを有効にします。
    6. 「ポッド通信」セクションで、「ポッド・サブネット」を選択します。
      たとえば、pod-private-subnetです。
      ポッド(VCNネイティブ・ポッド・ネットワーキングの場合)のプライベートのリージョナル・サブネットを選択します。ルート表がNATゲートウェイを指し、必要なエグレスが許可されていることを確認します。
  7. 選択内容を確認し、クラスタを作成します。Kubernetes APIエンドポイントワーカー・ノードサービスLBおよびポッドVCNおよびサブネットの選択を確認します。
    「ノード数」3「ブート・ボリューム・サイズ」≥ 50 GB、およびSSH公開キーが正しいことを確認します。「クラスタの作成」をクリックします。
  8. 作成後に構成を検証します。
    1. 「クラスタ詳細」ページを開き、Kubernetes APIエンドポイントワーカー・ノードおよびポッドが目的のサブネットに関連付けられていることを確認します。
    2. ブロック・ストレージまたはコンピュートの詳細(≥ 50 GB)で、ワーカー・ノードのブート・ボリューム・サイズを確認します。
    3. (オプション)アップロードされたSSH公開キーを使用してワーカー・ノードにSSHし、アクセスを確認します(アクセス・モデルに従います)。
クラスタの作成の詳細は、OCIドキュメントクラスタを作成するためのカスタム作成ワークフローを参照してください。

Dify環境とアクセスの設定

Dify環境アクセスを構成して、プラットフォームを初期化するためのデプロイメントを準備します。

環境準備

  1. HelmからDify Enterprise Editionインストール・パッケージをダウンロードします。
  2. values.yaml構成を変更します。
  3. 自己構築型のPostgreSQLRedisおよびMinIOを使用する場合は、externalPostgresexternalRedisなどの外部コンポーネント構成を有効にします。
  4. 同時に、ローカルPVCを作成し、データ永続性のために50Gストレージを割り当てます。
  5. kubectlコマンドを実行して作成を完了します。

外部アクセス構成

  1. helm install ingress-nginxを実行して、ロード・バランシング・イングレス・コントローラをデプロイします。
  2. イングレスが外部IPアドレスを取得したら、DNSを構成します。
  3. その後、Web経由でDifyコンソールとエンタープライズ管理プラットフォームにアクセスして、ライセンス登録、初期ユーザー作成、およびLLMモデルプラグインやデータベースクエリプラグインなどのプラグインインストールを完了できます。