Written By devopscube | Last Updated On May 30, 2019
Official kubernetes (k8s) website says,
Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery. Kubernetes builds upon 15 years of experience of running production workloads at Google, combined with best-of-breed ideas and practices from the community.
As the definition says, Kubernetes or k8s is an open source orchestration and cluster management for container-based applications.
Why we need Kubernetes?
The first question when it comes to Kubernetes or a container orchestrator is that, why we need it. Let’s understand it two examples.
Example 1: Container Deployments
Let’s say you have a couple of java application. You can package it into a container and run it on a server containing docker. For this scenario, there is no complexity. You just package your application into a Docker image using Dockerfile and expose a port on a host for the external world to access it. The only downside is that it is a single point of failure if the server goes down. You need an efficient mechanism to handle a single point of failure. This is why you need container orchestration tool like Kubernetes.
Example 2: Microservices Deployment
Now, let’s say, you have a big application which is composed of microservices (APIs, UI, user management, credit card transaction system, etc). All these microservice components have to talk to each other using REST or other protocols. As the application has many components or microservices, we cannot pack all the service into one server or a container. The application has to be decoupled and each microservice should be deployed and scaled on its own. This makes the application development and deployment easier and faster.
In this scenario, the complexity lies in networking, shared file system, load balancing, and service discovery. Here is where kubernetes comes in to picture. It makes all the complex process in a manageable way. Using kubernetes you just have to worry about your application development and deployments. All heavy lifting like networking, load balancing, resource scheduling, scalability and high availability will be taken care by kubernetes.
We have listed down a list of tutorials that you can use to get started with kubernetes. This is a growing list.
- The Illustrated Children’s Guide to Kubernetes
- Kubernetes Architecture Explained
- Kubernetes Deployment Tutorial For Beginners
- Kubernetes Ingress Tutorial For Beginners
- How To Set Up Ingress On Kubernetes Using Nginx Controller
- How To Create Kubernetes Jobs/Cron Jobs
- How To Setup Prometheus Monitoring On Kubernetes Cluster
- Setting Up Alert Manager On Kubernetes
- Setup Latest Nexus OSS On Kubernetes
- How To Install And Configure Helm for Kubernetes Deployment
- Kubernetes Certification Tips From A Kubernetes Certified Administrator
- Kubernetes Certification Coupon: 16% Off + $100 Off On Kubernetes Course Bundle
Related Online Courses:
- Kubernetes Tutorials From LinkedIn Learning [Check Free LinkedIn Learning Account]
- Getting Started with Kubernetes [Check Pluralsight Free Access]
Subscribe to our mailing list to keep updated on our latest kubernetes tutorials.