생성

네트워크, 클러스터를 생성하고 환경을 구성합니다.

시작하기 전에

시작하기 전에 목적에 따라 세분화된 VCN에서 네트워킹을 구성합니다.
  • 공용 서브넷은 서비스 로드 밸런서 및 OKE API/서비스 엔드포인트를 지원합니다.
  • 전용 서브넷은 워커 노드 및 POD를 호스트합니다.
  • 전용 프라이빗 서브넷은 Oracle Autonomous AI Database를 호스팅합니다.

서브넷 CIDR 범위를 계획하려면 다음을 고려하십시오.

  • 겹치지 않는 CIDR 범위(예: VCN 10.0.0.0/16, 10.0.10.0/24 노드와 같은 서브넷 /24s, 10.0.20.0/24 POD, 10.0.30.0/24 데이터베이스)를 선택합니다.
  • 노드/포드 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 마법사가 전용 및 공용 서브넷을 생성했습니다.
이제 세 개의 서브넷을 추가로 생성해야 합니다.
  • OKE API/OKE 서비스에 대한 추가 퍼블릭 서브넷을 생성합니다. 예: oke-api-service-public.
  • Dify POD에 대한 VCN의 NAT 게이트웨이를 통해 인터넷으로 송신하는 Pod와 노드에 대해 동일한 VCN 내에 두 개의 추가 프라이빗 서브넷을 생성합니다. 예를 들어, node-private-subnetpod-private-subnet입니다.
각 서브넷을 생성하려면 다음 단계를 수행하십시오.
  1. 노드 서브넷에 대한 독립적인 개인 경로 테이블을 생성합니다.
    1. 동일한 VCN에 새 라우트 테이블(예: rt-node-private)을 생성합니다.
    2. 위에서 생성한 NAT 게이트웨이를 대상으로 하는 대상 0.0.0.0/0가 있는 기본 경로를 추가합니다.
    자세한 내용은 OCI 설명서경로 테이블 생성을 참조하십시오.
  2. 노드 서브넷(예: nsg-node-private)에 대한 서브넷 NSG(네트워크 보안 환경)를 생성하고 필요에 따라 적절한 규칙을 생성합니다. 표준에 Stateless가 필요하지 않은 경우 Stateful 규칙을 사용하십시오.
    자세한 내용은 OCI 설명서NSG 생성을 참고하세요.
  3. 서브넷 보안 목록(예: sl-node-private)을 생성하고 NSG를 사용하지 않으려는 경우 노드 서브넷에 필요한 포트를 엽니다.

    참고:

    Oracle은 보안 목록보다 NSG를 선호할 것을 권장합니다.
    자세한 내용은 OCI 설명서에서 보안 목록 생성을 참조하십시오.
  4. 지역/전용 노드 서브넷을 생성하고 라우트 테이블 및 보안 목록을 연결합니다.
    1. 가상 클라우드 네트워크 목록 페이지에서 생성한 VCN을 선택합니다.
    2. 세부정보 페이지에서 서브넷 생성을 선택합니다.
    3. 올바른 컴파트먼트에 계획된 CIDR을 사용하여 지역별 서브넷(예: node-private-subnet)을 만듭니다.
    4. VNIC의 공용 IP를 허용하지 않습니다(서브넷을 전용으로 표시).
    5. 서브넷을 NAT 게이트웨이에 0.0.0.0/0를 가리키는 독립 경로 테이블(예: rt-node-private)과 연관시킵니다.
    6. 보안 목록 또는 NSG를 연결합니다.
    7. DHCP 옵션을 선택합니다. OCI DNS 확인에 의존하는 경우 VCN DNS를 사용합니다.
    1. OKE/API 서비스에 대한 공용 서브넷인 Pod에 대한 추가 프라이빗 서브넷을 생성하고 다음 단계를 반복하여 올바른 경로 테이블 및 보안 목록 또는 NSG를 연결합니다.
      예:
      • node-private-subnet: 비공개, associate rt-node-private, nsg-nodes 첨부.
      • pod-private-subnet: private, rt-pod-private 연관, nsg-pods 첨부
      • oke-api-service-public: public, SL 또는 NSG를 사용하여 관리 IP 범위로 인바운드 제한 oke-api-service-public에 대한 공용 서브넷을 생성할 때 인터넷 게이트웨이에 연결합니다.
    자세한 내용은 OCI 설명서에서 서브넷 생성을 참조하십시오.

OKE 클러스터 생성

클러스터를 생성하고 구성된 VCN을 선택한 다음 지정된 워커 노드 및 Pod 서브넷을 Kubernetes API에 지정합니다.
다음 단계에 따라 클러스터를 생성 및 구성합니다.
  1. OCI 콘솔에서 올바른 테넌시 및 지역에 있는지 확인합니다.
  2. 개발자 서비스를 누른 다음 OKE(Kubernetes 클러스터)를 누릅니다.
  3. 클러스터 생성 페이지에서 사용자정의 생성을 선택하고 계속을 누릅니다.
  4. 네트워크 설정 단계에서 대상 컴파트먼트를 선택하고 구성된 VCN을 선택한 후 다음을 누릅니다.
    1. Kubernetes API 끝점 서브넷을 지정하고 퍼블릭 IP 주소를 지정하는 옵션을 선택합니다.
    2. 다음을 누릅니다.
  5. 로드 밸런서 서브넷 섹션에서 로드 밸런서 서브넷 지정 옵션을 선택한 다음 서비스 LB 서브넷을 선택하고 다음을 누릅니다.
  6. 노드 풀 페이지에서 클러스터의 첫번째 노드 풀에 대한 구성 세부정보를 지정합니다. 가용성, 저장 영역 및 액세스에 대한 노드 설정을 구성합니다.
    1. 노드 배치 구성 섹션에서 생성한 작업자 노드 서브넷을 선택합니다.
      예: node-private-subnet.
    2. 노드 풀에서 작업자 노드를 관리하려면 노드 유형관리됨으로 선택합니다.
    3. 고가용성을 위해 노드 수3로 설정합니다.
      사용 가능한 경우 가용성 도메인 또는 장애 도메인 간에 노드를 분산합니다.
    4. 부트 볼륨 크기50 GB 이상으로 설정합니다.
      이미지, 로그 및 워크로드에 대한 스토리지 부족을 방지하려면 기본값을 늘리십시오.
    5. 이후 노드 관리를 위해 SSH 공개 키를 업로드합니다.
      문제 해결 및 관리를 위해 보안 SSH 액세스를 사용으로 설정하려면 .pub 파일의 내용을 붙여넣습니다.
    6. Pod 통신 섹션에서 Pod 서브넷을 선택합니다.
      예: pod-private-subnet.
      Pod(VCN-native Pod 네트워킹의 경우)에 대한 전용 지역별 서브넷을 선택합니다. 경로 테이블이 NAT 게이트웨이를 가리키고 필요한 송신이 허용되는지 확인하십시오.
  7. 선택 사항을 검토하고 클러스터를 만듭니다. Kubernetes API 끝점, 작업자 노드, 서비스 LBPods에 대한 VCN 및 서브넷 선택을 확인합니다.
    노드 수3이고, 부트 볼륨 크기≥ 50 GB이고, SSH 공개 키가 올바른지 확인합니다. 클러스터 생성을 누릅니다.
  8. 생성 후 구성을 검증합니다.
    1. 클러스터 세부정보 페이지를 열고 Kubernetes API 끝점, 작업자 노드Pod가 의도한 서브넷과 연관되어 있는지 확인합니다.
    2. 블록 스토리지 또는 컴퓨트 세부정보(≥ 50 GB)에서 워커 노드 부트 볼륨 크기를 확인합니다.
    3. (선택사항) 업로드된 SSH 퍼블릭 키를 사용하여 워커 노드로 SSH를 사용하여 액세스(액세스 모델에 따라 다름)를 확인합니다.
클러스터 생성에 대한 자세한 내용은 OCI 설명서클러스터 생성을 위한 워크플로우 사용자 정의 생성을 참조하십시오.

Dify 환경 및 액세스 구성

Dify 환경 액세스를 구성하여 플랫폼 초기화를 위한 배치를 준비합니다.

환경 준비

  1. Helm을 통해 Dify Enterprise Edition 설치 패키지를 다운로드합니다.
  2. values.yaml 구성을 수정합니다.
  3. 자체 구축된 PostgreSQL, RedisMinIO를 사용하는 경우 externalPostgresexternalRedis와 같은 외부 구성 요소 구성을 사용으로 설정합니다.
  4. 동시에 로컬 PVC를 만들고 데이터 지속성을 위해 50G 저장소를 할당합니다.
  5. kubectl 명령을 실행하여 만들기를 완료합니다.

외부 액세스 구성

  1. helm install ingress-nginx를 실행하여 로드 균형 조정 수신 컨트롤러를 배치합니다.
  2. 수신에서 외부 IP 주소를 얻은 후 DNS를 구성합니다.
  3. 그런 다음 웹을 통해 Dify 콘솔 및 엔터프라이즈 관리 플랫폼에 액세스하여 라이센스 등록, 초기 사용자 생성, 플러그인 설치(예: LLM 모델 플러그인 및 데이터베이스 쿼리 플러그인)를 완료할 수 있습니다.