Repository for dip
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

4.0 KiB

Langflow IDE 배포

1. 배포 방법

  • 명령어

    $ helm upgrade --instal langflow ../langflow-ide \
      --namespace langflow \
      --create-namespace \
      -f custom-values.yaml
    

2. custom-values.yaml 설명

  • custom-values.yaml에 정의된 값에 대한 설명이다.

1) Langflow 설정

Name 설명 기본값
langflow.backend.replicaCount Langflow 백엔드 서버의 pod 수를 설정. 1
langflow.backend.image Langflow 백앤드 서버의 이미지 리포지토리와 태그를 설정. custom-values.yaml 참고
langflow.backend.resource langflow 백엔드의 리소스를 설정. custom-values.yaml 참고
langflow.backend.nodeSelector Langflow 백엔드 서버의 pod의 nodeSelector를 설정. {}
langflow.backend.tolerations Langflow 백엔드 서버의 pod의 toleration를 설정. []
langflow.backend.backendOnly Langflow 백엔드 서버의 backend only 모드 실행 여부를 설정. true
langflow.backend.env Langflow 백엔드 서버의 환경 변수를 설정. 계정 정보 및 서버 설정을 추가할 수 있다. custom-values.yaml 참고
langflow.backend.env.externalDatabase Langflow 백엔드 서버에서 외부 DB 사용 여부 및 연결 정보를 설정 custom-values.yaml 참고
langflow.backend.frontend.enable Langflow 프론트엔드 서버의 사용 여부를 설정 true
langflow.backend.frontend.replicaCount Langflow 프론트엔드 서버의 pod 수를 설정한다. '1'
langflow.backend.frontend.image Langflow 프론트엔드 서버의 이미지 리포지토리와 태그를 설정한다. custom-values.yaml 참고
langflow.backend.frontend.resource langflow 프론트엔드 서버의 리소스를 설정, custom-values.yaml 참고
langflow.backend.frontend.nodeSelector Langflow 프론트엔드 서버의 pod의 nodeSelector를 설정. '{}'
langflow.backend.frontend.tolerations Langflow 프론트엔드 서버의 pod의 toleration를 설정. []

2) Ingress 설정

2.1) tls 시크릿 직접 생성

  • Rancher에서 ingress 사용을 위해서는 다음과 같이 설정할 수 있다.

    ingress:
      enabled: true
      hosts:
        - host: langflow.example.org
          paths:
            - path: /
              pathType: ImplementationSpecific
              servicePort: 7860
      tls: 
      -  hosts:
        - langflow.example.org
        secretName: langflow-tls-secret
    
  • ingress 사용을 위해서는 인증서를 secret으로 제공해야한다. 로컬 파일을 이용해 secret을 생성하는 방법은 다음과 같다.

    kubectl create secret tls langflow-tls-ingress --cert=<path-to-cert-file> --key=<path-to-key-file> -n <namespace>
    

2.2) cert-manager를 이용한 자동 생성

  • cert manager를 통해 인증서 자동 생성 시 custom-values.yaml 수정한다.
    ingress:
      enabled: true
      annotations:
        cert-manager.io/cluster-issuer: "selfsigned-issuer" 
        cert-manager.io/duration: 8760h  
        cert-manager.io/renew-before: 720h
      hosts:
        - host: langflow.example.org
          paths:
            - path: /
              pathType: ImplementationSpecific
              servicePort: 7860
      tls: 
      -  hosts:
        - langflow.example.org
        secretName: langflow-tls-secret
    

3) 내장 DB 배포

  • langflow에서 사용할 외부 DB를 배포하기 위한 설정이다.
  • 해당 postgresql의 사용자, 패스워드 정보를 langflow.backend.externalDatabase에 추가해야 한다.
  • custom-values.yaml에 추가해야할 설정은 다음과 같다.
postgresql:
  enabled: true
  fullnameOverride: "langflow-ide-postgresql-service"
  auth:
    username: "langflow"
    password: "langflow-postgres"
    database: "langflow-db"
  primary:
    persistence:
      size: 5Gi
      storageClass: ""