Linkerd


* rust based data plane is  pretty light

* We can use any Ingress Controllers (IC) with Linkerd. IC are based on (1) NGINX (2) Envoy (2) HA Proxy. NGINX IC has Mister-Minion model

* security : authz policy, mTLS 

* intra cluster URL. So no need to go to LB for intra cluster. 

* Gateway API (GW-API) integration

* 1.17 Linkerd has many new features.

* canary deployment



Object Store for Vector DB app


github.com/thotz/python-vectordbapp-ceph

It can search image and text both

it uses RGW bucket and in-memory channel

CR has embedded function

CR is per bucket

CR is matched with milvus collection like, vector dimensions, index type, vector metric, staticjk schema 

Data Plane Technologies for Load Balancer


LB has many features

These features are supported by data plane technologies

data plane has many technologies, including open source. 

1. eBPF : 

2. VPP

- L2-L4 n/w

- graph based network

- fast lookup

DPDK : 

- latency reduce by bypassing kernel space

- large page and pool.

1. eBPF - XDP model

2. VPP-DPDK model




KubeCon 2024 India. Keynotes


Announcement
=========
  • Upcoming KCDs

1. April, 2025 at  Chennai

2. June, 2025 at  Bangalore

  • Kubestronaut : Takeoffs begin in 2025. In this announcement, India's map was incorrect. 

  • Upcoming KubeCon and CloudNativeCon

Hydrabad August 6 to 7 , 2025

LF Networking will be launched in phase 1 under LF India

=============================================================

Takeaway points : Flipkart

Ambient proxy is better. Sidecar cannot scale as per pod's TPS, Fan out etc. 

For PaaS Controller is better than Helm to deploy

=============================================================

Takeaway points : 

  • K8s is everywhere
  • Nothing is complete with AI
  • Starching the limits of K8s

=============================================================

2013 Docker: Now developer cannot say: "It works on my machine"
2014 K8s:
2015 K8s Declarative model
Great power comes with great responsibility
2016 tools : Prometheus, Istio, Helm, Argo CICD
2017 Cloud based managed K8s
2018 Observability
2019 Serverless
2020 Multicloud 
2021 Software Supply Chain, CICD, SBM like Zynga game
2022 AI : Kubeflow
2023 Platform Engineering. 
2024 WA, eBPF and ....
2025 Tackle Complexity and cost

Cloud Native Complexity 
Linux moment of K8s. Linux is complex. But we do not face issues like K8s
Backstage : Internal development platform: declarative, automation, extendable 

Cost 
OpenCost : Data driven ruthless optimization 
Cluster Autoscaler (CA)'s Priority Expander : It creates scaling group based on priority
Karpenter : Which node, how many and what size node to be added

eBPF


  1.  eBPF programme in C, Rust or other programming languages. 
  2. Compiler converts it to bytecode (obj file)
  3. Application pass this OBJ to kernel using  eBPF library
  4. Kernel verifies it
  5. When event happens the program runs


  1.  eBPF programme in C, Rust or other programming languages. 
  2. Compiler converts it to bytecode (obj file)
  3. Application pass this OBJ to kernel using  eBPF library
  4. Kernel verifies it
  5. JIT compiler converts byte code to machine code
  6. When event happens the program runs

  1.  eBPF programme in C, Rust or other programming languages. 
  2. Compiler converts it to bytecode (obj file)
  3. Application pass this OBJ to kernel using  eBPF library
  4. Kernel verifies it
  5. JIT compiler converts byte code to machine code
  6. When event happens the program runs
  7. Multiple eBPF programs can access eBPF map at Kernel space
    1. Userspace App load config to map
    2. eBPF program pull config from map
    3. eBPF program sends metrics to map
    4. eBPF program stores/retrieve data from/to map
    5. eBPF map can store state in eBPF program
Different types of map
  • BPF_TABLE
  • BPF_HASH
  • BPF_ARRAY
  • BPF_HISTOGRAM
  • BPF_PERF_ARRAY
  1.  eBPF programme in C, Rust or other programming languages. 
  2. Compiler converts it to bytecode (obj file)
  3. Application pass this OBJ to kernel using  eBPF library
  4. Kernel verifies it
  5. JIT compiler converts byte code to machine code
  6. When event happens the program runs
  7. Multiple eBPF programs can access eBPF map at Kernel space
    1. Userspace App load config to map
    2. eBPF program pull config from map
    3. eBPF program sends metrics to map
    4. eBPF program stores/retrieve data from/to map
    5. eBPF map can store state in eBPF program
Different types of map
  • BPF_TABLE
  • BPF_HASH
  • BPF_ARRAY
  • BPF_HISTOGRAM
  • BPF_PERF_ARRAY
  1. eBPF program can call Kernel function (eBPF helper) 

UseCases

* Networking
- side car container networking by Cilium CNI

* Performance / Tracing (observability) 
- Hubble Network, Service & Security Observability for Kubernetes GitHub - cilium/hubble: Hubble - Network, Service & Security Observability for Kubernetes using eBPF

* Security examples along with Linux Security Modules (LSM)
- Falco http://layers7.blogspot.com/2021/12/7-workload-considerations-falco.html 
- Tetragon https://tetragon.io/
- Tracee https://layers7.blogspot.com/2021/11/7-workload-considerations-tracee.html


eBPF "Compile Once — Run Everywhere" (CO-RE) leverages BPF Type Format (BTF) : portable programs acorss kernel versions. 


Reference:


Other References: