Kubernetes
Kubernetes에서 Roboflow Inference를 시작하는 방법
업데이트: Roboflow Enterprise 고객인 경우 다음을 사용하여 Kubernetes 환경에 Roboflow Inference Service를 배포할 수 있습니다 this Helm chart.
또는 다음은 포드와 서비스를 Kubernetes 클러스터에 배포하기 위한 간단한 Kubernetes 매니페스트입니다.
아래 Kubernetes 매니페스트는 단일 CPU 기반 roboflow infer 포드를 생성하고 여기에 cluster-IP 서비스를 연결하는 간단한 예시를 보여줍니다.
# Pod
---
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
# Service
---
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를 사용하세요.
kubectl apply -f roboflow.yaml
서비스(type: ClusterIP)가 생성됩니다; Kubernetes 클러스터 내부에서 다음 URI로 Roboflow inference에 접근할 수 있습니다: http://rf-service.default.svc:9001
이 예시를 넘어서
Kubernetes는 Roboflow inference 서비스에 여러 고급 기능과 확장을 통합할 수 있는 기능을 제공합니다. 예를 들어 위 예시를 확장하여 다음과 같은 더 고급 사용 사례에 적용할 수 있습니다:
nodeSelector를 사용하여 포드를 Kubernetes 환경 내의 GPU 머신 노드 풀에 호스팅하고
roboflow/inference-server:gpu매개변수에 대해 입력 이미지를 선택하세요. 예측에는 모델 결과를 선택하세요. 선택적 구성 속성을 사용하여 경계 상자의 색상과 크기를 변경할 수 있습니다.Roboflow inference 서비스를 수평으로 자동 확장하는 Kubernetes Deployment를 생성하고 CPU 사용량과 같은 특정 메트릭을 기반으로 자동 확장 트리거를 설정합니다.
nodePort나 LoadBalancer와 같은 다른 서비스 유형을 사용해 Roboflow inference 서비스를 외부에 제공하기
Ingress 컨트롤러를 사용해 TLS(HTTPS) 등으로 Roboflow inference를 노출하기
Roboflow inference 서비스에 모니터링 및 경보 추가하기
라이선스 서버 및 오프라인 모드 통합하기
Last updated
Was this helpful?