檢視次數:

透過部署入口控制器並為每個服務創建入口資源,將 AI Guard 和 LiteLLM 暴露給在您的 Kubernetes 叢集外運行的客戶端。

預設情況下,您只能在叢集內部訪問AI Guard。若要從外部應用程式(例如在叢集外運行的LiteLLM Proxy)調用AI Guard,您必須通過入口控制器將其公開。以下步驟以NGINX Ingress Controller為例,但任何能將TCP流量代理到8080端口的入口控制器都可以使用。
完成以下程序後,請將生成的外部主機名稱用作您整合中的端點 URL。有關 LiteLLM 配置,請參閱LiteLLM 整合
先決條件:

步驟

  1. 安裝 NGINX Ingress 控制器。
    helm upgrade --install ingress-nginx ingress-nginx \
      --repo https://kubernetes.github.io/ingress-nginx \
      --namespace ingress-nginx --create-namespace
  2. 檢索分配給入口控制器的外部主機名稱。
    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 創建並應用一個 ingress 資源。
    將以下內容儲存為 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 的整合中使用 http://<external-hostname> 作為端點 URL。