Henry Du Blog

think digital, act analog

Cilium: K8S Service Load Balancing - Part 2

Cilium’s service LB based on eBPF/XDP The first part introduced K8S service. Now, we can focus on Cilium’s service LB based on eBPF/XDP. Cilium agent Cilium service LB implements data path for all K8s service types via BPF. cilium-agent on each node watches kube-apiserver. cilium-agent observes the changes in K8S service. cilium-agent dynamically update BPF configuration according to changes in K8S service. As the diagram shown above, there are two components realized the service

Cilium: K8S Service Load Balancing - Part 1

Cilium: K8S Service Load Balancing - Part 1 This blog is my reading note when I read K8S Service Load Balancing with BPF & XDP, presented by Daniel Borkmann and Martynas Pumputis in Linux Plumbers Conference. Kubernetes Networking Basic I have summarized kubernetes network feature when I introduced Flannel CNI. Kubenetes network is a flat network in the sense that each pod must be reachable by its IP address within a cluster.

Add Subtract Coding Problem

Add Subtract Coding Problem Problem Write a function addSubtract to meet the requirement that, it will alternately adds and subtracts carried parameters. For example: add_subtract(7) -> 7 add_subtract(1)(2)(3) -> 1 + 2 - 3 -> 0 add_subtract(-5)(10)(3)(9) -> -5 + 10 - 3 + 9 -> 11 Solution The idea is to have a addSubtract struct to keep tracking the last add/subtract result and the count of function calls. If the count is even number, then use subtract operation, otherwise, use add operation.

Using the Kea DHCP Server 5

Using KEA DHCP Webinar part 5 This blog is a study note of using Kea DHCP Webinar 05. It introduced Stork monitoring tool, logging and performance test tool, very briefly. Stork Monitoring Stork is a graphic dashboard for Kea DHCP server. It monitors Kea and Kea HA state. It alerts failures, fault conditions and other unwanted events. However, it is under active development. Stork can be installed to various platforms, including Ubuntu, Fedora and RedHat.

K3S Supports CNI and Flannel Plugin

K3S Supports Container Network Interface (CNI) and Flannel Introduction Kubernetes network provide the following features: Pods can communicate directly with all other pods on all nodes (no NAT). All nodes agents can communicate with other pods on all nodes (no NAT). The IP that a container sees itself as is the same IP that others see it as. This article explains how every pod is assigned an IP address managed by K3S.