Kubernetes
Kubernetes で Roboflow Inference を始める
更新: Roboflow Enterprise のお客様であれば、次を使用して 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 クラスターのデフォルト namespace にデプロイします。
(ClusterIP 型の)Service が作成されます。Kubernetes クラスター内からは次の URI で Roboflow inference にアクセスできます: http://rf-service.default.svc:9001
この例を超えて
Kubernetes を使うと、Roboflow inference サービスにいくつかの高度な機能や拡張を組み込めます。たとえば、上記の例を次のようなより高度なユースケース向けに拡張できます。
nodeSelector を使って、Kubernetes 環境内の GPU マシンのノードプール上に Pod を配置し、
roboflow/inference-server:gpuimageKubernetes のデプロイメントを作成して Roboflow inference サービスを水平オートスケールし、CPU 使用率などの特定のメトリクスに基づく自動スケーリングのトリガーを設定すること。
nodePort や LoadBalancer などの異なる Service タイプを使用して、Roboflow inference サービスを外部に公開すること
Ingress コントローラーを使用して、TLS(HTTPS)などで Roboflow inference を公開すること。
Roboflow inference サービスに監視とアラートを追加する
ライセンスサーバーとオフラインモードを統合する
最終更新
役に立ちましたか?