Einführung
In Teil 1 haben wir erläutert, was ein Agent-Gateway ist und warum agentische Systeme eines benötigen. In diesem Tutorial lernen Sie, wie Sie eines in Betrieb nehmen. Sie werden agentgateway – die von der Agentic AI Foundation der Linux Foundation gehostete Open-Source-Datenebene (Apache-2.0) – auf einem Kubernetes-Cluster installieren, ein Gateway erstellen und Ihre erste Anfrage darüber senden.
Hier läuft alles auf Open-Source-Komponenten, sodass Sie die Schritte auf einem kostenlosen lokalen Cluster nachverfolgen können.
In diesem Tutorial verwendete Versionen: Gateway-API v1.5.0, agentgateway v1.2.1.
Schritt 1 – Erstellen Sie einen lokalen Cluster (optional)
Wenn Sie bereits über einen Cluster verfügen, überspringen Sie diesen Schritt. Für einen temporären lokalen Cluster ist „kind“ die schnellste Option:
kind create cluster --name agw-lab
Überprüfen Sie, ob der Knoten bereit ist:
kubectl get nodes
NAME STATUS ROLLEN ALTER VERSION
agw-lab-control-plane Bereit Steuerungsebene 60s v1.36.1
Schritt 2 – Installieren Sie die Gateway-API-CRDs
agentgateway wird über die K ubernetes-Gateway-API konfiguriert, daher werden zunächst die zugehörigen benutzerdefinierten Ressourcen hinzugefügt:
kubectl apply --server-side --force-conflicts \
-f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.5.0/standard-install.yaml
Schritt 3 – Installieren Sie die AgentGateway-CRDs
agentgateway wird als zwei Helm bereitgestellt: die CRDs und die Control Plane. Installieren Sie zunächst die CRDs:
helm -i agentgateway-crds oci://cr.agentgateway.dev/charts/agentgateway-crds \
--create-namespace --namespace agentgateway-system \
--version v1.2.1 \
--set controller.image.pullPolicy=Always
Schritt 4 – Installieren Sie die AgentGateway-Steuerungsebene
helm -i agentgateway oci://cr.agentgateway.dev/charts/agentgateway \
--namespace agentgateway-system \
--version v1.2.1 \
--set controller.image.pullPolicy=Always \
--set controller.extraEnv.KGW_ENABLE_GATEWAY_API_EXPERIMENTAL_FEATURES=true \
--wait
Die Steuerungsebene überwacht die Ressourcen „Gateway API“ und „agentgateway“ und wandelt sie in laufende Proxys um.
Schritt 5 – Überprüfen Sie die Installation
Überprüfen Sie den Control-Plane-Pod:
kubectl get pods -n agentgateway-system
NAME BEREIT STATUS NEUSTARTE LAUFZEIT
agentgateway-68c7bd47d-kh528 1/1 Läuft 0 20s
Überprüfen Sie, ob die GatewayClass registriert und akzeptiert wurde:
kubectl get gatewayclass agentgateway
NAME CONTROLLER AKZEPTIERT ALTER
agentgateway agentgateway.dev/agentgateway True 30s
AKZEPTIERT: True bedeutet, dass die Steuerungsebene bereit ist, Gateways dieser Klasse zu verwalten.
Schritt 6 – Ein Gateway erstellen
Die Steuerungsebene ist in Betrieb, es ist jedoch noch kein Proxy vorhanden. Erstellen Sie einen Gateway und die Steuerungsebene wird eine für Sie bereitstellen:
apiVersion: gateway.networking.k8s.io/v1
Art: Gateway
Metadaten:
Name: agentgateway-proxy
Namensraum: agentgateway-system
Spezifikation:
gatewayClassName: AgentGateway
Listeners:
- name: http
protokoll: HTTP
Port: 80
zulässigeRouten:
Namensräume:
from: Alle
Wenden Sie es an (speichern Sie die Datei unter gateway.yaml oder leiten Sie es mit kubectl apply -f -), dann überprüfen Sie dessen Status:
kubectl get gateway agentgateway-proxy -n agentgateway-system
NAME KLASSE ADRESSE PROGRAMMIERT ALTER
agentgateway-proxy agentgateway Ja 10s
PROGRAMMIERT: True bedeutet, dass der Proxy bereitgestellt wurde und für Routen bereit ist.
Schritt 7 – Eine Anfrage an ein Backend weiterleiten
Ein Beispiel-HTTP-Backend (httpbin) bereitstellen:
kubectl apply -f https://raw.githubusercontent.com/kgateway-dev/kgateway/refs/heads/main/examples/httpbin.yaml
Fügen Sie ein HTTPRoute das den Datenverkehr an www.example.com dazu:
apiVersion: gateway.networking.k8s.io/v1
Art: HTTPRoute
Metadaten:
name: httpbin
Namensraum: httpbin
spec:
parentRefs:
- name: agentgateway-proxy
Namespace: agentgateway-system
Hostnamen:
- „www.example.com“
Regeln:
- backendRefs:
- name: httpbin
port: 8000
Schritt 8 – Senden Sie eine Anfrage über das Gateway
Leiten Sie die Ports des Proxys in einem Terminal weiter:
kubectl port-forward deployment/agentgateway-proxy -n agentgateway-system 8080:80
Rufen Sie in einem anderen Terminal den Befehl „route“ auf:
curl -i localhost:8080/headers -H "host: www.example.com"
HTTP/1.1 200 OK
content-type: application/json; encoding=utf-8
content-length: 148
{
"headers": {
"Host": [ "www.example.com" ],
"User-Agent": [ "curl/8.7.1" ]
}
}
A 200 Die Rückmeldung der Header bestätigt, dass die Anfrage über das Agent-Gateway an das Backend weitergeleitet wurde. Sie verfügen nun über ein funktionsfähiges Agent-Gateway.
Aufräumen
Entfernen Sie die Demo-Route, wenn Sie fertig sind, damit sie nicht mit späteren Tutorials kollidiert:
kubectl delete httproute httpbin -n httpbin
So wird der gesamte lokale Cluster abgebaut:
kind delete cluster --name agw-lab
Wie geht es weiter?
Sie verfügen über ein Gateway, das einfaches HTTP weiterleitet. Im nächsten Tutorial wird dieses Gateway für den Agent-Datenverkehr eingesetzt: Dabei wird ein MCP-Tool (Model Context Protocol) über das Gateway bereitgestellt, einschließlich Erkennung und Prüfprotokoll.
Als Nächstes in dieser Reihe: Ihr erstes MCP-Gateway.
Zusammenfassung
- agentgateway wird als zwei Helm (CRDs + Control Plane) auf Basis der Kubernetes-Gateway-API installiert.
- Die Steuerungsebene registriert eine
AgentGatewayGatewayClass und wandelt jeweilsGatewaySie erstellen daraus einen laufenden Proxy. - Ein
HTTPRouteverbindet ein Backend mit dem Gateway, und eine Anfrage über den Proxy liefert folgendes Ergebnis:200. - Alle Komponenten hier sind Open Source, daher läuft die Installation auf einem kostenlosen lokalen Kind-Cluster.
