Skip to main content

Posts

Showing posts with the label kubernetes

Cilium

  Cilium operates at L3/L4 to provide trasitional networking and security services It also works at L7 to provide application level servies like gRPC, HTTP, Kafka Cilium inserts itself in the kernel at Network IO Application Sockets and Tracepoints to implement security and visibility. Intelligent Routing Cilium can do more intelligent routing other than opening or blocking a port Allow all HTTP requests with method GET and path /public/.*. Deny all other requests. Allow service1 to produce on Kafka topic topic1 and service2 to consume on topic1. Reject all other Kafka messages. Require the HTTP header X-Token: [0-9]+ to be present in all REST calls. More examples of policies at  https://docs.cilium.io/en/stable/policy/#layer-7 Service to Service Communication

eBPF and Kubernetes

Scaling Kubernetes There are monitoring and logging systems, but its tough to monitor everything accurately in a distributed environment The Kubernetes cluster does not expose kernel level monitoring data Process/Service Specific Monitoring Since Kubernetes Service is essentially a process run by the linux Kernel With eBPF it is easy to monitor a specific process, so teams can monitor a process running across all of their infrastructure nodes. More granular than logs No special instrumentation needed unlike the sidecar pattern eBPF install a very small overhead Challenges There is no easy way to install eBPF on all nodes of the cluster, orchestration is a challenge, they can use Cilium like tools to get more visibility into their cluster though. References: https://searchitoperations.techtarget.com/answer/Why-and-how-to-use-eBPF-for-Kubernetes-scaling