In dieser Card geht es um Netzwerke in Kubernetes. Schau noch einmal kurz auf Netzwerke zurück und schau dir die Ziele dort an, ob du noch fit in Netzwerkthemen bist. Wichtig ist auch, dass du die Netzwerkthemen bezüglich der Namespaces aus Funktionsweise von Containern verstanden hast.
Du wirst feststellen, dass die Komplexität relativ hoch ist. Das ist der Grund, warum Netzwerkplugins das Setup automatisieren. Wenn du das selbst bauen müsstest, wärest du einige Zeit beschäftigt.
Ziele
- Was ist CNI?
- Wofür wird ein Networking Plugin benötigt?
- Du verstehst wie Calicodie Kommunikation von Pods/Containern auf unterschiedlichen Worker Nodes ermöglicht
- Warum macht man nicht einfach NAT?
- Du kannst VXLANerklären
- Was ist bei der Wahl eines Netzwerkplugins zu beachten? Was sind die Vorteile und Nachteile von Layer3 Routing und VXLAN?
- Du weißt wie du unterschiedliche Netzwerkplugins/Netzwerke am gleichen Pod verwenden kannst (Multus)
- Du verstehst die Notwendigkeit eines Kubernetes Service
- Du kannst erklären wie der Servicefunktioniert
- Wie funktioniert die DNS Auflösung von Services?
- Du weißt wie DNS Namen in anderen Namespacesaufgelöst werden können
- Was macht die ndotsKonfiguration in der/etc/resolv.conf?
- Wie wird Traffic mit einem Servicezu den Pods gerouted?- Warum funktioniert hier kein ICMP Traffic?
 
- Du kennst die unterschiedlichen Servicetypes von Kubernetes.- Wie unterscheidet sich der NodePortService vonClusterIP?
 
- Wie unterscheidet sich der 
- Was ist ein Ingress?
- Was ist ein Ingress controller?
- Du verstehst wie der Nginx Ingress funktioniert.
- Wenn ich jetzt mit Nginx Ingress starte, kann ich einfach auf einen anderen Controller wechseln?
Inhalte
- Kapitel 8 und 9 aus "The Book of Kubernetes" von Alan Hohn
- VXLAN explained Show archive.org snapshot
- VXLAN & Linux Show archive.org snapshot
Aufgaben
- Visualisiere wie bei Calico Netzwerktraffic von Pods zwischen Nodes geroutet wird. Schreibe dafür auch exemplarisch Route Tables in deiner Grafik auf.
- Visualisiere wie bei WeaveNet Netzwerktraffic von Pods zwischen Nodes geroutet wird. Dabei musst du darauf achten, dass zusätzliche Layer ersichtlich sind.
- Kopiere deine Calico Grafik und füge ServiceundIngressRessourcen mit ein.
- Besprich die ServiceRessource aus Anhang A mit deinem Mentor.
- Besprich die IngressRessource aus Anhang B mit deinem Mentor.
Anhang A
---
kind: Service
apiVersion: v1
metadata:
  name: nginx
spec:
  selector:
    app: nginx
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
Anhang B
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: web01
spec:
  rules:
    - host: web01
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: nginx
                port:
                  number: 80
Posted by Claus-Theodor Riegg to DevOps Curriculum (2023-01-13 16:15)