1 of 5

Microsoft hackathon –�Multi-network Kubernetes

September 2023

2 of 5

Core API work

  • Implemented the core multi-network API
    • Added PodNetwork
    • Added PodNetworkAttachment
    • Changed PodSpec and PodStatus
  • Limitations
    • No controllers
    • Very limited validation
    • Status fields always just Ready

3 of 5

Multus implementation

  • New version of Multus
  • If no annotations in pod:
    • Read and follow PodNetwork / PodNetworkAnnotation links
    • Read NetAttachDef CRs linked from PodNetwork
    • Attach networks as if set in annotations
  • Limitations
    • Error handling / validation
    • Default network not implemented (just uses normal default CNI)
    • PodStatus fields not implemented (just writes annotations)
    • No Pod specific configuration through CR

4 of 5

Conclusion

  • What did we demo?
    • Using kubectl to manage the new resources and set fields in pods
    • Creating pods with various PN and PNA links
      • Using macvlan CNI for extra networks, with config in CRs
      • Demonstrated that extra network interfaces created and managed
  • What's next
    • API implementation code is a good basis for doing the KEP
    • Multus implementation might be worth pursuing

5 of 5

Resources