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