Home Kubernetes Kubernetes Architecture

Kubernetes Architecture

by Editorial Staff

Kubernetes Cluster Creation:

  • There are multiple ways to create a cluster.

Following are the few ways to do that:

  • Minikube
  • Kubeadm
  • Kops
  • Installing through Binaries
  • Managed Kubernetes cluster(Ex GXE, AKS, EKS)
  • We will be going through creating a X85 Cluster using Kubeadm
  • Smaller than VMs-Container images can be measured in megabytes, not gigabytes.
  • . All of these add up to faster and simpler automation!

Limitations of Containers:

These are some limitations of containers

  • Less flexibility than VMS-You can’t run a Windows container on a Linux machine (yet).
  • Introduces new challenges around this area.

Docker Introduction:

  • Docker is a platform for developers and sys admins to develop ship and run applications by using containers.
  • This means that Docker is a piece of software that is designed to implement and support containers.
  • . Docker is primarily a container runtime.
  • At its core, Docker allows you to run containers on systems. It also offers a variety of tools for creating and managing containers and container images.
  • It is currently the industry leader in container runtimes.
  • Other CRT’s are rkt, container, pod man.

Container Vs Image:

Image is a package or a template just like a VM template it is used to create one or more containers.

To enable SSH password authentication, you must SSH in as root to edit this file:

/etc/ssh/sshd_config

PasswordAuthentication yes

sudo service ssh restart

Note: if we don’t want to give the user the full sudo access, rather want to provide him only access to docker execute the below command.

sudo usermod-aG docker $USER

Docker Architecture:

  • Dockerd and Docker Engine are synonyms, both are the same.
  • Docker uses Client-Server architecture.
  • We will be looking at the Docker architecture and core components of a docker engine.
  • Docker was first released to the public in 2013.
  • The Docker Engine consists of Docker Daemon, the REST API and Docker CLI.
  • The Docker Daemon, is the actual server or process that is responsible for creating and managing objects, such as images, containers, volumes, and networks on a host.
  • The Docker CLI, is the command line interface that we run commands to manage objects in Docker.
  • The REST API provides an interface to manage objects in Docker.

How does Docker manage containers on a host?

So what are Containers ?:

Before going to containers, lets understand VM’s and the history:

  • Containers are all about portable software.
  • They are a technology that allows you to run software on a variety of systems, including a developer’s laptop, all the way to a production system.
  • This speeds up deployment, simplifies automation and ensures your code can run consistently in production, as well as everywhere else!
  • Like virtual machines, containers wrap your software in a standardised environment that allows it to run consistently on varied machines.
  • But containers are smaller, use fewer resources, and are easier to automate than virtual machines.

Containers are completely isolated environments that can have their own services, processes network interfaces their own mounts just like VM’s, except they all share the same OS kernel.

The major difference b/w vm and container is Um’s have a full blown OS, whereas containers are isolated areas don’t have full blown OS).

Since containers are an isolated area. what’s happening on one container can reflect on another container.

Each container have there own below components:

  1. CPU
  2. RAM
  3. Storage
  4. Network (ip address)
  • Images are built using the docker image build command
  • The build is run by docker daemon.
  • The docker daemon runs the instructions in the Dockerfile one-by-one, committing the result of each instruction to a new image if necessary, before outputting the ID of your new image.

 e-Dockerfile Instructions:

  • FROM: Inimalises a new build stage and sets the Base Image
  • RUN: Will execute any commands in a new layer
  • CMD: Provides a default for an executing container.

There can only be one CMD instruction in a Dockerfile

  • LABEL: Adds metadata to an image
  • EXPOSE: Informs Docker that the container listens on the specified network ports at runtime
  • ENV: Sets the environment vanable <key> to the value <value>
  • ADD: Copies new files, directories, Untar the tar files directories or remote file URLs from care and adds them to the hiesystem of the image at the path <dest>
  • COPY: Copies new files or directories from <src> and adds them to the file system of the container at the path <dest>

You may also like

Leave a Comment

Contact US

Phone Number

+91 XXXXX XXXXX

Location

2nd floor, # 85, SGR Dental College Rd, Marathahalli, Bengaluru, Karnataka 560037

Email Address

contact@dbacentre.com

    dbacentre.com is a website that publishes practical and helpful out-of-the-box articles for aspirants like you and me. In addition, we seek to present exceptional, remarkable tutorials and tips that modern cloud professionals will appreciate.

     

    Subscribe now

    Edtior's Picks

    by mukilan
    Sql
    by mukilan

    ©2023 Mr DBA CENTRE. All Right Reserved. Designed and Developed by Begintech.in