10 Must-Have Kubernetes Tools

แชร์
ฝัง
  • เผยแพร่เมื่อ 29 มิ.ย. 2024
  • What are the top 10 Kubernetes tools I used (almost) every day? Which are the best and the most important k8s tools everyone should use?
    #Kubernetes #k8s
    Consider joining the channel: / devopstoolkit
    ▬▬▬▬▬▬ 🔗 Additional Info 🔗 ▬▬▬▬▬▬
    ➡ Gist with the commands: gist.github.com/bc1188d2a4b8d...
    🎬 How To Replace Docker With nerdctl And Rancher Desktop: • How To Replace Docker ...
    🎬 k9s Kubernetes UI - A Terminal-Based Vim-Like Kubernetes Dashboard: • k9s Kubernetes UI - A ...
    🎬 Argo CD - Applying GitOps Principles To Manage A Production Environment In Kubernetes: • Argo CD - Applying Git...
    🎬 Flux CD v2 With GitOps Toolkit - Kubernetes Deployment And Sync Mechanism: • Flux CD v2 With GitOps...
    🎬 How To Shift Left Infrastructure Management Using Crossplane Compositions: • How To Shift Left Infr...
    🎬 Cloud-Native Apps With Open Application Model (OAM) And KubeVela: • Cloud-Native Apps With...
    🎬 Kubernetes-Native Policy Management With Kyverno: • Kubernetes-Native Poli...
    🎬 How to apply policies in Kubernetes using Open Policy Agent (OPA) and Gatekeeper: • How to apply policies ...
    🎬 GitHub CLI - How to manage repositories more efficiently: • GitHub CLI (gh) - How ...
    ▬▬▬▬▬▬ 💰 Sponsoships 💰 ▬▬▬▬▬▬
    If you are interested in sponsoring this channel, please use calendly.com/vfarcic/meet to book a timeslot that suits you, and we'll go over the details. Or feel free to contact me over Twitter or LinkedIn (see below).
    ▬▬▬▬▬▬ 👋 Contact me 👋 ▬▬▬▬▬▬
    ➡ Twitter: / vfarcic
    ➡ LinkedIn: / viktorfarcic
    ▬▬▬▬▬▬ 🚀 Courses, books, and podcasts 🚀 ▬▬▬▬▬▬
    📚 Books and courses: www.devopstoolkitseries.com
    🎤 Podcast: www.devopsparadox.com/
    💬 Live streams: / devopsparadox
    ▬▬▬▬▬▬ ⏱ Timecodes ⏱ ▬▬▬▬▬▬
    00:00 Introduction To Kubernetes Tools
    03:49 Local Development With Rancher Desktop
    04:18 Operate With kubectl, kubectx, And kubens
    05:24 Define Third-Party Applications With Helm
    07:03 Observe With k9s
    08:20 Syncronize With Argo CD or Flux
    09:35 Manage TLS Certificates With CertManager
    10:46 Manage Infrastructure With Crossplane
    11:29 Manage Applications With Crossplane Or KubeVela
    13:07 Collect And Observe Metrics With Prometheus And Grafana
    14:06 Collect And Observe Logs With Loki And Promtail
    14:57 Manage Policies Through Admission Controllers With Kyverno Or OPA Gatekeeper
    16:04 Summary
  • วิทยาศาสตร์และเทคโนโลยี

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

  • @DevOpsToolkit
    @DevOpsToolkit  2 ปีที่แล้ว +8

    What are your top 10 indispensable k8s tools?
    IMPORTANT: For reasons I do not comprehend (and Google support could not figure out), TH-cam tends to delete comments that contain links. Please do not use them in your comments.

    • @sandeepsiddharth1248
      @sandeepsiddharth1248 2 ปีที่แล้ว +1

      great video!

    • @CloudNativeJanitor
      @CloudNativeJanitor 2 ปีที่แล้ว +1

      agree 100% with your selection, I would add operators, trivy, grype, ondat, synk

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว +1

      @@CloudNativeJanitor Initially, the list was much bigger and had a tendency to become very big so I limited myself to 10. Those you mentioned were excluded not because I did not think (some of them) should not be in the list but because of the self-imposed limit of 10.

    • @CloudNativeJanitor
      @CloudNativeJanitor 2 ปีที่แล้ว +1

      @@DevOpsToolkit yes, it makes sense, the landscape is huge, it would be very interesting to see what everyone's favourite 10 tools are? KubeVela and Pomtail are new to me, that is what I like about your channel, I am guaranteed to learn new things and expand on my knowledge, thank you very much

  • @TweakMDS
    @TweakMDS 2 ปีที่แล้ว +27

    My top 10 (from a homelab perspective)
    1: K8s Lens. Just a fantastic tool for port forwarding and quick diagnosis.
    2: MetalLB to have "real" loadbalancer IP addresses.
    3: Traefik Proxy. It just works better for me with letsencrypt TLS challenges. No need to have dns integration or http port open, and it all just works out of the box.
    4: Helm - for the exact reasons here.
    5: Krew - plugin manager for Kubectl.
    6: PLG (Prometheus - Loki - Grafana).
    7: nano with yaml highlighting + yamllint. Nothing beats commandline in a pinch.
    8: K9s - love it, but don't use it as often since Lens v5.
    9: Terraform - everything-as-code.
    10: Longhorn - good CSI with solid frontend for management and diagnose features such as snapshots.

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว

      Great list!
      I need to setup my own home lab one of these days.

  • @justjase1576
    @justjase1576 2 ปีที่แล้ว +3

    Excellent video Viktor, thanks! Currently setup a RKE2 environment and want to put some of these into practice, particularly interested in ArgoCD instead of using typical pipeline methods and its supporting options (Argo workflows and events).

  • @FessAectan
    @FessAectan 2 ปีที่แล้ว +1

    Another absolutely amazing and useful video! Thank you Viktor!

  • @Gowlar
    @Gowlar 2 ปีที่แล้ว +2

    Wow k9s is life changing, thank you!

  • @devopscraftsmanship9302
    @devopscraftsmanship9302 2 ปีที่แล้ว +2

    Great selection, love it! I now want to give Crossplane a good spin!

  • @Anselmme
    @Anselmme ปีที่แล้ว +1

    Thanks for this great video, Viktor!

  • @SaurabhParmar113
    @SaurabhParmar113 2 ปีที่แล้ว +3

    This channel is very much underrated.
    Deserves more :))

  • @ioannisgko
    @ioannisgko 2 ปีที่แล้ว +1

    Very useful video, thank you

  • @felipeozoski
    @felipeozoski ปีที่แล้ว +2

    Gotta love these videos ❤

  • @dub_cl
    @dub_cl 2 ปีที่แล้ว +1

    thanks so much, keep waiting for the part 2 XD

  • @martinbower2915
    @martinbower2915 2 ปีที่แล้ว +4

    I'd definitely add ZSH as a tool. Command completion, auto suggestions just make cli work a million times easier.
    Coupled with ohmyzsh , you get context and namespace details on every line, which is important if you work with a large number of clusters

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว +3

      Oh yeah. OhMyZSH is awesome and I honestly don't know how I would work without it.

  • @andrewa3216
    @andrewa3216 ปีที่แล้ว +2

    From a security standpoint -- Istio, Trivy operator, and Falco

  • @MrBofi82
    @MrBofi82 2 ปีที่แล้ว +5

    Hi Viktor, great video as always.
    What do you think about using OpenTelemetryfor observability? With OpenTelemtry you get metrics, logs and tracing using one tool vs loki, promtail and prometheus. I am aware that you need to refactor the application in order to use OpenTelemtry but if someone is starting from scratch is this option may be a better solution for all new applications?
    Are you planning to make a video about creating/defining application using Crossplane?

  • @cheebadigga4092
    @cheebadigga4092 2 ปีที่แล้ว +1

    I just found Kubernator (VS Code extension) - holy damn it's amazing!!!

  • @rezanaipospos3320
    @rezanaipospos3320 2 ปีที่แล้ว +2

    Great video as always.
    i'm using rancher on my on premise it's package some tools on your video. using argocd to, absolutly love this one. just think want try gatekeeper & cert manager. any advice what can i add another tools on rancher?

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว

      It's not about adding tools on Rancher but rather to Kubernetes itself :)

  • @javisartdesign
    @javisartdesign 2 ปีที่แล้ว +4

    I am really dissapointed, I know all of them !! :-) That is because I have been watching all your videos! Thanks!

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว +1

      I'm doing my best to always introduce something new in every video. That's sometimes very challenging so I end up with videos like this one :(

    • @javisartdesign
      @javisartdesign 2 ปีที่แล้ว +2

      @@DevOpsToolkit No need to apologize, you are always putting the best stuff ever

  • @touchthesun
    @touchthesun 2 ปีที่แล้ว +1

    Thanks!

  • @leonardo_oliveira241
    @leonardo_oliveira241 2 ปีที่แล้ว +3

    Great video! Do you use some tool for backup? Like Velero?

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว +3

      Velero is the one I use the most.

  • @farzadmf
    @farzadmf 2 ปีที่แล้ว +1

    I'm a cli (and tui) addict, and I can safely say that k9s was one of the best (if not THE best) tool I've used until (well, maybe lazygit is also a candidate). Too bad I don't get to work with Kubernetes (and k9s) anymore.

  • @fenarRH
    @fenarRH 2 ปีที่แล้ว +3

    Helm is ok for simple app bundles, for complex app-bundles with auto-lcm/scale k8s operators are more handier imho.

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว +2

      I fully agree with that. We need to move the complexity into clusters (operators) and, from there on, a simple yaml should suffice to create the needed resources based on CRDs.

  • @thegabrielcho
    @thegabrielcho ปีที่แล้ว +1

    I love your videos! Sorry for the dumb question, I’m just starting out, what do you mean when you are referring to applications? (11:29)
    You recommended ArgoCD for syncing the deployments running on the EKS cluster, what are these other applications you’re talking about?

    • @DevOpsToolkit
      @DevOpsToolkit  ปีที่แล้ว

      By application I mean code of an app packaged as a container image and meant to run in Kubernetes. Or, in other words, whatever we are developing and want to make available to our customers.

  • @chandup
    @chandup 2 ปีที่แล้ว +3

    Distributed tracing is important too, for apps. Signoz or Jaeger. And at least 1 security tool, like Falco.

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว +4

      Oh yeah. Those are very important. Maybe I should have made it top 20 so that more can enter?

    • @chandup
      @chandup 2 ปีที่แล้ว +1

      @@DevOpsToolkit yes top 20 would have covered important & necessary tools.

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว +3

      I'll do that the next time :)

  • @JesusAlbertoSuarezMendez
    @JesusAlbertoSuarezMendez ปีที่แล้ว +1

    It would be fine a udemy course base on this top ten, plus the security and secret protection tools.

    • @DevOpsToolkit
      @DevOpsToolkit  ปีที่แล้ว +1

      Most of those are available as videos for free on this channel :)

  • @TheCloudMage
    @TheCloudMage 2 ปีที่แล้ว +1

    Thanks

  • @joebowbeer
    @joebowbeer 2 ปีที่แล้ว +2

    Your favorite ArgoCD does not _support_ an official helm chart (the community provides one) and AFAICT Intuit does not use helm internally. And this aligns with my own aversion to 3rd party helm repos and charts in my prod cluster.

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว +4

      I agree. Still, many apps are only defined as helm charts and while I heavily lean towards kustomize, it might be hard for many to rewrite charts.
      In any case, kustomize rules :)

  • @ashleymail4u
    @ashleymail4u 2 ปีที่แล้ว +2

    Crossplane for apps. I hope crossplane vscode support for language syntax is available. Yaml for customresourcedefinition seems wrong. It would be great to have golang for definition embedded in yaml like envoy filters implemented in Lua.

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว +2

      We already started working on the VSCode language syntax (marketplace.visualstudio.com/items?itemName=Upboundio.upbound). It's in early stages, but we're getting there.
      We're also working on other ways to define/template/overlay/etc. Crossplane compositions but we're still not 100% sure how it'll look like so I'll avoid giving more details until that's clarified.

  • @andrejab74
    @andrejab74 2 ปีที่แล้ว +1

    Great video! Just out of curiosity, why Rancher Desktop and not KinD?

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว +2

      KinD runs Kubernetes in a container which is great is you're using Docker. However, Rancher Desktop is standalone and is a full replacement for both Docker and Kubernetes. It's free, it's based on k3s (which I think is the best choice for local k8s), etc. Take a look at th-cam.com/video/evWPib0iNgY/w-d-xo.html.

  • @betorvs
    @betorvs 2 ปีที่แล้ว +2

    Great video Viktor!! Congratulations!! It's not the first time you mention about cloud native apps (OAM) but i have a question: Can we simulate a native cloud app like rollout custom resource? I mean, a native app that can support canary or blue-green rolling updates (deployment). What do you think?

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว +2

      OAM with, let's say, KubeVela, expands into whichever Kubernetes resources you tell it to expand so it can be anything, including canary deployments with Argo rollouts or flagger.

    • @betorvs
      @betorvs 2 ปีที่แล้ว +1

      @@DevOpsToolkit sorry for asking you without checking it, but can we achieve the same with crossplane instead kubevela?

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว +1

      @@betorvs Oh yeah. Crossplane Compositions serve a similar purpose as KubeVela. Both can be used to create new CRDs with corresponding controllers. Personally, I replaced KubeVela with Crossplane. However, I am also heavily invested in Crossplane so I'm trying to retain some level of objectivity by not recommending it exclusively.

    • @betorvs
      @betorvs 2 ปีที่แล้ว +1

      @@DevOpsToolkit and do you have any example of using crossplane composition for it? Maybe some git repo? Thanks for your time and videos. They are amazing!!!

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว +1

      @@betorvs I have quite a few examples stored in github.com/vfarcic/devops-toolkit-crossplane. That repo alone might be too confusing so you might want to check out the videos in th-cam.com/users/Upbound. That's where I publish most of the Crossplane-related videos since I joined Upbound.
      Just as in this channel, there is always a Gist with all the commands I run in a demo.
      Please let me know if you have trouble finding a video that specifically talks about the apps (quite a few do) and I'll get back to you with a direct link to it.

  • @acosmicabberation8173
    @acosmicabberation8173 ปีที่แล้ว +1

    jspolicy is much better than Kyverno or OPA. Apart from that very useful video thanks!

    • @DevOpsToolkit
      @DevOpsToolkit  ปีที่แล้ว

      JSPolicy is great but I don't think it's getting as much love and traction as, let's say, Kyverno. Also, with the introduction of Validating Admission Policy in Kubernetes v1.26, the game is going to change for all those tools. Now we finally have a standard API.

  • @PiranhaHunter
    @PiranhaHunter 2 ปีที่แล้ว +4

    Hey @DevOps Toolkit, can I use Cert Manager to create certificate for my intranet sites? (That should be trusted by browsers too).
    As of now, the sit has a self signed cert (Fake certificate from K8s), which the user have to click and bypass the browser's warning.

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว +4

      Yes, you can. Among others, you can use Cert Manager with the Let's Encrypt issuer for that.

    • @saynay302
      @saynay302 2 ปีที่แล้ว +1

      CertManager can operate as a CA based on its own self-signed cert, then hand out certs signed by itself. You would then install the public key to browsers so that they trust any cert made by that CA.
      Alternatively, if you can, you can get a wild-card cert from LetsEncrypt for a domain you control, then use that. Your internal services would be registered against that name, even though they are only accessible internally (nothing stops you from setting a .com address to point at 192.168.1.1, for example).

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว

      I just realized that you asked about intranet and not internet sites. In that case, the saynay answer is the correct one.

    • @PiranhaHunter
      @PiranhaHunter 2 ปีที่แล้ว +1

      @@saynay302 Thank you, I'll try it out.

  • @talms1
    @talms1 2 ปีที่แล้ว +1

    Please make videos of prometheus and loki.. Metrics in general

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว +1

      Will do. Adding it to my TODO list... :)

    • @talms1
      @talms1 2 ปีที่แล้ว +1

      @@DevOpsToolkit thanks boss! Love your videos

  • @nicolas_gama
    @nicolas_gama 2 ปีที่แล้ว +2

    May I ask you why don't you use Helm for your own applications? what do you use instead?

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว +4

      I prefer Kustomize over Helm for my own apps. It's more elegant and, generally speaking, I prefer overlaying (Kustomize) over templating (Helm). Also, it's part of `kubectl`.
      You might want to check th-cam.com/video/ZMFYSm0ldQ0/w-d-xo.html.

  • @Requiem100500
    @Requiem100500 2 ปีที่แล้ว +2

    I don't exactly agree on the idea that you can't define application as a Helm chart, because you can put as many manifests as you want inside a single chart, and it already provides an abstraction for the users in the form of input values.

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว

      I probably did not express myself well. You can definitely define kiss resource that constitute an app (or anything else) as a helm chart. What I wanted to say is that I prefer kustomize for internal apps.

    • @Requiem100500
      @Requiem100500 2 ปีที่แล้ว +1

      @@DevOpsToolkit To clarify: this was in reference to idea that Crossplane or Kubevela is required to manage apps.

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว

      I would not say that those are required but that defining apps as CRs might be the next step forward. If it is, than Crossplane and KubeVela are a potentially helpful tools to create the Cards and controllers (operators) required for CRs to do what they need to do. A good example would be KNative. I am suggesting that something similar to it can be done with our own company-specific definitions.

  • @HaddyMonster
    @HaddyMonster 7 หลายเดือนก่อน +1

    Genuinely, Can someone explain to me why you would use crossplane? I guess i dont understand why you use it over terraform + helm charts. Is it like making custom operators or something? It looks cool and id like to integrate but i just dont know what problem it solves, and i want to because i feel like theres something gold there

    • @DevOpsToolkit
      @DevOpsToolkit  7 หลายเดือนก่อน +1

      Crossplane is built on top of Kubernetes with all the good things that brings to the table. Terraform does not have an API, continuous drift-detection and reconciliation, and many other things that are inherent part of Kubernetes and, therefore Crossplane. Then there is state management in Terraform that is challenging, to say the least. Further on, by being Kubernetes-native, it integrates with any other Kubernetes-native tool like Argo CD, Flux, Kyverno, Prometheus, Loki, etc. Further on, Crossplane has a concept of Compositions which is a way to create your own CRDs and controllers that define what something is by extending Kube API.
      To put it in other words... The same reasons why one would use Kubernetes to manage applications instead of doing the operations with a CLI are just as valid as reasons to use Kubernetes to manage any other type of resources.
      So, the question is whether Kubernetes is a good way to manage resources. The answer might be that it isn't. But, if it is, it should not matter what those resources are, be it containers, VMs, WASM, EC2 instances, DBs, clusters, or anything else. The benefits or downsides (depending on how you look at it) are the same no matter what those resources are.
      Now, if we do settle that Kubernetes and the ecosystem around it is a good thing, than we need to look for tools designed to leverage it (to be designed on its principles). When it comes to infrastructure and services, Crossplane is one of a few. Depending on what you need, you might opt for Cluster API, or KubeVirt, or something other than Crossplane, as long as that something follow the Kubernetes principles. Terraform, unfortunately, doesn't. It was designed long before Kubernetes was born. Many tried to put it inside Kubernetes, and no one succeeded simply because it's design is at ods with it.

  • @rohanshahi1608
    @rohanshahi1608 ปีที่แล้ว +1

    Hello there
    any videos about karmada

    • @DevOpsToolkit
      @DevOpsToolkit  ปีที่แล้ว

      Not yet. It is on my to-do list but I cannot yet say when I'll get to it. The list is growing much faster than i can handle. What i can say is thst, apart from having a dedicated video, it will be featured in th-cam.com/play/PLyicRj904Z9-FzCPvGpVHgRQVYJpVmx3Z.html since it is a CNCF project.

  • @jaimaroju9840
    @jaimaroju9840 2 ปีที่แล้ว +1

    What must have tool for Chaos ?

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว +1

      That would be an interesting subject for an upcoming video.
      Until then, and assuming that it's about chaos through Kubernetes, I'd say that the two essential tools are a service mesh and a chaos engine. Service mesh should probably be whichever you use for other things (e.g., Istio, LinkerD, etc.). As for chaos itself, it can be Chaos Mesh, Chaos Toolkit, Litmus, etc. All of those are relatively young and tend to change very fast and, with those changes, the recommendations are changing fast as well.
      In any case... I'll add that to my TODO list... :)

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

    OpenLens!

  • @CrecaSin
    @CrecaSin 2 ปีที่แล้ว +1

    How come skaffold is not mentioned anywhere?

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว

      I did not put it only because of the self-imposed limitation to 10 tools. I don't think that Skaffold or another similar type of tool should take the place of any of those I included in the video. If it would be "top 20", Skaffold would probably be in it.

  • @LokeshKumarJ-qn4bq
    @LokeshKumarJ-qn4bq ปีที่แล้ว +1

    Where is Istio ?

    • @DevOpsToolkit
      @DevOpsToolkit  ปีที่แล้ว

      There are quite a few others that should be included but were not. I limited it to 10 to avoid going into the rabbit hole of everything anyone might need when working with Kubernetes.

  • @Dai-corporation
    @Dai-corporation 2 ปีที่แล้ว +1

    Well, kubectl is good if you dont care about cost and IT dont touch your stuffs

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว

      There are many things wrong with kubectl, but I'm not sure how does that relate to cost? I'm curious to know more about what you mean.

    • @Dai-corporation
      @Dai-corporation 2 ปีที่แล้ว +1

      @@DevOpsToolkit thanks for you sharing about the kubectl. The idea of the kubectl is kick IT out of the process and reducing the effort on IT job. But in reality we still get control from IT so we have to pay for IT and also the cloud. When it come to company policy update or security update, It request these back to us to do their job because we are sub owner. To me that make kubectl idea is worsting idea ever

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว +1

      @@Dai-corporation kubectl is just a CLI that sends requests to KubeAPI. It's a helper tool and nothing more. We could do all the same actions by sending `curl` requests to KubeAPI. As such, I am not sure I understand how could kubectl "kick IT out of the process". As for reducing the effort... Aren't we all trying to reduce the effort? Isn't that the whole point?

    • @Dai-corporation
      @Dai-corporation 2 ปีที่แล้ว +1

      @@DevOpsToolkit i dont think that we are on the same page. I am talking about the idea and purpose of using kubectl.

    • @Dai-corporation
      @Dai-corporation 2 ปีที่แล้ว +1

      Kubectl is just a short way that I call the kubernestes :d. Sorry if that make you confuse.

  • @cooldan451
    @cooldan451 2 ปีที่แล้ว +1

    Thanks!

  • @talshalif6158
    @talshalif6158 2 ปีที่แล้ว +1

    Thanks