A Short Note on K8s Components

Hola! Fellow DevOps personnel here is a gist about the main components of the most popular tool, Kubernetes. Let me start with a brief intro to the tool.

K8s

Kubernetes is an open-source container orchestration tool and the most preferred orchestration platform for medium to large-scale applications. Applications in the sense, I refer to those built in a cloud-native fashion.

“No masterpiece can be built without involving some sort of modularization and so applies for an end-to-end functioning software. You need to chunk down your software idea into features and multiple engineers and designers need to work together on multiple programming languages, frameworks, and hell, a lot of tools! This scenario seems too ambiguous and if not handled appropriately, could add a lot of complexities day by day which is not such a vague circumstance in a microservices-based architecture though. Kubernetes solves a major part of this problem by orchestrating all the containers involved in a rhythmic fashion. Different developers use different programming languages for different features and so obviously the dependencies and frameworks are all contained and isolated as Docker containers(Docker is a widely used containerization platform among the rest in the market). After containerization, each feature remains as a closed box in itself and has to be put together to obtain an end-to-end software masterpiece.”

K8s, as it solves a big part of IT architectural problems, has many different components working cordially for achieving their purpose, vivifying the workflows and thereby invigorating the Engineers on the row!

Components are as follows:

  • Nodes
  • Pods
  • Services
  • External Service
  • Internal Service
  • Ingress
  • ConfigMaps
  • Secrets
  • Volumes
  • Deployments
  • StatefulSets

Nodes:

A node can be any server like a compute engine, EC2 instance, on-prem data center server, etc with an apt container runtime, kubeproxy and kubelet installed.

Pods:

“A pod is the smallest unit of K8s.” A pod is responsible for offering the appropriate application runtime environment for the workloads. Basically, a pod is an abstraction of containers. Many pods can run per node.

Services:

Every pod needs a static IP to it. By default, pods get IP addresses but are non-static and so regular. They use to fickle all the time. In order to introduce reliability and consistency to the running pods, services come into play.

External Services:

These are nothing but endpoints outbound and are totally insecure and without any defined DNS name.

Internal Services:

These are the inbound endpoints with similar entities like the one quoted above.

Ingress:

Real-time application usage is always pleased with predominantly defined FDQNs. Ingresses serve the purpose.

ConfigMaps:

Serves as a key-value data store for configuration files, environment variables, etc, and anything that fickles.

Secrets:

Same as the ConfigMaps but the purpose is intended only for usernames and passwords.

Volumes:

Volumes act as physical storage devices for the default hard drives and ensure data persistency.

Deployments:

Deployments are the blueprint for pods and every configuration in detail. They merely set the rule for entire cluster creation.

StatefulSets:

StatefulSets as the name indicates are for those stateful databases in the cluster.

Hope you had an informative read!

--

--

--

Optimist | Passionate DevOps Engineer | Cloud Technology Hunker

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

DEPLOYING WORDPRESS USIND AWS RDS AND KUBERNATES

31 days Challenge — Challenge completed!

Upcoming Trends in the SD-WAN, SASE and Multi-Cloud Space

Functional Error Handling in Flutter

Designing High Availability Architecture with AWS S3 & CloudFront Using AWS CLI

Learn Elixir — Module and Function/Method

Python is The Secret to Data Science Success! Find out why?

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Gokula Santhiya

Gokula Santhiya

Optimist | Passionate DevOps Engineer | Cloud Technology Hunker

More from Medium

Learn Kubernetes: Job — Create a parallel job

My k8s note. create deployment.

Kubernetes Networking Fundamentals

DevOps — Deployment strategies