Henry Du Blog

think digital, act analog

K8S Runtime: With or Without Docker

K8S Container Runtime Evolution With Docker In Kubernetes v1.20 release note, the major change is to deprecate dockershim, which means, K8S will never use Docker as container runtime. The Kubernetes community has written a blog post about this in detail. The docker runtime is just one component of Docker suite. Developers still use Docker to compile a docker image, and use docker hub to store docker images, as a docker image repository.

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

Running A Simple Operator in Minikube

Running A Simple Operator in Minikube Introduction You may have heard of Kubernetes operator pattern. Maybe you have worked on one of projects that has Custom Resource Definition (CRD). Custom resource definitions are cool things once you define your custom resource on Kubernetes by using YAML. The Kubernetes API server component will implement CRUD API for you automatically. Then, you can use powerful Kubernetes clients, such as kubectl to interact with your own resources managed by Kubernetes.

Kubernetes Creates Pods: Imperative vs Declarative

Kubernetes Creates Pods: Imperative vs Declarative Introduction Design and implementation microservices may have different approaches. During the design phase, we may need a quick proof of concept, or even multiple PoCs to compare. However, after we have a solid design, we may need to carefully plan how those microservices are working together in the cloud production. It demands us to specifically write Deployment, Service, ServiceAccount, ConfigMap etc. then, compile them to be a helm chart.

Minikube Docker Image Management

Minikube manage docker images Minikube Minikube is a tool that make it easily to run Kubernetes locally. Installing minikube is very naturally for MacOS. After install minikube, we can check minikube status > minikube status minikube type: Control Plane host: Running kubelet: Running apiserver: Running kubeconfig: Configured We also can list default minikube pods > kubectl get pods -n kube-system NAME READY STATUS RESTARTS AGE coredns-66bff467f8-lnt67 1/1 Running 0 10d etcd-minikube 1/1 Running 0 10d kube-apiserver-minikube 1/1 Running 0 10d kube-controller-manager-minikube 1/1 Running 0 10d kube-proxy-pqg98 1/1 Running 0 10d kube-scheduler-minikube 1/1 Running 0 10d storage-provisioner 1/1 Running 0 10d Create a nginx pod Let’s create a nginx service quickly