DEV Community

Introduction to kubernetes

  • Kubernetes (K8s) is an open-source container orchestration engine developed by Google.
  • It was originally designed by Google, and is now maintained by the Cloud Native Computing Foundation

Image description

Architecture of Kubernetes:

Image description

Installation options:
1.Managed Kubernetes Service

  • Various providers like AWS, IBM, GCP and others provides managed Kubernetes clusters.
  • Most organizations prefer to make use of this approach.

2.Minikube

  • Minikube is a tool that makes it easy to run Kubernetes locally.
  • Minikube runs a single-node Kubernetes cluster inside a Virtual Machine (VM) on your laptop for users looking to try out Kubernetes or develop with it day-to-day.

Image description

3.Install & Configure Kubernetes Manually (Hard Way)
In this approach will install configure kubernetes components individually

Image description

Image description

Kubernetes follows a client-server architecture. There are two core pieces in a Kubernetes cluster - control plane and worker nodes.

The control plane is responsible for managing the state of the cluster. In production environments, the control plane usually runs on multiple nodes that span across several data center zones.

In other words, the control plane manages worker nodes and the containers running on them.

The containerized applications run in a Pod. Pods are the smallest deployable units in Kubernetes. A pod hosts one or more containers and provides shared storage and networking for those containers. Pods are created and managed by the Kubernetes control plane. They are the basic building blocks of Kubernetes applications.

Kubernetes Control Plane
The control plane is the brain of Kubernetes. It consists of various components that, together, make global decisions about the cluster. The control plane components run on multiple servers across availability zones to provide high availability.

The key components are:

  • Kubernetes API Server
  • Etcd
  • Kubernetes Scheduler
  • Kubernetes Controller Manager

Components to install
3.1 kubectl - CLI for running user commands against cluster.
3.2 kubernetes Master - Kubernetes cluster by itself
3.3 Worker Node Agents - Kubernetes Node Agent

Kubernetes POD

  • A Pod in Kubernetes represents a group of one or more application containers , and some shared resources for those containers.

Image description

Benefits of Pods:
Many application might have more then one container which are tightly coupled and in one-to-one
relationship.
● docker run -dt --name myweb01 function01
● docker run -dt --name myapp01 function02

Image description

Dealing with Tightly Coupled Application
Containers within a Pod share an IP address and port space, and can find each other via localhost.

Image description

Kubernetes POD

Image description

  • A Pod always runs on a Node.
  • A Node is a worker machine in Kubernetes.
  • Each Node is managed by the Master.
  • A Node can have multiple pods.

Kubernetes objects:

  • Kubernetes Objects is basically a record of intent that you pass on to the Kubernetes cluster.
  • Once you create the object, the Kubernetes system will constantly work to ensure that object exists

Image description

Approach to Configure an Object

There are various ways in which we can configure an Kubernetes Object.
● First approach is through the kubectl commands.
● Second approach is through configuration file written in YAML.

Image description

Installation Tools

Conclusion : Discussed about Introduction to kubernetes

💬 If you enjoyed reading this blog post and found it informative, please take a moment to share your thoughts by leaving a review and liking it 😀 and share this blog with ur friends and follow me in linkedin

Top comments (0)