중요
Hybrid 배포 옵션은 Enterprise 플랜이 필요합니다.
사전 요구사항
- LangGraph CLI를 사용하여 애플리케이션을 로컬에서 테스트합니다.
- LangGraph CLI를 사용하여 Docker 이미지를 빌드하고(예:
langgraph build) Kubernetes 클러스터 또는 Amazon ECS 클러스터가 액세스할 수 있는 레지스트리에 푸시합니다.
Kubernetes
사전 요구사항
- 클러스터에
KEDA가 설치되어 있어야 합니다. - 클러스터에 유효한
Ingress컨트롤러가 설치되어 있어야 합니다. 배포를 위한 ingress 구성에 대한 자세한 내용은 설치를 위한 ingress 생성을 참조하세요. - 여러 배포를 위한 클러스터 여유 공간이 필요합니다. 새 노드를 자동으로 프로비저닝하기 위해
Cluster-Autoscaler를 권장합니다. - 두 개의 control plane URL에 대한 egress를 활성화해야 합니다. listener는 배포를 위해 이러한 엔드포인트를 폴링합니다:
설정
- LangSmith 조직 ID를 제공해 주세요. LangSmith 조직이 클라우드에 data plane을 배포하도록 구성됩니다.
- LangSmith UI에서 listener를 생성합니다.
Listener데이터 모델은 실제 “listener” 애플리케이션에 대해 구성됩니다.- 왼쪽 탐색 메뉴에서
Deployments>Listeners를 선택합니다. - 페이지 오른쪽 상단에서
+ Create Listener를 선택합니다. - listener에 대한 고유한
Compute ID를 입력합니다.Compute ID는 현재 LangSmith 워크스페이스의 모든 listener에서 고유해야 하는 사용자 정의 식별자입니다.Compute ID는 최종 사용자가 새 배포를 생성할 때 표시됩니다.Compute ID가 최종 사용자에게 LangGraph Server 배포가 어디에 배포될지에 대한 컨텍스트를 제공하는지 확인하세요. 예를 들어,Compute ID는k8s-cluster-name-dev-01로 설정할 수 있습니다. 이 예에서 Kubernetes 클러스터의 이름은k8s-cluster-name이고,dev는 클러스터가 “개발” 워크로드용으로 예약되어 있음을 나타내며,01은 이름 충돌을 줄이기 위한 숫자 접미사입니다. - 하나 이상의 Kubernetes namespace를 입력합니다. 나중에 “listener” 애플리케이션이 이러한 각 namespace에 배포하도록 구성됩니다.
- 페이지 오른쪽 상단에서
Submit을 선택합니다. - listener가 생성된 후 listener ID를 복사합니다. Kubernetes 클러스터에 실제 “listener” 애플리케이션을 설치할 때 나중에 사용합니다(5단계).
중요 LangSmith UI에서 listener를 생성해도 Kubernetes 클러스터에 “listener” 애플리케이션이 설치되지 않습니다. - 왼쪽 탐색 메뉴에서
- Kubernetes 클러스터에 필요한 구성 요소를 설치하기 위한 Helm chart가 제공됩니다.
langgraph-listener: LangChain의 control plane에서 배포 변경 사항을 수신하고 다운스트림 CRD를 생성/업데이트하는 서비스입니다. 이것이 “listener” 애플리케이션입니다.LangGraphPlatform CRD: LangSmith Deployment를 위한 CRD입니다. LangSmith Deployment 인스턴스를 관리하기 위한 사양이 포함되어 있습니다.langgraph-platform-operator: LangSmith CRD의 변경 사항을 처리하는 operator입니다.
langgraph-dataplane-values.yaml파일을 구성합니다.config.langsmithApiKey:langgraph-listener배포는langsmithApiKey를 사용하여 LangChain의 LangGraph control plane API로 인증합니다.config.langsmithWorkspaceId:langgraph-listener배포는 LangSmith 워크스페이스의 LangGraph Server 배포와 연결됩니다. 즉,langgraph-listener배포는 지정된 LangSmith 워크스페이스 ID의 LangGraph Server 배포만 관리할 수 있습니다.config.langgraphListenerId: LangSmith 워크스페이스와 연결되는 것 외에도langgraph-listener배포는 listener와도 연결됩니다. 새 LangGraph Server 배포가 생성되면 자동으로langgraphListenerId와 연결됩니다.langgraphListenerId를 지정하면langgraph-listener배포가langgraphListenerId와 연결된 LangGraph Server 배포만 관리할 수 있습니다.config.watchNamespaces:langgraph-listener배포가 배포할 Kubernetes namespace의 쉼표로 구분된 목록입니다. 이 목록은 2d 단계에서 지정한 namespace 목록과 일치해야 합니다.config.enableLGPDeploymentHealthCheck: LangGraph Server 상태 확인을 비활성화하려면 이 값을false로 설정합니다.ingress.hostname: 배포 워크플로의 일부로langgraph-listener배포는 LangGraph Server 상태 확인 엔드포인트(GET /ok)를 호출하여 애플리케이션이 올바르게 시작되었는지 확인합니다. 일반적인 설정에는 LangGraph Server 배포를 위한 공유 DNS 레코드 또는 도메인을 생성하는 것이 포함됩니다. 이는 LangSmith에서 관리하지 않습니다. 생성된 후ingress.hostname을 도메인으로 설정하면 상태 확인을 완료하는 데 사용됩니다.operator.enabled: Kubernetes namespace에는langgraph-platform-operator의 인스턴스가 하나만 배포될 수 있습니다. 현재 Kubernetes namespace에 이미langgraph-platform-operator인스턴스가 배포되어 있는 경우 이 값을false로 설정합니다.operator.createCRDs: Kubernetes 클러스터에 이미LangGraphPlatform CRD가 설치되어 있는 경우 이 값을false로 설정합니다. 설치 중에 CRD가 이미 설치되어 있으면 오류가 발생합니다. 이 상황은 동일한 Kubernetes 클러스터에 여러 listener가 배포된 경우 발생할 수 있습니다.
langgraph-dataplaneHelm chart를 배포합니다.- 성공하면 namespace에서 세 개의 서비스가 시작되는 것을 볼 수 있습니다.
- control plane UI에서 배포를 생성합니다.
- 드롭다운 메뉴의
Compute IDs목록에서 원하는 listener를 선택합니다. - 배포할 Kubernetes namespace를 선택합니다.
- 다른 모든 필수 필드를 입력하고 패널 오른쪽 상단에서
Submit을 선택합니다. - 배포는 listener가 배포된 Kubernetes 클러스터와 7b 단계에서 지정한 Kubernetes namespace에 배포됩니다.
- 드롭다운 메뉴의
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.