Easy K3s Kubernetes tools WITH K3sup and Kube-VIP

Тәжірибелік нұсқаулар және стиль

Spinning up a Kubernetes HA configuration is made easy with two open source utilities, K3sup and Kube-VIP. Using both of these utilities, we can easily stand up multiple control nodes using a virtual IP address and use the VIP to join the additional nodes to our Kubernetes cluster. For the K3s control nodes, I have spun up (3) Ubuntu Server virtual machines running in VMware vSphere.
Subscribe to the channel: / @virtualizationhowto
My blog:
www.virtualizationhowto.com
_____________________________________________________
Social Media:
/ vspinmaster
LinkedIn:
/ brandon-lee-vht
Github:
github.com/brandonleegit
Introduction - 0:00
Introduction to K3sup - 0:42
Introduction to Kube-VIP - 1:22
Overview of the installation process for K3sup - 1:57
Getting started curling the K3sup executable and installing - 2:20
Generating your public key pair - 2:47
Discussing the ssh-keygen command - 3:09
Copying the public key to your K3s nodes - 3:22
Running t he ssh-copy-id command - 3:40
Reviewing steps so far - 4:02
Creating the Kubernetes cluster using K3sup - 4:29
Running the K3sup command to create the first node in the cluster - 5:57
Looking at kubectl get nodes command - 6:17
Getting started with Kube-VIP - 6:40
Discussing the RBAC manifest - 7:02
Running the RBAC manifest - 7:36
Pulling the latest Kube-VIP image - 7:47
Creating an alias for the kube-vip command - 8:06
Creating the daemonset for Kube-vip - 8:36
Starting to ping the virtual IP address for Kube-VIP - 9:20
Looking at the daemonsets using kubectl - 9:30
Discussing joining the remaining nodes - 10:09
Running the k3sup join command - 10:30
Discussing the parameters of the k3sup join command - 10:43
Running the k3sup join command - 11:11
Joining the final node - 11:35
Editing our kubeconfig file to point to the virtual IP address - 11:55
Discussing the test of HA for Kubernetes - 12:39
Pinging the virtual IP and disconnecting the network adapter from the control plane node that owns VIP - 13:10
Pings start returning once again - 13:38
Concluding thoughts on Kubernetes HA - 13:49
Read my blog post covering the details of Kube-VIP here:
www.virtualizationhowto.com/2...
Read about automated K3s clusters using K3sup here:
www.virtualizationhowto.com/2...
Traefik ingress example with K3s:
www.virtualizationhowto.com/2...

Пікірлер: 22

  • @lawrenceneo2294
    @lawrenceneo22942 ай бұрын

    It would be much easier to follow along if a simple architecture diagram is provided showing the various IP addresses used in the lab, which IP address is belonging to what server. Right now, is very difficult to visualize what is happening.

  • @zombiewolf007
    @zombiewolf0072 ай бұрын

    Thanks for the great video! If I start adding worker nodes, do I also have to install kube-vip on those too?

  • @meyou118
    @meyou118 Жыл бұрын

    keep it up!!

  • @VirtualizationHowto

    @VirtualizationHowto

    Жыл бұрын

    Thank you!

  • @solomonhilliard5357
    @solomonhilliard5357 Жыл бұрын

    Great content, I worked with Kubernetes a couple of years ago and was stuck by the "start-from-zero" difficulties. Glad to see things have improved a lot. Couple of questions for you: 1) The company I worked with 2 years ago was a Rancher user; I didn't really care much for Rancher (granted they had an older version of Rancher), do you think it's still useful? 2) What's your opinion on the vCluster project? One of the major issues with Kube I encountered was weak namespace isolation.

  • @VirtualizationHowto

    @VirtualizationHowto

    Жыл бұрын

    Solomon, I love Rancher and use it regularly...good stuff. Also, i need to check into the vCluster project. I think I have played around with it in the past but definitely need to revisit this one. Thanks again for your comment!

  • @AlexDresko
    @AlexDresko Жыл бұрын

    Good stuff. I'm stuck trying to decide which youtuber's HA k3s solution to use, though. :)

  • @VirtualizationHowto

    @VirtualizationHowto

    Жыл бұрын

    Alex, thank you for your comment! Try them all if you have a chance...that's the great thing about learning you can try many different things and see what works best for you...keep us posted on hiw it turns out 👍

  • @OleksaBaida
    @OleksaBaida Жыл бұрын

    really good content ⭐⭐⭐⭐ I've learned few news tools \techs form this channel already A place for improve is to do something with chapters: divided to often, as for me, and the names are not the clearest description of what you looking for, if you looking for table-of-contents to return to something

  • @kirksteinklauber260
    @kirksteinklauber260 Жыл бұрын

    Nice video!!! I will test this out. Can you do a follow up to complete the setup to add worker nodes? Then add management WebUI interface like Rancher or Portainer and finally how can roll out any docker apps in the cluster?. Also can the worker nodes can be on a different subnet / VLAN from the control plane nodes?

  • @LampJustin

    @LampJustin

    Жыл бұрын

    You could convert docker-compose stacks to Kubernetes manifests, but that is not really advised if you you're a novice. Start with using Lens, Rancher is pretty intrusive in your cluster and can't easily be removed from it. Start learning the deployment syntax, as well as what PVCs and ingresses are and go the cli + manifests route. If you just use the GUIs you'll never really understand what's going on and what the differences between deployment, statefulsets, replicasets and pods are. It's hard work! You could VLAN off your workers, but that's pretty much useless as you need full access between all the nodes (Controlplane + workers) for the overlay network, healthchecks etc to work.

  • @DanRossHoward
    @DanRossHoward10 ай бұрын

    When I tear down my cluster, one of the VMs retains the aliased IP address on the ens192 interface. Is there something I should be doing that will automagically clean that up as well?

  • @marcramey9529
    @marcramey9529 Жыл бұрын

    When using multiple servers in this configuration, do you configure kube-vip individually or does that get pushed when they join to the master server?

  • @VirtualizationHowto

    @VirtualizationHowto

    Жыл бұрын

    Marc thanks for the comment! Yes that is the case, when you join the cluster with the additional nodes, you use the VIP IP address for the cluster.

  • @marcramey9529

    @marcramey9529

    Жыл бұрын

    @@VirtualizationHowto On your blog, the dashes in the commands copy as one instead of two. Took me a bit to figure out what was wrong as the alias command would take but I kept getting errors when trying to start the manifest.

  • @ea_stus
    @ea_stus10 ай бұрын

    why is your air conditioner in the back so close to the desk? Why so low?

  • @adriandeveraaa
    @adriandeveraaa5 ай бұрын

    I need help. I have K8s cluster with four k8s nodes. Would I be able to use K3sup with the k8s cluster nodes? If not how would I setup the three needed K3s nodes? I want to spin up new nodes (either k3s or k8s) because the other four originally were setup by someone else and I dont want to mess with the configurations if I dont need to

  • @VirtualizationHowto

    @VirtualizationHowto

    5 ай бұрын

    @adriandeveraaa Let's discuss more on the VHT forums. Sign up and we can create a topic to discuss further there: www.virtualizationhowto.com/community

  • @adriandeveraaa

    @adriandeveraaa

    5 ай бұрын

    Just made a post. Thanks! @@VirtualizationHowto

  • @nate5234
    @nate5234 Жыл бұрын

    What is the ens192 interface in the kube-vip manifest? The kube-vip pod won't start unless I remove that from the manifest: level=fatal msg="ens192 is not valid interface, reason: get ens192 failed, error: Link not found"

  • @VirtualizationHowto

    @VirtualizationHowto

    Жыл бұрын

    Nate, this is an option you can use to specify a specific network adapter. This is the network adapter in my VM. Glad you caught that.

  • @nate5234

    @nate5234

    Жыл бұрын

    @@VirtualizationHowto ah, got it. I wasn't sure if it was binding it to an interface, or naming some virtual interface created and used by it. Thanks for the clarification.

Келесі