Kubernetes

Kubernetes 上での Roboflow Inference の始め方

更新: Roboflow のエンタープライズ顧客であれば、以下を使用して Kubernetes 環境に Roboflow Inference Service をデプロイできます この Helm チャート.

あるいは、Kubernetes クラスターに Pod と Service をデプロイするための簡単な Kubernetes マニフェストは次のとおりです。

以下の Kubernetes マニフェストは、単一の CPU ベースの roboflow infer Pod を作成し、ClusterIP 型の Service をそれに接続するシンプルな例を示しています。

# 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 を使用して Pod と Service を Kubernetes クラスターのデフォルト名前空間にデプロイします。

kubectl apply -f roboflow.yaml

Service (type: ClusterIP) が作成されます。Kubernetes クラスター内から次の URI で Roboflow inference にアクセスできます: http://rf-service.default.svc:9001

この例を超えて

Kubernetes は Roboflow inference service に対してさまざまな高度な機能や拡張を組み込む力を提供します。例えば、上記の例を拡張して次のような高度なユースケースに対応できます:

  • nodeSelector を使用して Pod を Kubernetes 環境内の GPU マシンノードプールに配置し、 roboflow/inference-server:gpu image

  • Kubernetes Deployment を作成して Roboflow inference service を水平オートスケールさせ、CPU 使用率などの特定のメトリクスに基づくオートスケーリングトリガーを設定すること。

  • nodePort や LoadBalancer などの異なる Service タイプを使用して Roboflow inference service を外部に対して提供すること。

  • Ingress コントローラーを使用して Roboflow inference を TLS (HTTPS) で公開することなど。

  • Roboflow inference service に監視とアラートを追加すること。

  • ライセンスサーバーやオフラインモードとの統合

Last updated

Was this helpful?