Kubernetes Networking Solutions Overview

Kubernetes networking involves a lot of details. We discuss some CNI plugins in this post. The most basic mode is kubenet. We use –network-plugin=kubenet with kubelet process to use it. Kubenet is not a CNI plugin, but it works with bridge, lo and host-local (CNI-compliant implementations). We can directly specify MTU with –network-plugin-mtu. Kubenet is … Read moreKubernetes Networking Solutions Overview

Kubernetes Storage Explained – from in-tree plugin to CSI

To support a variety of storage backend, Kubernetes abstract storage issues with several objects (volume, persistent volume, persistent volume claim, storage class) and adopts container storage interface. Unfortunately, the documents are not very well organized to deliver the idea of these concepts, most likely because features are introduced at very different times. Hence this article. … Read moreKubernetes Storage Explained – from in-tree plugin to CSI

Docker storage

Microservices are all about stateless and ephemeral workloads, and containers are great microservices. This may suggest that that Docker is all about ephemeral storage. In fact, Docker supports both non-persistent and persistent storage, such as database, kafka, etc. Non-persistent storage is automatically created, alongside the container and is tied to the lifecycle of the container. … Read moreDocker storage

Docker components

The previous post about virtualization and containerization brought up some underlying technologies which Docker build containers on, including: namespaces – a Linux kernel mechanism to isolate resources. It allows a process to run within an isolated environment (mnt, pid, net, ipt, uts, user, cgroup) cgroups – a Linux kernel mechanism to limit resource usage of … Read moreDocker components

Host legacy application in Docker 2 of 2

My previous notes include some tricks in hosting legacy application in docker. This is a continuation from that work, after 1.5 months… Use Case I decided to use docker to host application for a good reason, and let me start with what this Java-based application does as a single process. When it is up it … Read moreHost legacy application in Docker 2 of 2

Host legacy application in Docker 1 of 2

This is my notes from containerizing a legacy application with Docker compose. We have to run multiple instances of our application because we’re unable to secure additional VMs for this single-VM education environment. The application is target of containerization, because it requires mass reconfiguration (around TCP port) to run multiple instances of the application. We … Read moreHost legacy application in Docker 1 of 2