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)