Virtualization enables multi-tenancy, and containerization takes it further. Container allows us to run many more service processes than we used to be able to.
Containers run on a platform of its own. Releasing and operating a containerized application involves a bit more work due to the introduction of the container platform sitting between the application and the operating systems.
Kubernetes has emerged as the de-facto standard of container platform. Building a Kubernetes cluster with a cloud service provider requires configuring a number of disjointed services to work together. A functional and scalable cluster is the foundation of a robust container platform. Make sure the design of Kubernetes cluster is solid.
Kubernetes was designed around the idea that Pods are ephemeral and so are their attached storage volumes. Now Kubernetes supports persistent storage but there are many nuances to consider before landing on a CSI-based storage solution.
Containerization favours microservice architecture. Cluster design needs to decides on a CNI to enable Pod-to-pod communication. Further, a container platform needs to address application networking requirement using network policy, service mesh or similar technologies.
Cloud Native Workload
CNCF promotes its own ecosystem for cloud native workload. Teams who move their applications to Kubernetes platform often have to reconsider the associated toolings. These teams need extensive investigation of available cloud native toolings.
More on Container Platform
- 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… ... 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… ... 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… ... 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… ... 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.… ... Read moreHost legacy application in Docker 2 of 2
Contact Digi Hunch for Professional Services.