Clement Chan
2 min readJan 6, 2021

--

Automate Application infrastructure — Kubernetes K8s

What is Kubernetes?

Open-source project by Google in 2014

Kubernetes, also known as K8s, is a tool for automated management of containerized applications, which also known as a container orchestration tool.

What is the benefit of using Kubernetes?

Automate your application infrastructure and make it easy to manage.

  • Zero downtime deployments
  • Provide facilities to implement CD practice
  • Support auto scaling
  • Redundancy and failover builin

What is a Container?

Containers wrap software in independent, portable packages, making it easy to ship and run the software in different environments.

In order to run the containerized application, there is the container runtime and Docker is one of the popular container runtime.

Why it is related to Microservices?

Microservices are small, independent services that work together to form a whole application.

Implementing microservices means deploying, scaling, and managing a lot of individual components. Kubernetes is a great tool for accomplishing all of this.

Important Kubernetes objects

Pod

  • Group of one or more containers with shared network/storage and a spec for how to run.

Replica Set

  • Ensures that a specified number of pod replicas are running at any given time.

Deployment

  • Describes a desired state and a deployment controller ensures that the state is maintained.

Service

  • Defines a logical set of pods and a policy by which to access them

Storage Class

  • Provides a way to describe a “class” of storage. Represents a persistent volume

Persistent Volume Claim

  • Abstractions of persistent volumes. A persistent volume is a piece of storage in the cluster.

Resource

Sample Microservice Application

https://github.com/instana/robot-shop

https://www.instana.com/blog/stans-robot-shop-sample-microservice-application/

  • A sample microservice application you can use as a sandbox to test and learn containerized application orchestration and monitoring techniques

Reference :

[1] https://www.docker.com/resources/what-container

[2] https://kubernetes.io/

[3] Linux academy

[4] Kubernetes and Docker swarm https://phoenixnap.com/blog/kubernetes-vs-docker-swarm#:~:text=Docker%20Swarm%20can%20deploy%20containers,times%20for%20scaling%20on%20demand.&text=By%20utilizing%20its%20own%20YAML,be%20used%20to%20define%20containers.

--

--