쿠버네티스

쿠버네티스에서 Roboflow 추론 시작하기

업데이트: Roboflow Enterprise 고객이라면 Helm 차트를 사용하여 Kubernetes 환경에 Roboflow Inference Service를 배포할 수 있습니다. 이 Helm 차트.

또는, 아래는 Kubernetes 클러스터에 파드와 서비스를 배포하기 위한 간단한 Kubernetes 매니페스트입니다.

아래 Kubernetes 매니페스트는 단일 CPU 기반 roboflow infer 파드를 생성하고 클러스터-IP 서비스를 연결하는 간단한 예시를 보여줍니다.

# 파드
---
apiVersion: v1
kind: Pod
metadata:
  name: roboflow
  labels:
    app.kubernetes.io/name: roboflow
spec:
  containers:
  - name: roboflow
    image: roboflow/roboflow-inference-server-cpu
    ports:
    - containerPort: 9001
      name: rf-pod-port


# 서비스
---
apiVersion: v1
kind: Service
metadata:
  name: rf-service
spec:
  type: ClusterIP
  selector:
    app.kubernetes.io/name: roboflow
  ports:
  - name: rf-svc-port
    protocol: TCP
    port: 9001
    targetPort: rf-pod-port

(위 예시는 Kubernetes 클러스터가 Docker hub에서 이미지를 다운로드할 수 있다고 가정합니다)

위의 yaml 블럭을 다음과 같이 저장하세요 roboflow.yaml 그리고 다음을 사용하세요 kubectl cli를 사용하여 파드와 서비스를 Kubernetes 클러스터의 기본 네임스페이스에 배포하세요.

kubectl apply -f roboflow.yaml

서비스(ClusterIP 타입)가 생성됩니다. Kubernetes 클러스터 내에서 다음 URI를 통해 Roboflow inference에 접근할 수 있습니다: http://rf-service.default.svc:9001

이 예시를 넘어서

Kubernetes를 사용하면 Roboflow inference service에 여러 고급 기능과 확장 기능을 통합할 수 있습니다. 예를 들어, 위 예시를 다음과 같은 고급 사용 사례로 확장할 수 있습니다.

  • nodeSelectors를 사용하여 Kubernetes 환경 내 GPU 머신 노드 풀에 파드를 호스팅하고, roboflow/inference-server:gpu 이미지

  • Kubernetes deployments를 생성하여 Roboflow inference service를 수평적으로 오토스케일링하고, CPU 사용량과 같은 특정 메트릭을 기반으로 오토스케일링 트리거를 설정할 수 있습니다.

  • nodePort 및 LoadBalancer와 같은 다양한 서비스 타입을 사용하여 Roboflow inference service를 외부에 제공할 수 있습니다.

  • ingress 컨트롤러를 사용하여 Roboflow inference를 TLS(HTTPs)로 노출할 수 있습니다.

  • Roboflow inference service에 모니터링 및 알림을 추가하세요.

  • 라이선스 서버 및 오프라인 모드 통합

Last updated

Was this helpful?