My NEW Kubernetes setup on Raspberry Pi

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 ธ.ค. 2024

ความคิดเห็น • 124

  • @guillaumearchambault905
    @guillaumearchambault905 4 หลายเดือนก่อน +12

    It's pretty cool, but what do you use for persistent data storage? Longhorn or NFS. I find that the storage part is too often set aside when this is the most important thing. The distributed storage is top, except that on raspberry with a single ethernet it is normally not enough. So I wouldn't be interested to know what you're putting in place

    • @dmckrk
      @dmckrk 4 หลายเดือนก่อน

      Completely agree.
      Im homelab you need to think about computing power as well as electricity bills, especially in middle Europe.
      I just kicked longhorn out because it failed on idle power consumption as well as with rebuild time on segmentation issues. Resiliency is not everything.

    • @allards
      @allards 4 หลายเดือนก่อน +2

      @@guillaumearchambault905 I also agree 100% persistent data storage seems to be ignored often in video’s and guides; without it a Kubernetes cluster is nothing but a bunch of clustered standalone nodes!

    • @tomekem3473
      @tomekem3473 4 หลายเดือนก่อน

      @dmcrkrk And what have you used instead of Longhorn?

    • @dmckrk
      @dmckrk 4 หลายเดือนก่อน

      @@tomekem3473 for now openebs, but I'm still testing few things. Longhorn is about to release 1.7, Ill check it again if it can handle idle state correctly, this was broken about v1.4.

    • @christianlempa
      @christianlempa  4 หลายเดือนก่อน +6

      Im currently testing longhorn and give it a try again! Follow up video is coming at some point ;)

  • @pur3D3votion
    @pur3D3votion 2 หลายเดือนก่อน

    What an amazing video! You inspired me to finally get my own home-lab after thinking about it on and off for a couple of years, so thank you for being such a great inspiration.

    • @christianlempa
      @christianlempa  2 หลายเดือนก่อน

      Oh, thank you so much for the kind words! And welcome on board :D

  • @GianpaoloMacario
    @GianpaoloMacario 4 หลายเดือนก่อน +3

    That's probably one of the most amazing videos which I have viewed so far! Thanks a lot Chris for explaining so many things in detail!

    • @christianlempa
      @christianlempa  4 หลายเดือนก่อน

      Thank you so much for the kind words 🙏

  • @Waveshare_Ruan
    @Waveshare_Ruan 4 หลายเดือนก่อน

    Thank Lempa for putting so much effort into creating and sharing this video with everyone. This video provides a wealth of information for Raspberry Pi cluster project users and offers strong support for Waveshare POE HAT customers in their practical applications. I believe Waveshare should sponsor you with free products. If you have any ideas about incorporating other new Waveshare products in your future videos, I will certainly provide you with the greatest support!

    • @christianlempa
      @christianlempa  4 หลายเดือนก่อน +1

      Thank you so much 😊 but I’m fine to pay for stuff when I got a use for it, so it’s okay for me

    • @Waveshare_Ruan
      @Waveshare_Ruan 4 หลายเดือนก่อน

      @@christianlempa Thank you for letting us know! We believe your independent educational videos will provide our enthusiasts with increasingly objective and valuable information! We all really need you!

    • @christianlempa
      @christianlempa  4 หลายเดือนก่อน

      @@Waveshare_Ruan thank you! :)

  • @ElTebe
    @ElTebe 3 หลายเดือนก่อน +2

    Racknex is awesome. Thank u for this info!

    • @christianlempa
      @christianlempa  3 หลายเดือนก่อน +2

      It really is!

    • @20windfisch11
      @20windfisch11 24 วันที่ผ่านมา

      They even have solutions for the new Mac mini.

  • @sven
    @sven 3 หลายเดือนก่อน

    Got a racknex mount for the Vigor 165 DSL Modem. Was the only one but its great

  • @52Pi_Maker_Education
    @52Pi_Maker_Education 4 หลายเดือนก่อน +1

    Thank you for your sharing. You are using our 52pi N04 expansion board, your idea is fantastic. I also want to try to build a similar environment on our Rack mate T1 and give K8S a try, it looks very promising! You are absolutely right, everyone should learn Linux!

    • @christianlempa
      @christianlempa  4 หลายเดือนก่อน

      Thank you 😊 great feedback!

  • @tofmoa1847
    @tofmoa1847 3 หลายเดือนก่อน +1

    Hi, thanks for the tutorial, little tips from my side to disable traefik + servicelb you can use --no-extras. it work every time

    • @christianlempa
      @christianlempa  3 หลายเดือนก่อน

      Oh I have to try that! Thank you 🙏

    • @tofmoa1847
      @tofmoa1847 3 หลายเดือนก่อน

      @@christianlempa Another things the --no-extras should be add on the join command as mention on the github.

  • @MuchamadFatihurrahman
    @MuchamadFatihurrahman 4 หลายเดือนก่อน +2

    Instead, metal lb can also provide a virtual IP for the load balancer claster k8s

    • @scrumcoach
      @scrumcoach 2 หลายเดือนก่อน

      For me CNIs worked very well too with onPrem Setups. Very interesting tutorial and so well made!!

  • @questionablecommands9423
    @questionablecommands9423 4 หลายเดือนก่อน

    3:33 oh my goodness. This is a MASSIVE improvement to the k3s documentation since the last time I deployed a net-new cluster.

  • @freedo201
    @freedo201 4 หลายเดือนก่อน

    Great video, i installed my cluster without kube vip because i was installing it via my own install script instead of k3sup and it wasnt easy, will need to give this a shot

    • @christianlempa
      @christianlempa  4 หลายเดือนก่อน

      Nice! Hope the video helps :)

  • @wstrater
    @wstrater 4 หลายเดือนก่อน

    Very nice. I like the idea and simplicity of building your cluster on bare metal. Feels more approachable then starting with a hypervisor. I hope you take the same approach with storage and keep the cluster completely self-contained so you could take that RackNex unit with you and have a portable cluster. Are you looking at file systems like Gluster or Ceph?

    • @christianlempa
      @christianlempa  4 หลายเดือนก่อน

      Im currently looking at longhorn again, maybe it’s working better this time! :)

  • @esc-sh
    @esc-sh 4 หลายเดือนก่อน

    Great video. May I ask what advantage does running k3s on three Pis have over running on Proxmox? If it is power efficiency, wouldn't Proxmox on Mini PCs be better?
    While I was looking at building a k3s cluster, getting a pi, the hats and ssd all combined became more expensive and more finicky than getting a used Lenovo/HP/Dell mini PCs.
    I ended up going with Mini PCs + Proxmox and that is very power efficient and is a lot more flexible than the PIs

    • @christianlempa
      @christianlempa  4 หลายเดือนก่อน +1

      Thank you! :) It was just a fun experiment to tinker, and I wanted to have an environment that is a bit more power efficient than my bigger proxmox server, so I can shut it down when I don't need it and still run my prod services on my kube cluster

  • @TobiasEhlert
    @TobiasEhlert 4 หลายเดือนก่อน +1

    I think that you don't need to use kube-vip if you have opted for the cilium cni instead of flannel, since that is quite rich in feature when it comes to l2, service mesh, kube-proxy replacement and more. Maybe perfect for a follow up video to make that switch ^_^ other than that thanks, a great video as usual!

    • @christianlempa
      @christianlempa  4 หลายเดือนก่อน +1

      Thanks! I don’t have much experience with cilium but I agree it would be another interesting topic!

  • @dev_new_dark_mode
    @dev_new_dark_mode 21 วันที่ผ่านมา

    thanks mate, you always fantastic .

  • @jucosorin
    @jucosorin 3 หลายเดือนก่อน

    Great video, Christian! One question, if the kube-vip address is virtual then how do you reserve it on your dhcp server so it doesn't get allocated to another machine in your network?

    • @christianlempa
      @christianlempa  3 หลายเดือนก่อน +1

      You can use different ip ranges for dynamic and static ip addresses. Most dhcp servers have settings to exclude specific IPs from the dynamic range as well

  • @ChadE1020
    @ChadE1020 4 หลายเดือนก่อน

    thank you been waiting for this.

  • @ralumbur
    @ralumbur 4 หลายเดือนก่อน

    Are you sure you bought the sbc-213 model? Because it says sbc-202 on your front panel?

  • @magicmanj32
    @magicmanj32 4 หลายเดือนก่อน

    Hi Christian, any chance of doing an install howto for teleport (community edition) for a homelab, I feel this is more advanced than I would like, thank you, love your videos very insightful

    • @christianlempa
      @christianlempa  4 หลายเดือนก่อน

      Maybe this video helps: Installing Teleport + Traefik (Letsencrypt TLS certs)
      th-cam.com/video/NzSdNoR-JPo/w-d-xo.html :)

  • @woife0705
    @woife0705 4 หลายเดือนก่อน

    This is nice but unfortunately some images do not run on the raspi architecture. I do not remember by hard which was it in my case exactle I believe timescaleDB.

  • @Noxcrunor
    @Noxcrunor 4 หลายเดือนก่อน

    Hey Cristian, great video! Wanted to try out Kubernetes myself but never really get the hang on it but I am eager to try it out with mini PCs I have lying around. :D
    One side question, which is not dedicated to the video itself: In some other videos you uploaded, I saw a metal plate you screwed on the wall and hung your (for example) Zima Board onto it - I never found such a metal plate; what's this thing called, where did you get it? You did not mention it anywhere on your Kit page, either.
    Keep up the great work, you helped me and my projects many times!
    Best.

    • @christianlempa
      @christianlempa  4 หลายเดือนก่อน

      Hey thank you! Good luck with your project :) honestly I don’t remember that plate anymore it was just a random piece I found on Amazon :D

    • @Noxcrunor
      @Noxcrunor 4 หลายเดือนก่อน

      @@christianlempa That is sad to hear. ;D Thanks for the quick answer. :)

  • @sergioromerobarra7058
    @sergioromerobarra7058 4 หลายเดือนก่อน

    Hello! Great video. I love K3s too. Are your Fitwok Nvme still running ok? My Pi5 completely destroyed my SD card after running fro 15 days with Ubuntu server and K3s and I'm thinking of moving my single node k3s to nvme instead of wasting money with a better SD.

    • @christianlempa
      @christianlempa  4 หลายเดือนก่อน

      So far it's running fine :)

  • @dandogamer
    @dandogamer 4 หลายเดือนก่อน

    I attempted this last year but docs werent great may have to try again. Im still unsure what youre using for storage. I need something thats not gonna go down

    • @christianlempa
      @christianlempa  4 หลายเดือนก่อน

      Do you mean kube-vip? or k3sup?

  • @declanmcardle
    @declanmcardle 15 วันที่ผ่านมา

    k3s has a yellow background so you can install it in work and you boss thinks you're install ESXi?

  • @Ramhound
    @Ramhound 4 หลายเดือนก่อน

    Can you post where you got the PCIe cables? Definitely interested in doing something like this.

    • @christianlempa
      @christianlempa  4 หลายเดือนก่อน

      They’re on my kit page: christianlempa.de/kit

  • @dark4igi
    @dark4igi 4 หลายเดือนก่อน

    only .kube/config was updated on your workstation/laptop
    but not only your kubectl communicate with kube api, another nodes also communicate with kube api, what still on all another confs ip of first node.
    27:09 you add second node using ip of first node, not vip
    I bet, if you turnoff first node, you will got problems with your cluster

    • @christianlempa
      @christianlempa  4 หลายเดือนก่อน

      Hmm that’s right! Thanks for the heads-up! I might need to change the config later at some point

  • @krzysztofkrolikowski
    @krzysztofkrolikowski 4 หลายเดือนก่อน

    wow, that's really good raspberry pi setup on steroids! Compared to my cluster your's is super awesome! I own 4 raspberry pi's on my cluster, but they are 4'th gen version. I'm using uctronics rackmount for raspberry pi. It was only reasonable rack solution at that time ;-) Every node is installed on SD 64GB cards. I've built it 2 or 3 years ago. What i can share with you Christian, consider adding one or two amd64 vm's to this cluster. Not every app is working well on arm. Kubernetes with proper nodeSelector configuration will do the job, when you'll encounter some problems with ARM architecture ;-)
    Many thanks for tip with kube-vip solution. It's one of the crucial missing pieces in my homelab setup.

    • @christianlempa
      @christianlempa  4 หลายเดือนก่อน +1

      Thank you so much! Also great tip, I will think about that :)

  • @DavidC-rt3or
    @DavidC-rt3or 4 หลายเดือนก่อน

    Trying to find with kube-vip can/does it do any kind of health checks of the endpoints? For example, with keepalived and haproxy (or nginx as a load balancer) and configure health checks to know if x failures occur remove the load from the lb unless y successes occur? From what I've seen so far with kube-vip that if say the k3s on a master died but is still on, would the request then just fail if that node has the vip? or would it move to another node? or if the vip is on node2, but k3s svc on node1 is dead would traffic get sent there?

    • @christianlempa
      @christianlempa  4 หลายเดือนก่อน

      I think does but you might need to check in the docs how exactly that’s working

  • @kevinolvera1109
    @kevinolvera1109 4 หลายเดือนก่อน

    Great content! It would be nice if you could review some technologies like OKD, is the community edition of Openshift.

  • @tkdlove02
    @tkdlove02 4 หลายเดือนก่อน +2

    Hey Christian, love your work and all the great content you make. 1 nitpicky thing though, the font on those diagrams in the beginning and elsewhere in the video is horrendous. Completely unreachable without zooming in (using mobile to watch this). Obviously, nothing overly important just a suggestion to use a standard font in the future. PLEASE keep making this content, it is a huge motivation to me and others to explore areas outside our respective fields and there is always great stuff to try out. Thank you for all the hard work!

    • @christianlempa
      @christianlempa  4 หลายเดือนก่อน

      Thank you! I’ll keep this in mind for the next one 😊☝️

  • @JohnWeland
    @JohnWeland 4 หลายเดือนก่อน

    So I am 90% there, I tried with k3sup and just plain old k3s docs and `--disable servicelb` doesn't seem to work because the first time I create a deployment (nginx) and expose it with an lb, I get 6 pods beginning with `svclb-nginx -` all running in my cluster with an ip address of the host node.

    • @christianlempa
      @christianlempa  4 หลายเดือนก่อน

      Maybe we can help you on the discord, we have a help forum :)

  • @scrumcoach
    @scrumcoach 2 หลายเดือนก่อน

    How do you renew the certificate when its failing on you, ie after one year?

    • @christianlempa
      @christianlempa  2 หลายเดือนก่อน

      I just download it from the k3s kubeconfig directory.

  • @niklaswe2686
    @niklaswe2686 4 หลายเดือนก่อน

    Why not use servicelb shipped with k3s?

    • @dmckrk
      @dmckrk 4 หลายเดือนก่อน

      If you need virtual address instead of fixed port numbers then You need something like this or metallb.

  • @DustinGrady
    @DustinGrady 4 หลายเดือนก่อน

    Great video

  • @6bBeVaEq5AhEG6
    @6bBeVaEq5AhEG6 4 หลายเดือนก่อน

    The Raspberry Pi uses arm, so some applications and services cannot be deployed...
    You have to write your own yaml /docker compose file for deployment, which is a bit troublesome.
    Thank you boss for sharing.
    By the way, why didn’t you consider using Argon NEO? 🤣

    • @DavidC-rt3or
      @DavidC-rt3or 4 หลายเดือนก่อน +1

      Keep in mind that is the control plane, worker nodes (agents) could be deployed on other pi's (with same or different os), x86 or x64 physical hardware (with various os'es), and/or proxmox vm's. Then using labels (for example on the nodes) could then define which apps would go where based on the definition in the yaml (by os, platform or other label) . Also, if it's your own app(s) then you could do multi platform builds.

    • @pdx2240
      @pdx2240 4 หลายเดือนก่อน +1

      Its such a long time ago, I have encountered an application that I could not run in my K3S arm64 cluster. Basically support for arm is great now

    • @dmckrk
      @dmckrk 4 หลายเดือนก่อน +1

      ARM is not problematic now. Risc-V is coming, and still you can mix all of them together.

  • @longuinni
    @longuinni 4 หลายเดือนก่อน

    does gitlab support arm64 processos?

    • @christianlempa
      @christianlempa  4 หลายเดือนก่อน

      Good question, I hope it does, but if it doesn't, I could add more x86 nodes to the cluster, we'll see :)

  • @mattiavadala7870
    @mattiavadala7870 4 หลายเดือนก่อน

    R.I.P. srv-prod-3... you've done well. xD

  • @AcmeAstro
    @AcmeAstro 5 วันที่ผ่านมา

    On your videos I am hearing a clicking sound and some static. Love your content btw. :)

    • @christianlempa
      @christianlempa  5 วันที่ผ่านมา

      Thanks! But I don't know what you mean by clicking or static?

  • @rzabcio3
    @rzabcio3 4 หลายเดือนก่อน

    Damn, that's a lot of work with the hardware... But, it could be useful. Thanks for the detailed video!

    • @christianlempa
      @christianlempa  4 หลายเดือนก่อน

      Thank you so much 🥰

  • @crispyreddis7051
    @crispyreddis7051 4 หลายเดือนก่อน

    Hi! Is it possible to verify my account in Christian discord without phone? Discord still does not send me verification sms. Tried 5 times.

    • @christianlempa
      @christianlempa  4 หลายเดือนก่อน

      Unfortunately not, that hold spam and scam away from the channel

  • @allards
    @allards 4 หลายเดือนก่อน +2

    Talos OS en Talos Omni, a Video about that would be cool anyway!

    • @christianlempa
      @christianlempa  4 หลายเดือนก่อน +1

      Maybe somewhere next year I’ll give it a try again :)

  • @SergeyToroshchin
    @SergeyToroshchin 4 หลายเดือนก่อน +18

    I still do not truly don't understand why ppl are choosing PI5 instead of mini PC (for eg on N100) ... mini PC have much faster CPU ... more options about memory ... more options about storage ... nower days you can connect nvme without any problems ... where you need some extra super puper adapter to connect any hdd or ssd to PI5

    • @itssoaztek4592
      @itssoaztek4592 4 หลายเดือนก่อน +4

      For some applications small size, low power draw and the already integrated IO options for cameras and other stuff are important enough to make the RPi a favorable choice. There is a reason why Raspberry Pi's are produced (and sold) in fairly large numbers, i.e. it's not just hobbyists who buy this stuff. In the past at least, price was also a major reason why the RPI was so popular. Obviously, there are also many other applications where a RPI is not the best solution (like you said).

    • @SergeyToroshchin
      @SergeyToroshchin 4 หลายเดือนก่อน

      @@itssoaztek4592 the key is here "for some" ... if we speak about regular serving like kuba ... its not about RPi ... yes we can up some kind of "hello world" web site but we still will have problems with storage, cooling and etc. Many years I tried to serve Home Assistant on RPi and use the same RPi to host GUI on external touch screen ... an it was awful time ... Ive finally switched to mini PC from GMK on Intel cpu and it works much better and flawlessly if we compare it with RPi. I also have some exp with multiple mini PC from Asrock to test cluster and it was muuuch better than RPi setup

    • @christophschug9295
      @christophschug9295 4 หลายเดือนก่อน +5

      Can you name a "mini PC" which runs with PoE?

    • @kettusnuhveli
      @kettusnuhveli 4 หลายเดือนก่อน +4

      @@christophschug9295Minisforum S100, Intel n100 based miniPC designed to run off of PoE

    • @guillaumearchambault905
      @guillaumearchambault905 4 หลายเดือนก่อน

      @@christophschug9295 Some mini pcs can have several power outputs via the same main unit

  • @weirdscience-o1i
    @weirdscience-o1i 4 หลายเดือนก่อน +5

    Use Talos 😉

    • @_vr
      @_vr 4 หลายเดือนก่อน

      Agree

    • @dmckrk
      @dmckrk 4 หลายเดือนก่อน +1

      Talos is just next level, talos over iPXE :)

    • @allards
      @allards 4 หลายเดือนก่อน

      @@weirdscience-o1i There is nothing more straightforward building an K8s cluster than with Talos Omni!

    • @weirdscience-o1i
      @weirdscience-o1i 4 หลายเดือนก่อน +1

      @@allards Amen to that 🥳

    • @erikhellman3974
      @erikhellman3974 4 หลายเดือนก่อน +1

      Talos is amazing

  • @oh_zoinkers
    @oh_zoinkers 4 หลายเดือนก่อน

    First?

  • @dmckrk
    @dmckrk 4 หลายเดือนก่อน +1

    This is short story how to start with tiny pi and convert it into big and expensive, problematic build still limited to just 1Gbit :/
    You are able to stick 16x pi on 2u case. You could use RK3588 alternatives to get about 2x more cpu power, 2.5x faster ethernet as well as 4x faster nvme (or 10Gbit ethernet) and up to 4x more RAM. Same with any n100 board.
    This is expensive lesson. Raspberry lost its fame for beeing affordable and powerfull choice. Have You mentioned final price for unit/whole build? Have You measured power consumption for all units on idle and full load?

    • @PeteMaverickMitchell87
      @PeteMaverickMitchell87 4 หลายเดือนก่อน +1

      I was thinking nearly the same thing.

    • @christianlempa
      @christianlempa  4 หลายเดือนก่อน

      The main goal was a bare metal kubernetes and play around with rpi. Sure you might find some better options but as this is the first project of this kind, I wanted to go with something that is well supported and where you find enough content and help

  • @phii7u
    @phii7u 4 หลายเดือนก่อน

    I would be interested in IPv6 Dual Stack and how to expose a service using IPv6 Loadbalancer. Can kube-vip do that? Not sure if it is a Talos problem, but I failed to get IPv6 communication between nodes working using ULAs. I used the default Flannel CNI.

    • @christianlempa
      @christianlempa  4 หลายเดือนก่อน +1

      No idea! IPv6 is a topic I’d like to tackle next year

    • @phii7u
      @phii7u 4 หลายเดือนก่อน

      @@christianlempa There is definitely a shortage of IPv6 content out there and more content on it would definitely help!
      I changed the CNI to Cilium and then IPv6 with ULAs started working. I could also replace MetalLB with Cilium IP Pools and BGP control plane.