What The Heck Are Kubernetes Resources, CRs, CRDs, Operators, etc.?

Sdílet
Vložit
  • čas přidán 17. 05. 2024
  • Today we delve into the world of Kubernetes resources, Custom Resources (CRs), Custom Resource Definitions (CRDs), and Operators. Learn how these work together.
    #kubernetes
    Consider joining the channel: / devopstoolkit
    ▬▬▬▬▬▬ 🔗 Additional Info 🔗 ▬▬▬▬▬▬
    🔗 Cast AI: cast.ai/devopstoolkit
    ▬▬▬▬▬▬ 💰 Sponsoships 💰 ▬▬▬▬▬▬
    If you are interested in sponsoring this channel, please use calendar.app.google/Q9eaDUHN8... 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
    ▬▬▬▬▬▬ 🚀 Other Channels 🚀 ▬▬▬▬▬▬
    🎤 Podcast: www.devopsparadox.com/
    💬 Live streams: / devopsparadox
    ▬▬▬▬▬▬ ⏱ Timecodes ⏱ ▬▬▬▬▬▬
    00:00 What are Kubernetes resources, CRs, CRDs, and operators?
    03:26 Sponsor: CAST AI
    04:05 What are Kubernetes resources, CRs, CRDs, and operators? (cont.)
  • Věda a technologie

Komentáře • 39

  • @DevOpsToolkit
    @DevOpsToolkit  Před 7 měsíci +3

    What do you use Kubernetes for?

    • @Luther_Luffeigh
      @Luther_Luffeigh Před 7 měsíci +2

      All of the above.
      I’d like to know why when you delete a CRD, k8s also deletes all child CRs and resources that depend/reference that CRD?

    • @DevOpsToolkit
      @DevOpsToolkit  Před 7 měsíci +6

      ​@@Luther_LuffeighKubernetes does not allow CRs that do not have a registered schema (CRD). So, when you delete a CRD, all CRs are deleted as well. Think of it as CRD being a DB table and CRs being data in that table. Once the table is gone, there is no place for that data so data is gone as well. Now, whether a child CR will be deleted when the parent CR (not CRD) is deleted depends on the relation between the two. For example, if you delete a Deployment, ReplicaSets it manages are deleted as well. That is not necessarily true for all CRs (or KRs). Crossplane, for example, allows you to select a strategy that keeps child resources intact when parents are deleted.

    • @LuckieLordie
      @LuckieLordie Před 7 měsíci +1

      At work we run all of our workloads on kubernetes. Our team specifically has developed our own CRDs and Controllers to provision our AWS resources!

    • @Luther_Luffeigh
      @Luther_Luffeigh Před 7 měsíci +1

      @@DevOpsToolkit thank you for the explanation, yeah thinking of CRDs as DB tables helps grasping the concept!

    • @DevOpsToolkit
      @DevOpsToolkit  Před 7 měsíci +1

      That sounds great@@LuckieLordie

  • @fenarRH
    @fenarRH Před 7 měsíci +6

    Imho; helm is a good start point for day0 ops , when your appstack gets more complex and you want some of the appstack ops have autonomous abilities on cluster-side you shall invest in crd & operators.

  • @ashseth7885
    @ashseth7885 Před 7 měsíci +5

    Very useful video. Please make video soon with an example to use crd, controller etc.
    I want to really thank you for all the videos. It had really helped me learning kubernetes.

  • @microst99
    @microst99 Před 7 měsíci +7

    dat thumbnail, bruhh 😂

  • @IvanRizzante
    @IvanRizzante Před 7 měsíci +3

    Thanks for another great explaination video! We use Kubernetes to deploy our applications throughout their journey from development to production, in our case not using operators/CRDs for the application itself but for infrastructure using Crossplane

  • @MuthaNagavamsi
    @MuthaNagavamsi Před 4 měsíci +3

    Just wow. You are such a great teacher.
    Thank you for this wonderful video. I now understand a bit about CRDs. I will dig deep and explore more.

  • @davidgold594
    @davidgold594 Před 4 měsíci

    Fantastic explanation! Thank you.

  • @rodoherty1
    @rodoherty1 Před 7 měsíci +1

    Fantastic explanation, Victor!

  • @franssjostrom719
    @franssjostrom719 Před 7 měsíci +3

    I am starting my career as an operations engineer with Kubernetes clusters, your videos are the torch that is guiding me through the Kubernetes jungle 🦋🦁
    Would love to see a breakdown of your monitoring stack 🎉

    • @DevOpsToolkit
      @DevOpsToolkit  Před 7 měsíci +1

      We'll go through the whole CNCF observability stack in "You Choose!" (czcams.com/play/PLyicRj904Z9-FzCPvGpVHgRQVYJpVmx3Z.html). The next chapter is about security and the one after that is about observability. In the mean time, while preparing for that, I'll probably release a few videos around that area. The bad news is that all that will likely start no earlier than January 2024.

    • @franssjostrom719
      @franssjostrom719 Před 7 měsíci +1

      @@DevOpsToolkit Take your time! Your videos are gold, do not want you to burn out. Looking forward to see both the security and observability videos :)

  • @tyronefrielinghaus3467
    @tyronefrielinghaus3467 Před 2 měsíci +2

    That was VERY GOOD..well explained, and in a clear, unambigous way...anticipating confusion points. And is a really engaging way too. Subscribed now!

  • @robertkerr229
    @robertkerr229 Před 7 měsíci +2

    Terrific explanation. I don't use Kubernetes yet. Instead have monoliths in traditional infrastructure: vSphere, VMs, AVI. Would like to remodel my IAC (Packer Terraform Ansible InSpec) and potentially manage VMs with Kubernetes.

  • @gauravpande7746
    @gauravpande7746 Před 7 měsíci +3

    So based on your explanation of this video next thing is how do we create These CRD's , operators etc... ? Where should we start with?

    • @DevOpsToolkit
      @DevOpsToolkit  Před 7 měsíci

      You can write them from scratch. That's great for vendors, but not necessarily for end users. Whenever possible, i prefer simpler approach with Crossplane, KubeVela, Metacontroller, etc. Those tools might not say explicitly that they are creating CRDs and controllers, but that's what they really do.
      P.S. I am heavily vested in crossplane, but I'm trying to be objective on this channel. I often use crossplane in examples, but there are many others you can use.

    • @gauravpande7746
      @gauravpande7746 Před 7 měsíci +1

      @@DevOpsToolkit okay so how to write them from scratch?

    • @DevOpsToolkit
      @DevOpsToolkit  Před 7 měsíci +1

      @gauravpande7746 kubernetes.io/docs/concepts/extend-kubernetes/operator/ is probably a good starting point.

  • @MarkTellier
    @MarkTellier Před 4 měsíci +1

    Thank you for this excellent explanation Victor!

  • @denisbaryshev-ho8ub
    @denisbaryshev-ho8ub Před 7 měsíci +4

    Brliant and very motivating to work in a kubernetes native way. Thank you! I really admire how Victor is able to explain difficult things the way that they look very simple. Are they these indeed difficult things, aren't they;)
    @DevOpsToolkit Victor, you've already revealed that operators are awesome. I just wonder, maybe you've got plans to show some practice. Personally, I'm interested in how to search and deploy oss operators, maybe using olm operator lifecycle manger and things that are available as oss. Could this be a topic?

  • @walk_with_anshuman
    @walk_with_anshuman Před 2 měsíci +1

    You rock!!
    Thanks for putting out quality stuff!!

  • @MrGenbu
    @MrGenbu Před 2 měsíci +1

    genius with your explanation as always

  • @user-fy5jk4nc4w
    @user-fy5jk4nc4w Před 7 měsíci +1

    Respect and reverence (in Russian uvazuha) to you for this informative video!

  • @martinpetersson6979
    @martinpetersson6979 Před 6 měsíci +1

    please create a video about the new api gateway feature :)

    • @DevOpsToolkit
      @DevOpsToolkit  Před 6 měsíci

      Something like Gateway API - Ingress And Service Mesh Spec Replacement?
      czcams.com/video/YAtXTI3NKtI/video.html

  • @rikschaaf
    @rikschaaf Před 7 měsíci +1

    Couldn't you technically create helm chart-like CRs with a controller that processes these charts? helm charts are mostly yaml after all.

    • @DevOpsToolkit
      @DevOpsToolkit  Před 7 měsíci +1

      You can. A controller can be anything you want it to be. It listens to events related to specific CRs, uses those CRs are input, and does whatever it should do. That can be a conversion of that CR to the Helm values file and then `helm update --install` as long as it has permission to perform those actions against the API.

  • @zenobikraweznick
    @zenobikraweznick Před 7 měsíci +1

    So... you're saying I don't need docker compose now ? Never !!!

    • @DevOpsToolkit
      @DevOpsToolkit  Před 7 měsíci +1

      If you moved your workloads to kubernetes, that was the moment you stopped needing Compose.

    • @zenobikraweznick
      @zenobikraweznick Před 7 měsíci +1

      @@DevOpsToolkit Hey, I'm just fooling around :)

    • @DevOpsToolkit
      @DevOpsToolkit  Před 7 měsíci

      It's hard to tell since many do ask that question seriously.