Introduction to rust operators for Kubernetes

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

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

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

    Join our slack and let us know what you think join.slack.com/t/cloudnativeskunkworks/shared_invite/zt-1n7d9puoy-tKH7kEgTK74syR4JUkdK4g

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

      This link is no longer active
      To join this workspace, you’ll need to ask the person who originally invited you for a new link.

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

      @@herrwolken Sorry about that, try this one join.slack.com/t/cloudnativeskunkworks/shared_invite/zt-1qh1h3hx2-N3vtNTr3s0BajAZ43k2hiA

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

    I love kubernetes and rust.... this combined was amazing to see

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

    Great video. Rust is really great for writing operators

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

    Before controller-runtime, people use to manage CRDs via client-go in operators. I think this boils down to CRDs not having an IDL to work with. For a proper spec-driven development, it would be nice if there was an IDL(protobuf or something as simple as that). That'll truly make developing operators polyglot. We could then have the server-stub(Reconcile methods) and client code(CRD clients generated via code-generator) all coming off from the IDL-defined spec

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

      I think rust is also well suited to the async nature of operators more than golang in some respects, especially when defining futures or other await tasks that just a hassle to try and implement in a go routine.

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

    Thanks for the video. Always a great to watch your videos!
    I am not sure if I would went with applying the CRD in the code. I know it's a demo there is always room to improve or make it different in a "real" project.
    My idea would be some kind of codegen approach of defining a second binary in the Cargo.toml and linked to a new rustfile calling serde_yaml::to_string(&TopologySpec::crd()).unwrap()) in the main and write this to a yaml. Later apply this to the cluster so the operator is not creating CRDs in code.
    Again just an idea. :D

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

    Looks like there's an error on line 65
    let obs = watcher(topologys, ListParams::default()).applied_objects();
    You cannot receive Node updates by watching a Topology resource.
    The correct one might be:
    let obs = watcher(nodes, ListParams::default()).applied_objects();