Cello CNI vs kube-network-policies
Cello CNI
github.comkube-network-policies
kube-network-policies.sigs.k8s.ioSide by side
| Figure | Cello CNI | kube-network-policies |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Linux | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Container Networking Software | 7.9 (#6) | 8.1 (#4) |
| Installation | The README instructs users to configure Cello and install it with Helm 3.0 or later. | The quick start documents installation using raw Kubernetes manifests or Helm in the kube-system namespace. |
| License | Cello is distributed under the Apache 2.0 license. | The repository lists the Apache-2.0 license. |
| Purpose | Cello is a Kubernetes CNI plugin based on the Volcengine VPC network that lets cluster workloads communicate within the VPC. | A userspace implementation that enforces Kubernetes network policies by intercepting packets with Linux NFQUEUE. |
| Security reporting | The security policy asks reporters to contact ByteDance's security team or [email protected] and not file public GitHub issues for vulnerabilities. | The project directs users to the Kubernetes Security and Disclosure Information page to report vulnerabilities. |
| Support | The project directs questions and contributions to GitHub issues or pull requests and also mentions maintainer email and a Feishu group. | The repository README lists the Kubernetes Slack #sig-network channel and the sig-network mailing list for maintainers and community support. |
Plans
In their own words
kube-network-policies
kube-network-policies is a free, open-source userspace implementation of Kubernetes network policies for Linux. It uses Linux NFQUEUE and nftables to capture and evaluate network traffic in userspace. The project supports standard Kubernetes NetworkPolicy, AdminNetworkPolicy (ANP) and BaselineAdminNetworkPolicy (BANP). It can identify packets from pods targeted by active policies and capture those selectively; enabling ANP or BANP disables that optimization and diverts all node traffic to userspace for evaluation. Its documented evaluation pipeline checks logging, Admin Network Policy, standard NetworkPolicy, Baseline Admin Network Policy, then allows traffic by default. ANP and CNP can match external domain names using an in-memory cache of DNS A and AAAA answers. Structured JSON logs aid troubleshooting, and the PolicyEvaluator plugin pipeline can take custom validation logic. Installation instructions cover raw Kubernetes manifests and Helm. The local development setup uses KIND and lists Docker, KIND and kubectl as prerequisites. ANP or BANP also require experimental Network Policy API CRDs before deployment. The project lists an Apache-2.0 license and directs users to the Kubernetes #sig-network Slack channel and mailing list for maintainers.