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:gpuimageKubernetes Deployment を作成して Roboflow inference service を水平オートスケールさせ、CPU 使用率などの特定のメトリクスに基づくオートスケーリングトリガーを設定すること。
nodePort や LoadBalancer などの異なる Service タイプを使用して Roboflow inference service を外部に対して提供すること。
Ingress コントローラーを使用して Roboflow inference を TLS (HTTPS) で公開することなど。
Roboflow inference service に監視とアラートを追加すること。
ライセンスサーバーやオフラインモードとの統合
Last updated
Was this helpful?