Let's read the Kubernetes source code

Sdílet
Vložit
  • čas přidán 23. 04. 2023
  • - github.com/kubernetes/kubernetes
    - kubernetes.io
  • Věda a technologie

Komentáře • 25

  • @hoxorious
    @hoxorious Před 10 měsíci +5

    Arguably one of the most underrated channels on CZcams. I enjoy your videos a lot. Keep up the good work 🙌

  • @angshuman2020
    @angshuman2020 Před 16 dny +1

    Chanced upon this video; added as a sub. Thanks for the effort! Please continue with such read-modify sessions.

  • @vienna5526
    @vienna5526 Před rokem +2

    Been looking forward to this. Thanks!

  • @vinylwarmth
    @vinylwarmth Před 8 měsíci +1

    Really enjoyed this thanks! You've got a new follower :D

  • @thiagoantunes9351
    @thiagoantunes9351 Před 18 dny

    That's gold content, thanks for sharing!

  • @xuanthanhtraninh642
    @xuanthanhtraninh642 Před měsícem

    Informative! Please keep making videos.

  • @bindass1000
    @bindass1000 Před 3 měsíci +1

    Great Stuff !! This is super helpful, keep going :)

  • @cariyaputta
    @cariyaputta Před měsícem +1

    Thanks. Super helpful.

  • @SurajYadav-xj1yf
    @SurajYadav-xj1yf Před 8 měsíci +1

    love this so much have been looking for these type of codebase explanatry videos for a long time. Can you do one for ArgoCD and other CNCF graduated project as well?

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

      Hey thanks! I've got you covered, I've done ArgoCD as well as a few other CNCF projects:
      - Argo CD: czcams.com/video/736T_fg3Kso/video.html
      - Flux CD: czcams.com/video/-3csoVQfBdQ/video.html
      - Envoy: czcams.com/video/ju-FLHfumJE/video.html
      - Cilium: czcams.com/video/t8O0VRbZoHs/video.html
      - And also eBPF: czcams.com/video/hznUH_zP77U/video.html
      If you have other suggestions from CNCF or elsewhere, let me know and I'll consider them!

    • @xuanthanhtraninh642
      @xuanthanhtraninh642 Před měsícem +1

      @@ants_are_everywhere Love your work. ❤❤👏👏

    • @ants_are_everywhere
      @ants_are_everywhere  Před měsícem

      @@xuanthanhtraninh642 Thank you!

  • @deathknight010
    @deathknight010 Před 11 měsíci +3

    Awesome Stuff. Thanks. How about Docker?

    • @ants_are_everywhere
      @ants_are_everywhere  Před 11 měsíci +5

      Great suggestion! Docker is on the list. I'm leaning toward doing cgroups first, though, because that's where the most interesting stuff is and because Docker seems to be losing its edge these days.

  • @dcode7225
    @dcode7225 Před 11 měsíci +1

    Extremely helpful videos, thanks a lot. Can you please point me to the file where pod / namespace and other K8s resources are getting created ? Please, would be very glad.

    • @ants_are_everywhere
      @ants_are_everywhere  Před 10 měsíci +1

      Hey thanks! I'd be happy to point you to a place in the code, but I think I'd need more info about what you're looking for. The basic idea is that objects are "created" by first writing an intent to etcd, and then having an actuation loop pick up that intent to change the cluster state. The "pod" itself is the desired state, as stored in etcd.
      The code that schedules pods to nodes is in pkg/scheduler/schedule.go.
      The actual physical creation of containers is handled by the kubelet on the node once the scheduler picks a node. Basically, Kubernetes makes a gRPC call to a container runtime (like containerd or Docker), and the runtime handles the actual creation. For the Kubernetes side of the code, check out
      - pkg/kubelet/container/runtime.go, and
      - pkg/kubelet/cri/remote/remote_runtime.go
      From there you can probably trace down the logic you're looking for.
      Namespaces I believe are just strings in etcd. Some of the stuff you're looking for may be in pkg/controller/namespace/namespace_controller.go.

  • @SaurabhSingh-me1ci
    @SaurabhSingh-me1ci Před rokem +4

    Read MySQL source code