Expose KI Guard und LiteLLM für Clients, die außerhalb Ihres Kubernetes-Clusters laufen, indem Sie einen Ingress-Controller bereitstellen und Ingress-Ressourcen für jeden Dienst erstellen.
Standardmäßig können Sie den KI Guard nur innerhalb des Clusters erreichen. Um den
KI Guard von einer externen Anwendung aus aufzurufen, wie z.B. einem LiteLLM-Proxy,
der außerhalb des Clusters läuft, müssen Sie ihn über einen Ingress-Controller freigeben.
Die folgenden Schritte verwenden den NGINX Ingress Controller als Beispiel, aber jeder Ingress-Controller, der TCP-Verkehr auf Port 8080 weiterleiten
kann, funktioniert.
Nachdem Sie das untenstehende Verfahren abgeschlossen haben, verwenden Sie den resultierenden
externen Hostnamen als Endpunkt-URL in Ihrer Integration. Für die LiteLLM-Konfiguration
siehe LiteLLM-Integration.
Voraussetzungen:
Prozedur
- Installieren Sie den NGINX Ingress Controller.
helm upgrade --install ingress-nginx ingress-nginx \ --repo https://kubernetes.github.io/ingress-nginx \ --namespace ingress-nginx --create-namespace
- Rufen Sie den externen Hostnamen ab, der dem Ingress-Controller zugewiesen ist.
kubectl get svc ingress-nginx-controller -n ingress-nginx \ -o jsonpath='{.status.loadBalancer.ingress[0].hostname}'Warten Sie, bis der Befehl einen Hostnamen zurückgibt, bevor Sie fortfahren. Der Wert wird zur Basis-URL für alle Ingress-Ressourcen, die Sie in den folgenden Schritten erstellen. - Erstellen und Anwenden einer Ingress-Ressource für KI Guard.Speichern Sie das Folgende als
ai-guard-ingress.yamlund wenden Sie es dann an.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
- Wenn Sie LiteLLM im selben Cluster bereitstellen und es externen Zugriff benötigt,
erstellen und wenden Sie eine Ingress-Ressource für LiteLLM an.Speichern Sie das Folgende als
litellm-ingress.yamlund wenden Sie es dann an. Ersetzen Sie <litellm-namespace> durch den Namespace, in dem LiteLLM bereitgestellt ist.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
- Überprüfen Sie, ob der KI-Schutz über den Ingress erreichbar ist.Ersetzen Sie <external-hostname> durch den oben abgerufenen Hostnamen.
curl http://<external-hostname>/applyGuardrails
Eine Antwort von KI Guard bestätigt, dass der Ingress den Datenverkehr korrekt leitet. Verwenden Siehttp://<external-hostname>als Endpunkt-URL in jeder Integration, die eine externe Ingress-URL erfordert.
