applications to execute code in Linux kernel space. • eBPF can run sandboxed programs in the Linux kernel without changing kernel source code or loading kernel modules. • Several complex components are involved in the functioning of eBPF programs and their execution.
to the original ("classic") BPF (cBPF) used to filter network packets. • Linux kernel runs eBPF only and loaded cBPF bytecode is transparently translated into an eBPF representation in the kernel before program execution. • eBPF programs can be attached to different events: ◦ Kprobes, tracepoints, uprobes, sockets, cgroup_filters, etc.
place to implement observability, security, and networking functionality due to the kernel’s privileged ability to oversee and control the entire system. • At the same time, Kernel is hard to evolve due to its central role and high requirement towards stability and security. The rate of innovation at the operating system level has thus traditionally been lower compared to functionality implemented outside of the operating system.
made by recreating and updating all rules in a single transaction. • Implements chains of rules as a linked list, so all operations are O(n). • The standard practice of implementing access control lists (ACLs) as implemented by iptables was to use sequential list of rules. • It’s based on matching IPs and ports, not aware about L7 protocols.
policy is always on in clusters with GKE Dataplane V2. You don't have to install and manage third-party software add-ons such as Calico to enforce network policy. • Scalability ◦ GKE Dataplane V2 is implemented without kube-proxy and does not rely on iptables for service routing. This removes a major bottleneck for scaling Kubernetes services in very large clusters. • Operations ◦ When you create a cluster with GKE Dataplane V2, network policy logging is built in. Configure the logging CRD on your cluster to see when connections are allowed and denied by your Pods. • Consistency ◦ GKE Dataplane V2 is available and provides the same features on GKE and on other Anthos clusters environments.
only be enabled when creating a new cluster. Existing clusters cannot be upgraded to use GKE Dataplane V2 (at the moment) • Not all cilium configuration are supported by GKE Dataplane V2 • https://cloud.google.com/kubernetes-engine/docs/concepts/dataplane-v2#limitations