What is VXLAN and How It is Used as an Overlay Network in Kubernetes?

Поделиться
HTML-код
  • Опубликовано: 15 окт 2024
  • In this episode, we will learn what VXLAN is and how it can be leveraged as an overlay network to manage Kubernetes POD networks. We will start off by getting a crash course on the networking Open Systems Interconnect (OSI) model, followed by an overview of overlay networks. In the following section, we will discuss what VXLAN is and go over its architecture, encapsulation model, and how it can help segmented Kubernetes POD networks to communicate in a cluster. We will conclude the video by setting up a brand-new Kubernetes cluster leveraging Calico in VXLAN mode.
    Links:
    Demo scripts:
    github.com/gar...
    My Other Videos:
    ► Cilium Kubernetes CNI Provider: Part 4, IP Routing Modes (Direct and Encapsulated)
    • Cilium Kubernetes CNI ...
    ► Cilium Kubernetes CNI Provider, Part 3: Cluster Mesh
    • Cilium Kubernetes CNI ...
    ►Cilium Kubernetes CNI Provider, Part 2: Security Policies and Observability Leveraging Hubble
    • Cilium Kubernetes CNI ...
    ► Cilium Kubernetes CNI Provider, Part 1: Overview of eBPF and Cilium and the Installation Process • Cilium Kubernetes CNI ...
    ► What is VXLAN and How It is Used as an Overlay Network in Kubernetes?
    • What is VXLAN and How ...
    ► Managing Linux Log-ins, Users, and Machines in Active Directory (AD): Part 2- Join Linux Machines to AD:
    • Managing Linux Logins,...
    ► Managing Linux Log-ins, Users, and Machines in Active Directory (AD): Part 1- Setup AD:
    • Managing Linux Logins,...
    ► Sharing Resources between Windows and Linux:
    • Sharing Resources betw...
    ► Kubernetes kube-proxy Modes: iptables and ipvs, Deep Dive:
    • Kubernetes kube-proxy ...
    ►Kubernetes: Configuration as Data: Environment Variables, ConfigMaps, and Secrets:
    • Kubernetes: Configurat...
    ►Configuring and Managing Storage in Kubernetes:
    • Configuring and Managi...
    ► Istio Service Mesh - Securing Kubernetes Workloads:
    • Istio Service Mesh - S...
    ► Istio Service Mesh - Intro
    • Istio Service Mesh (si...
    ► Understanding Kubernetes Networking. Part 6: Calico Network Policies:
    • Understanding Kubernet...
    ► Understanding Kubernetes Networking. Part 5: Intro to Kubernetes Network Policies:
    • Understanding Kubernet...
    ► Understanding Kubernetes Networking. Part 4: Kubernetes Services:
    • Kubernetes services - ...
    ► Understanding Kubernetes Networking Part 3: Calico Kubernetes CNI Provider in-depth:
    • Understanding Kubernet...
    ► Understanding Kubernetes Networking. Part 2: POD Network, CNI, and Flannel CNI: Plug-in: • Understanding Kubernet...
    ►Understanding Kubernetes Networking. Part 1: Container Networking: • Video
    ► Setup a Linux-Windows (Calico based) Hybrid Kubernetes Cluster to Host .NET Containers:
    • Setup a Linux-Windows ...
    ► A Docker and Kubernetes tutorial for beginners:
    A Docker and Kubernetes tutorial for beginners. - RUclips
    ► Setup a "Docker-less" Multi-node Kubernetes Cluster on Ubuntu Server:
    • Setup a "Docker-less" ...
    ►Step by Step Instructions on Setting up Multi-Node Kubernetes Cluster on CentOS: • Step by Step Instructi...
    ►Setup and Configure CentOS Linux Server on A Windows 10 Hypervisor - RUclips: • Setup and Configure Ce...
    ►Setup NAT (Network Address Translation) on Hyper-V: • Setup NAT (Network Add...
    ► Enable Nested Virtualization on Windows to run WSL 2 (Linux) and Hyper-V on a VM: • Enable Nested Virtuali...
    ►Setup a Multi-Node MicroK8S Cluster on Windows 10: • Setup a Multi Node Mic...
    ► Detailed Windows Terminal, (WSL 2), Linux, Docker, and Kubernetes Install Guide on Windows 10:
    • Detailed Windows Termi...

Комментарии • 62

  • @ravipillai7662
    @ravipillai7662 21 день назад

    Whenever I face any issues with k8s networking, I come to your channel. Precise, concise and brilliant content!!!

  • @caruccio
    @caruccio Год назад +2

    the best videos on k8s networking i've seen. right to the point, no smalltalk. will watch all your videos.

  • @faizanrafiq8992
    @faizanrafiq8992 2 дня назад

    I have learnt a lot from your channel. Keep generating such amazing content. It would be great, if there are more frequent videos.

  • @ganeshk5374
    @ganeshk5374 7 месяцев назад

    One of the best explanation out there for Kubeenetes CNI concepts

  • @rizwanqayyumi1814
    @rizwanqayyumi1814 Год назад +1

    Amazing content, having worked with K8 for last 5 years, I bet your detailed explanations are something I haven’t seen anywhere else, great work and thanks for sharing

  • @jimothyus
    @jimothyus 10 месяцев назад

    Wow, incredible video. Thank you so much for taking the time to make this. Kubernetes should make this the first thing you see in their docs.

  • @muthupriyadharshinim9033
    @muthupriyadharshinim9033 2 года назад

    I have been trying to wrap my head around CNI for so long. This video helped to a great extend. Thank you!

  • @kumar.abhinav
    @kumar.abhinav 11 месяцев назад

    Amazing explanation! I don't think anyone would have explained like this.

  • @rohitmishra6402
    @rohitmishra6402 Год назад

    Your channel is a hidden gem, thank you so much for these videos.

  • @Techtips200
    @Techtips200 5 месяцев назад

    These are great videos ....no one covers k8 networking deeper than you.

  • @jonassteinberg3779
    @jonassteinberg3779 8 месяцев назад

    Wowza, helluva video. I never truly understood vlans or vxlans until now -- 🙏

  • @eddie3610
    @eddie3610 10 месяцев назад

    Are you a network engineer? I havn't seen like this detailed k8s networking contents. It is amazing content! Super thanks to you!🙂🙂🙂

  • @vijaykrbansal5995
    @vijaykrbansal5995 Год назад

    Nicely explained the VXLAN concept.

  • @taahashaikh7575
    @taahashaikh7575 2 года назад +1

    In love with your presentation technique.

  • @zulh-civo
    @zulh-civo 2 года назад +2

    Very useful video. Can you make video about VXLAN EVPN? I'd love to understand it - really love the visual-way of your presentation/teaching style.

    • @TheLearningChannel-Tech
      @TheLearningChannel-Tech  2 года назад +1

      Hi, thank you. My focus is around Kubernetes and Kubernetes networking topics. That said, I'll try to see if I can accommodate your request in a future presentation. Thanks.

  • @sanjeethg4958
    @sanjeethg4958 4 месяца назад

    amazing video. very useful to understand the concept

  • @buacomgiadinh1
    @buacomgiadinh1 2 года назад +1

    very useful video on vxlan, thank you very much

    • @TheLearningChannel-Tech
      @TheLearningChannel-Tech  2 года назад

      Thank you, glad it was helpful!

    • @buacomgiadinh1
      @buacomgiadinh1 2 года назад

      @@TheLearningChannel-Tech could you please make a deep dive videos for cilium cni

    • @TheLearningChannel-Tech
      @TheLearningChannel-Tech  2 года назад

      @@buacomgiadinh1 Hi, yes, I'll add that to my list. Thanks for your suggestion.

  • @gsmurugaraja
    @gsmurugaraja 4 месяца назад

    Amazing explanation

  • @GK-rl5du
    @GK-rl5du 10 месяцев назад

    I can't thank you enough, for the really in-depth coverage on Kube networking concepts.
    When we say vxlan is a known type in Linux, does it mean that all the packet processing (wrapping a regular frame in a UDP packet vice versa) takes place in kernel space?
    I am imagining it like this, Calico daemonset will create the calico.vxlan device and configures the VNI. Rather than, calico running a UDP daemon to send/recieve the UDP packets which would be very in-efficeient due to the sheer no of context switches and data copies between kernal/user spaces.

    • @TheLearningChannel-Tech
      @TheLearningChannel-Tech  10 месяцев назад

      Hi, thanks for your kind words and glad you find these videos helpful. VXLAN protocol is optimized on Linux, some the network related operations occur in the kernel. It is a very useful protocol to connect devices in different networks, but it does have certain overhead. If all the worker nodes are in the same subnet, some vendors use a more direct route which is faster, Cilium is one such example: studio.ruclips.net/user/videoj2aox7K-7wU/edit

  • @pedhigala
    @pedhigala 2 года назад +2

    Hello! this was a great video on calico vxlan. Thank you! I had a question.. is there a way to define vxlan segments in K8s calico? have different VNIs between different pods? or is the segments based on different nodes in the k8s cluster?

    • @TheLearningChannel-Tech
      @TheLearningChannel-Tech  2 года назад

      Hi and thanks for your feedback!
      As for your question, the network segments in case of Kubernetes and Calico are in reality the POD networks on each node. Each segmented POD network is given a VNI and managed by Calico.

  • @SarangDumbre
    @SarangDumbre 7 месяцев назад

    Speechless.

  • @Thinkingfeed
    @Thinkingfeed Год назад

    Thanks man!!! Very nice

  • @mariuscristian7617
    @mariuscristian7617 5 месяцев назад

    I have a question here. We have a datacenter with few VXLANs, one is for load web load balancers and one is for production servers. The K8S vxlan overlay can work on the top of existing VXLANs overlays? Thank you

    • @TheLearningChannel-Tech
      @TheLearningChannel-Tech  5 месяцев назад

      Hi, the VXLAN implementation is internal to Kubernetes and is used to provide connectivity among pods within the Kubernetes cluster.

  • @SushilYadav7
    @SushilYadav7 Год назад

    28:08 Container is created first and then pod namespace? That means later when the namespace is created, then the container process which must be running on some port on host machine is assigned process id = 1 within the pod namespace. That's why we see process id = 1 when we list the running process within the container.

  • @simo47768
    @simo47768 2 года назад

    Thank you for this awsome presentation

  • @alexanderkrutko644
    @alexanderkrutko644 Год назад

    It is amazing stuff! Thank you very much for your work!

  • @vipinchawria
    @vipinchawria 5 месяцев назад

    Thank you !! One quick question - when UDP pipe is setup between two VMs hosting containers, how is destination VM's IP determined? For example - when we did a curl to hello word service IP from master to node1, to setup the UDP pipe, node1's IP needed to be known. Is calico doing some magic under the hood for this?

    • @TheLearningChannel-Tech
      @TheLearningChannel-Tech  5 месяцев назад

      Hi, yes when the source pod issues an ARP request, the Calico VTEP forwards it to the other node where the other pod responds, similar to the discussion of VXLAN overview discussion.

    • @vipinchawria
      @vipinchawria 5 месяцев назад

      @@TheLearningChannel-Tech Thanks for the response. So basically when the ARP response comes back from destination VTEP, source VTEP being a switch will remember that certain MAC lives on this VTEP. So after ARP, when ping packet is sent, source VTEP will establish the UDP pipe between source and destination VTEPs. Does this seem like correct understanding?

    • @TheLearningChannel-Tech
      @TheLearningChannel-Tech  5 месяцев назад

      @@vipinchawria Close, Calico is a CNI provider responsible for creating pods. It knows what pod (and its IP address) is assigned to what worker node. When the source pod issues an ARP, it basically says I'm looking for the MAC address of the pod that has this IP address. Calico VTEP examines the destination IP address and forwards it to the worker node that hosts that pod.

  • @manaspecenek
    @manaspecenek Месяц назад

    perfect content

  • @이승언-o1c
    @이승언-o1c 3 месяца назад

    wow thanks for this amazing viedo and
    powerful samples... really helped me alot ..
    and i got one question in video 25.13
    between udp tunnel and vtep ,
    is there some kind of running process(user space) that have udp port and listening so it get packet from other node ?
    and if it is how does it communicate with vtep interface?
    thank you!
    and is there any chance that you could cover about tun , vtep , vtun interfaces?? i know it's lot to ask but no one can deliver the information like you
    again really appreciate for your works!
    and sorry for my poor english..

    • @TheLearningChannel-Tech
      @TheLearningChannel-Tech  3 месяца назад +1

      Hi, thanks for your feedback. The tunnel is not a permanent construct and is only started any time when the two sides need to communicate and is shut down once the communication is completed. I'm currently planning other topics but if I get around it will consider your request. Thanks.

    • @이승언-o1c
      @이승언-o1c 3 месяца назад

      @@TheLearningChannel-Tech thanks!!

  • @otmaniyounes8119
    @otmaniyounes8119 Год назад

    hi and thank you for this information , i have a questions can we define for each pod a vxlan id ( vxlan segment ) to separate and isolate communications between pods

    • @TheLearningChannel-Tech
      @TheLearningChannel-Tech  Год назад +1

      VXLAN at individual POD level? That would be terribly wasteful and will incur a lot of overhead. If you are concerned about securing communication between PODs then you should look into Wireguard/IPSec or mTLS.

    • @otmaniyounes8119
      @otmaniyounes8119 Год назад

      @@TheLearningChannel-Tech in other word how we can isolate pods layer 2 from the host for exemple ? if i have multi users in the same cluster when each user have a pod

  • @simo47768
    @simo47768 2 года назад +1

    Encapsulation in encapsulation in encapsulation in encapsulation ... 😀

  • @violinalauradragan7001
    @violinalauradragan7001 3 месяца назад

    I love all your videos. extremly educational. do you plan to release more content please?

    • @TheLearningChannel-Tech
      @TheLearningChannel-Tech  3 месяца назад +1

      Hi, many thanks for your kind words! Yes, I will be adding more content later in the summer, just have been busy. Any particular topic you are interested in? Thanks!

    • @violinalauradragan7001
      @violinalauradragan7001 3 месяца назад

      @@TheLearningChannel-Tech I apreaciate your reply so much. on top of my head I am thinking intro to microservices, or baremetal and k8s, monitoring and observabiities, k8s on prem, etc. I hope you know how valuable your videos are.

    • @TheLearningChannel-Tech
      @TheLearningChannel-Tech  3 месяца назад

      @@violinalauradragan7001 I'm really humbled by your kind comments. I'm planning for a few Azure cloud-centric videos next but I will return to Kubernetes and consider your great suggestions, especially an intro to microservices and monitoring. Most of my Kubernetes thus far (except the last one) apply to both on-prem and cloud situations and the instructions to set up clusters from scratch apply to both VMs and bare-metal. If you have any questions about any of the videos or have questions/issues with the labs please post them and I will be more than happy to help if I can. Again, thank you very much for your very motivating kind words! Please take care!