Brücke nex: EndpointSlice statt Endpoints, DNS-Prüfung mit getent
ci / test (push) Failing after 21s

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Robert Rapp
2026-10-19 13:45:57 +02:00
co-authored by Claude Fable 5.1
parent 31f6435c2f
commit 39cd150230
2 changed files with 34 additions and 26 deletions
+33 -25
View File
@@ -1,7 +1,7 @@
# Brücke zu den NEX-Diensten auf appsrv08 (nex-Spec 2026-10-19 Cluster-Agenten, D259). # Brücke zu den NEX-Diensten auf appsrv08 (nex-Spec 2026-10-19 Cluster-Agenten, D259).
# Die Agenten-Pods im Namespace nex sprechen dieselben Namen wie die Container im Docker-Netz llm-internal auf # Die Agenten-Pods im Namespace nex sprechen dieselben Namen wie die Container im Docker-Netz llm-internal auf
# appsrv08 (nex-router, nex-know, nex-access, grp-mcp-intern); hier zeigen Services ohne Selector mit festen # appsrv08 (nex-router, nex-know, nex-access, grp-mcp-intern); hier zeigen Services ohne Selector mit festen
# Endpoints auf die Host-Ports von appsrv08 (nur auf 192.168.100.29 veröffentlicht, Stacks nex und grp-mcp-intern). # EndpointSlices (v1 Endpoints ist seit 1.33 veraltet) auf die Host-Ports von appsrv08 (nur auf 192.168.100.29 veröffentlicht, Stacks nex und grp-mcp-intern).
# Zieht ein Dienst in den Cluster (Weg 3), ersetzt sein echter Service den Eintrag – der Name bleibt. # Zieht ein Dienst in den Cluster (Weg 3), ersetzt sein echter Service den Eintrag – der Name bleibt.
# LiteLLM bleibt ohne Brücke: Agenten sprechen nur den Router, der Router LiteLLM (nex AGENTS.md: kein Pfad an # LiteLLM bleibt ohne Brücke: Agenten sprechen nur den Router, der Router LiteLLM (nex AGENTS.md: kein Pfad an
# LiteLLM vorbei, und kein zusätzlicher Host-Port dafür). # LiteLLM vorbei, und kein zusätzlicher Host-Port dafür).
@@ -15,15 +15,17 @@ spec:
ports: ports:
- {name: http, port: 4100, targetPort: 4100} - {name: http, port: 4100, targetPort: 4100}
--- ---
apiVersion: v1 apiVersion: discovery.k8s.io/v1
kind: Endpoints kind: EndpointSlice
metadata: metadata:
name: nex-router name: nex-router
namespace: nex namespace: nex
labels: {knaster.app: nex-bridge} labels: {knaster.app: nex-bridge, kubernetes.io/service-name: nex-router}
subsets: addressType: IPv4
- addresses: [{ip: 192.168.100.29}] ports:
ports: [{name: http, port: 4100}] - {name: http, port: 4100, protocol: TCP}
endpoints:
- addresses: ["192.168.100.29"]
--- ---
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
@@ -35,15 +37,17 @@ spec:
ports: ports:
- {name: http, port: 4200, targetPort: 4200} - {name: http, port: 4200, targetPort: 4200}
--- ---
apiVersion: v1 apiVersion: discovery.k8s.io/v1
kind: Endpoints kind: EndpointSlice
metadata: metadata:
name: nex-know name: nex-know
namespace: nex namespace: nex
labels: {knaster.app: nex-bridge} labels: {knaster.app: nex-bridge, kubernetes.io/service-name: nex-know}
subsets: addressType: IPv4
- addresses: [{ip: 192.168.100.29}] ports:
ports: [{name: http, port: 4200}] - {name: http, port: 4200, protocol: TCP}
endpoints:
- addresses: ["192.168.100.29"]
--- ---
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
@@ -55,15 +59,17 @@ spec:
ports: ports:
- {name: http, port: 4300, targetPort: 4300} - {name: http, port: 4300, targetPort: 4300}
--- ---
apiVersion: v1 apiVersion: discovery.k8s.io/v1
kind: Endpoints kind: EndpointSlice
metadata: metadata:
name: nex-access name: nex-access
namespace: nex namespace: nex
labels: {knaster.app: nex-bridge} labels: {knaster.app: nex-bridge, kubernetes.io/service-name: nex-access}
subsets: addressType: IPv4
- addresses: [{ip: 192.168.100.29}] ports:
ports: [{name: http, port: 4300}] - {name: http, port: 4300, protocol: TCP}
endpoints:
- addresses: ["192.168.100.29"]
--- ---
# GRP-MCP (Rolle projektleitung): Stack grp-mcp-intern auf appsrv08, Dienst gateway, Container-Port 8790 # GRP-MCP (Rolle projektleitung): Stack grp-mcp-intern auf appsrv08, Dienst gateway, Container-Port 8790
apiVersion: v1 apiVersion: v1
@@ -76,12 +82,14 @@ spec:
ports: ports:
- {name: http, port: 8790, targetPort: 8790} - {name: http, port: 8790, targetPort: 8790}
--- ---
apiVersion: v1 apiVersion: discovery.k8s.io/v1
kind: Endpoints kind: EndpointSlice
metadata: metadata:
name: grp-mcp-intern name: grp-mcp-intern
namespace: nex namespace: nex
labels: {knaster.app: nex-bridge} labels: {knaster.app: nex-bridge, kubernetes.io/service-name: grp-mcp-intern}
subsets: addressType: IPv4
- addresses: [{ip: 192.168.100.29}] ports:
ports: [{name: http, port: 8790}] - {name: http, port: 8790, protocol: TCP}
endpoints:
- addresses: ["192.168.100.29"]
@@ -72,7 +72,7 @@
- name: Brücke prüfen (Pod im Namespace nex löst die Namen auf) - name: Brücke prüfen (Pod im Namespace nex löst die Namen auf)
ansible.builtin.shell: > ansible.builtin.shell: >
kubectl -n nex run bridge-check --rm -i --restart=Never --image=alpine:3.20 -- kubectl -n nex run bridge-check --rm -i --restart=Never --image=alpine:3.20 --
sh -c 'for h in nex-router nex-know nex-access grp-mcp-intern; do nslookup $h >/dev/null 2>&1 && echo "$h dns ok" || echo "$h dns FEHLT"; done' sh -c 'for h in nex-router nex-know nex-access grp-mcp-intern; do getent hosts $h >/dev/null && echo "$h dns ok" || echo "$h dns FEHLT"; done' 2>/dev/null
register: check register: check
changed_when: false changed_when: false