Kubernetesクラスター外で実行しているクライアントにAI GuardとLiteLLMを公開するには、イングレスコントローラーをデプロイし、各サービスのイングレスリソースを作成します。
デフォルトでは、AI Guardにはクラスター内からのみアクセスできます。クラスター外で動作するLiteLLMプロキシのような外部アプリケーションからAI Guardを呼び出すには、イングレスコントローラーを通じて公開する必要があります。以下の手順では、NGINX Ingress Controllerを例として使用していますが、TCPトラフィックをポート8080にプロキシできる任意のイングレスコントローラーが機能します。
以下の手順を完了した後、生成された外部ホスト名を統合のエンドポイントURLとして使用してください。LiteLLMの設定については、LiteLLM integrationを参照してください。
前提条件:
-
AI Guardが
trend-ai-security名前空間に展開されましたKubernetesクラスターにデプロイするを参照してください。 -
Helm 3.0+インストール済み
-
kubectlがターゲットクラスターへのアクセス権を持つように設定されています
手順
- NGINX Ingressコントローラーをインストールします。
helm upgrade --install ingress-nginx ingress-nginx \ --repo https://kubernetes.github.io/ingress-nginx \ --namespace ingress-nginx --create-namespace
- Ingressコントローラーに割り当てられた外部ホスト名を取得します。
kubectl get svc ingress-nginx-controller -n ingress-nginx \ -o jsonpath='{.status.loadBalancer.ingress[0].hostname}'コマンドがホスト名を返すまで待機してください。この値は、次のステップで作成するすべてのIngressリソースの基本URLになります。 - AI GuardのためのIngressリソースを作成して適用します。次を
ai-guard-ingress.yamlとして保存し、適用してください。apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: ai-guard-ingress namespace: trend-ai-security annotations: nginx.ingress.kubernetes.io/rewrite-target: / spec: ingressClassName: nginx rules: - http: paths: - path: /applyGuardrails pathType: Prefix backend: service: name: ai-guard port: number: 8080kubectl apply -f ai-guard-ingress.yaml
- LiteLLMを同じクラスターにデプロイし、外部アクセスが必要な場合は、LiteLLM用のイングレスリソースを作成して適用してください。次の内容を
litellm-ingress.yamlとして保存し、適用してください。<litellm-namespace>をLiteLLMがデプロイされている名前空間に置き換えてください。apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: litellm-ingress namespace: <litellm-namespace> annotations: nginx.ingress.kubernetes.io/rewrite-target: / spec: ingressClassName: nginx rules: - http: paths: - path: / pathType: Prefix backend: service: name: litellm port: number: 4000kubectl apply -f litellm-ingress.yaml
- AI Guardがイングレスを通じて到達可能であることを確認してください。上記で取得したホスト名に<external-hostname>を置き換えてください。
curl http://<external-hostname>/applyGuardrails
AI Guardからの対応により、イングレスが正しくトラフィックをルーティングしていることが確認されました。外部イングレスURLを必要とする統合では、エンドポイントURLとしてhttp://<external-hostname>を使用してください。
