Foundationপ্রথম নীতি থেকে
LEVEL 12 · Virtualization, Containers & Cloud

CNI

সিএনআই

Container Network Interface — একটা standard contract যা দিয়ে container runtime networking সেটআপের দায়িত্ব pluggable বহিরাগত plugin binary-র কাছে delegate করে।

also: container network interface

stdin:  JSON network config (type, subnet, ipam, ...)
env:    CNI_COMMAND=ADD  CNI_NETNS=/var/run/netns/<id>  CNI_IFNAME=eth0
stdout: JSON result (interfaces, ips, routes)
  • plugin-এর দায়িত্ব: veth pair তৈরি, namespace-এ move, bridge/overlay-তে সংযুক্তি, IP বরাদ্দ, routing/NAT বসানো
  • runtime শুধু plugin ডাকতে জানে — বাস্তবায়ন (bridge? BGP? eBPF?) সম্পূর্ণ অস্বচ্ছ ও প্রতিস্থাপনযোগ্য
  • Kubernetes-এর Calico, Flannel, Cilium — সবাই একই CNI contract-এর ভিন্ন বাস্তবায়ন, তাই কোনো core কোড না বদলেই সুইচযোগ্য