ビュー:

Kubernetesクラスター外で実行しているクライアントにAI GuardとLiteLLMを公開するには、イングレスコントローラーをデプロイし、各サービスのイングレスリソースを作成します。

デフォルトでは、AI Guardにはクラスター内からのみアクセスできます。クラスター外で動作するLiteLLMプロキシのような外部アプリケーションからAI Guardを呼び出すには、イングレスコントローラーを通じて公開する必要があります。以下の手順では、NGINX Ingress Controllerを例として使用していますが、TCPトラフィックをポート8080にプロキシできる任意のイングレスコントローラーが機能します。
以下の手順を完了した後、生成された外部ホスト名を統合のエンドポイントURLとして使用してください。LiteLLMの設定については、LiteLLM integrationを参照してください。
前提条件:

手順

  1. NGINX Ingressコントローラーをインストールします。
    helm upgrade --install ingress-nginx ingress-nginx \
      --repo https://kubernetes.github.io/ingress-nginx \
      --namespace ingress-nginx --create-namespace
  2. Ingressコントローラーに割り当てられた外部ホスト名を取得します。
    kubectl get svc ingress-nginx-controller -n ingress-nginx \
      -o jsonpath='{.status.loadBalancer.ingress[0].hostname}'
    コマンドがホスト名を返すまで待機してください。この値は、次のステップで作成するすべてのIngressリソースの基本URLになります。
  3. 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: 8080
    kubectl apply -f ai-guard-ingress.yaml
  4. 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: 4000
    kubectl apply -f litellm-ingress.yaml
  5. AI Guardがイングレスを通じて到達可能であることを確認してください。
    上記で取得したホスト名に<external-hostname>を置き換えてください。
    curl http://<external-hostname>/applyGuardrails
    AI Guardからの対応により、イングレスが正しくトラフィックをルーティングしていることが確認されました。外部イングレスURLを必要とする統合では、エンドポイントURLとしてhttp://<external-hostname>を使用してください。