Kubernetes Tutorial – What is Kubernetes?

Kubernetes Tutorial For Beginners. In this blog post, we are providing information about What is Kubernetes, Kubernetes overview, and Kubernetes basics. This tutorial will help you to understand about Kubernetes. Let’s read now and happy learning.

Kubernetes Tutorial For Beginners

This tutorial provides a walkthrough of the basics of the Kubernetes cluster orchestration system. Each module contains some background information on major Kubernetes features and concepts and includes an interactive Kubernetes online tutorial.

What is Kubernetes?

Kubernetes is an open-source platform designed to automate deploying, scaling, and operating application containers. Kubernetes is an open source container management tool hosted by Cloud Native Computing Foundation (CNCF). This is also known as the enhanced version of Borg which was developed by Google to manage both long running processes and batch jobs, which was earlier handled by separate systems.

With Kubernetes, you are able to quickly and efficiently respond to customer demand:

  • Deploy your applications quickly and predictably.
  • Scale your applications on the fly.
  • Roll out new features seamlessly.
  • Limit hardware usage to required resources only.

Our goal is to foster an ecosystem of components and tools that relieve the burden of running applications in public and private clouds.

Related Article: Kubernetes Interview Questions

Kubernetes Tutorial – Features of Kubernetes

  1. Portable: public, private, hybrid, multi-cloud
  2. Extensible: modular, pluggable, hookable, composable
  3. Self-healing: auto-placement, auto-restart, auto-replication, auto-scaling

Why Kubernetes containers?

The Old Way to deploy applications was to install the applications on a host using the operating system package manager. This had the disadvantage of entangling the applications’ executables, configuration, libraries, and lifecycles with each other and with the host OS.

One could build immutable virtual-machine images in order to achieve predictable rollouts and rollbacks, but VMs are heavyweight and non-portable.

Related Article: Docker Interview Questions

Kubernetes containers
Kubernetes containers

Deployment Old Way Vs New Way

The New Way is to deploy containers based on operating-system-level virtualization rather than hardware virtualization. These containers are isolated from each other and from the host: they have their own filesystems, they can’t see each others’ processes, and their computational resource usage can be bounded.

They are easier to build than VMs, and because they are decoupled from the underlying infrastructure and from the host filesystem, they are portable across clouds and OS distributions.

Related Article: Ansible Interview Questions

Because containers are small and fast, one application can be packed in each container image. This one-to-one application-to-image relationship unlocks the full benefits of containers.

With containers, immutable container images can be created at build/release time rather than deployment time, since each application doesn’t need to be composed with the rest of the application stack, nor married to the production infrastructure environment.

Related Article: Jenkins Interview Questions

Generating container images at build/release time enables a consistent environment to be carried from development into production. Similarly, containers are vastly more transparent than VMs, which facilitates monitoring and management.

This is especially true when the containers’ process lifecycles are managed by the infrastructure rather than hidden by a process supervisor inside the container. Finally, with a single application per container, managing the containers becomes tantamount to managing deployment of the application.

Kubernetes Tutorial – Benefits of Containers

  • Agile application creation and deployment: Increased ease and efficiency of container image creation compared to VM image use.
  • Continuous development, integration, and deployment: Provides for reliable and frequent container image build and deployment with quick and easy rollbacks (due to image immutability).

Related Article: Google Container Engine Interview Questions

  • Dev and Ops separation of concerns: Create application container images at build/release time rather than deployment time, thereby decoupling applications from infrastructure.
  • Environmental consistency across development, testing, and production: Runs the same on a laptop as it does in the cloud.
  • Cloud and OS distribution portability: Runs on Ubuntu, RHEL, CoreOS, on-prem, Google Kubernetes Engine, and anywhere else.
  • Application-centric management: Raises the level of abstraction from running an OS on virtual hardware to run an application on an OS using logical resources.

Related Article: AWS Interview Questions

  • Loosely coupled, distributed, elastic, liberated micro-services: Applications are broken into smaller, independent pieces and can be deployed and managed dynamically – not a fat monolithic stack running on one big single-purpose machine.
  • Resource isolation: Predictable application performance.
  • Resource utilization: High efficiency and density.

Why do we need Kubernetes?

At a minimum, Kubernetes can schedule and run application containers on clusters of physical or virtual machines. However, Kubernetes also allows developers to ‘cut the cord’ to physical and virtual machines, moving from a host-centric infrastructure to a container-centric infrastructure, which provides the full advantages and benefits inherent to containers.

Kubernetes provides the infrastructure to build a truly container-centric development environment. Kubernetes satisfies a number of common needs of applications running in production.

Related Article: Devops Interview Questions

Benefits of Kubernetes

  1. Co-locating helper processes, facilitating composite applications and preserving the one-application-per-container model
  2. Mounting storage systems
  3. Distributing secrets
  4. Checking application health
  5. Replicating application instances
  6. Using Horizontal Pod Autoscaling
  7. Naming and discovering
  8. Balancing loads
  9. Rolling updates
  10. Monitoring resources
  11. Accessing and ingesting logs
  12. Debugging applications
  13. Providing authentication and authorization

This provides the simplicity of Platform as a Service (PaaS) with the flexibility of Infrastructure as a Service (IaaS), and facilitates portability across infrastructure providers.

Also Read: Talend Interview Questions

What does Kubernetes mean? K8s?

The name Kubernetes originates from Greek, meaning helmsman or pilot, and is the root of the governor and cybernetic. K8s is an abbreviation derived by replacing the 8 letters “ubernete” with “8”.

Read: Kuernetes Interview Questions And Answers

Want to learn Kubernetes from industry experts?

Get register for a FREE demo on Kubernetes TrainingContact us.

Leave a Comment