Netzwerk
Netzwerkarchitektur und Traffic-Flow von Janus.
Netzwerkübersicht
Section titled “Netzwerkübersicht”graph TB
subgraph Internet ["Internet"]
Client["Client"]
DNS["DNS Resolver"]
end
subgraph Firewall ["UFW Firewall"]
Port80[":80 HTTP"]
Port443[":443 HTTPS"]
Port22[":22 SSH (rate-limited)"]
end
subgraph K3s ["K3s Cluster"]
Ingress["ingress-nginx<br/>hostPort 80/443"]
CertMgr["cert-manager"]
subgraph Pods ["Pods"]
App1["App 1"]
App2["App 2"]
end
end
Client -->|"*.janus.ciss.digital"| DNS
DNS -->|"89.58.27.247"| Firewall
Client -->|HTTPS| Port443
Client -->|HTTP| Port80
Port443 --> Ingress
Port80 -->|"ACME Challenge"| Ingress
Port22 -->|"Admin"| SSH["SSH Server"]
Ingress -->|"Routing"| App1
Ingress -->|"Routing"| App2
CertMgr -->|"Zertifikate"| Ingress
Port-Belegung
Section titled “Port-Belegung”| Port | Dienst | Zugriff |
|---|---|---|
| 22 | SSH | Rate-limited (fail2ban) |
| 80 | ingress-nginx (HTTP) | Offen (ACME + Redirect) |
| 443 | ingress-nginx (HTTPS) | Offen |
| 6443 | K3s API | Nur lokal |
Traffic-Flow
Section titled “Traffic-Flow”- DNS löst
*.janus.ciss.digitalzu89.58.27.247auf - UFW erlaubt Traffic auf Port 80/443
- ingress-nginx empfängt Traffic (hostPort)
- HTTP-Anfragen werden zu HTTPS weitergeleitet
- TLS-Terminierung in ingress-nginx
- Routing an entsprechende Pods basierend auf Host-Header
Service-Topologie
Section titled “Service-Topologie”graph TD
Ingress["Ingress<br/>Host-basiertes Routing"]
subgraph TestNS ["Namespace: test"]
TestSvc["Service: test<br/>ClusterIP"]
TestPod["Pod: test"]
TestSvc --> TestPod
end
Ingress -->|"test.janus.ciss.digital"| TestSvc
Jede App erhält eigene Subdomain und eigenes TLS-Zertifikat. Services nutzen ClusterIP (kein direkter externer Zugriff).