Kubernetes
Kubernetes 上での Roboflow Inference の開始方法
更新情報:Roboflow Enterprise Customer の場合、Roboflow Inference Service を Kubernetes 環境にデプロイするには、 この Helm チャート.
または、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 を使って、Kubernetes クラスターのデフォルト namespace にポッドとサービスをデプロイします。
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
imageKubernetes Deployments を作成して Roboflow inference service を水平オートスケールし、CPU 使用率などの特定のメトリクスに基づいてオートスケーリングトリガーを設定することができます。
nodePort や LoadBalancer などの異なるサービス種別を使って Roboflow inference service を外部に公開する
ingress controller を使って Roboflow inference を TLS(HTTPs)経由で公開するなど
Roboflow inference service にモニタリングやアラート機能を追加する
ライセンスサーバーやオフラインモードとの統合
Last updated
Was this helpful?