Kubernetes
KubernetesでのRoboflow Inferenceの始め方
更新:Roboflowエンタープライズカスタマーの場合、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推論にアクセスできます: http://rf-service.default.svc:9001
この例を超えて
Kubernetesを使うことで、Roboflow推論サービスにさまざまな高度な機能や拡張機能を組み込むことができます。例えば、上記の例を拡張して、より高度なユースケースに対応できます。
nodeSelectorsを使用して、Kubernetes環境内のGPUマシンノードプールにポッドを配置し、
roboflow/inference-server:gpu
画像Kubernetesデプロイメントを作成してRoboflow推論サービスを水平オートスケールし、CPU使用率などの特定のメトリクスに基づいてオートスケーリングトリガーを設定します。
nodePortやLoadBalancerなどの異なるサービス種別を使用して、Roboflow推論サービスを外部に公開する
イングレスコントローラーを使用して、Roboflow推論をTLS(HTTPs)経由で公開するなど
Roboflow推論サービスに監視とアラートを追加する
ライセンスサーバーやオフラインモードの統合
Last updated
Was this helpful?