Docker-Images bauen und veroeffentlichen / build-and-push (push) Successful in 1m52s
Nur Label-Abgleich ueber alle Namespaces liess jeden Pod mit Label app.kubernetes.io/name=traefik zu. Jetzt muss zusaetzlich der Namespace traefik oder kube-system sein (Namespace-Namen sind nicht faelschbar). Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
48 lines
1.4 KiB
YAML
48 lines
1.4 KiB
YAML
# Datenbank nur fuer App und Worker erreichbar; App nur ueber Traefik.
|
|
# Traefik wird an Namespace (traefik oder kube-system) UND Pod-Label erkannt
|
|
# (eigene Installation "traefik" oder RKE2-Paket "rke2-traefik"). Laeuft
|
|
# Traefik in einem anderen Namespace: dessen Namen unten ergaenzen.
|
|
# Pruefen: kubectl get pods -A -l 'app.kubernetes.io/name in (traefik,rke2-traefik)'
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: NetworkPolicy
|
|
metadata:
|
|
name: artista-modelcamp-postgres
|
|
namespace: artista
|
|
spec:
|
|
podSelector:
|
|
matchLabels:
|
|
app: artista-modelcamp-postgres
|
|
ingress:
|
|
- from:
|
|
- podSelector:
|
|
matchLabels:
|
|
db-client: "true"
|
|
ports:
|
|
- port: 5432
|
|
---
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: NetworkPolicy
|
|
metadata:
|
|
name: artista-modelcamp-app
|
|
namespace: artista
|
|
spec:
|
|
podSelector:
|
|
matchLabels:
|
|
app: artista-modelcamp-app
|
|
ingress:
|
|
- from:
|
|
# Namespace UND Pod-Label muessen passen: ein Label allein koennte
|
|
# jeder setzen, der irgendwo Pods starten darf.
|
|
- namespaceSelector:
|
|
matchExpressions:
|
|
- key: kubernetes.io/metadata.name
|
|
operator: In
|
|
values: [traefik, kube-system]
|
|
podSelector:
|
|
matchExpressions:
|
|
- key: app.kubernetes.io/name
|
|
operator: In
|
|
values: [traefik, rke2-traefik]
|
|
ports:
|
|
- port: 3000
|