Kubernetes : Abs:Begginers : Section 1 Introduction : UDY:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
All Credits to the maker of this Udemy Video
https://www.udemy.com/course/learn-kubernetes/learn/lecture/9703196#overview
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
How to Access Labs as part of this course.
4 : Accessing the labs has the Coupon code you can refer to .
7. Container Overview
To understand Kubernetes we need to understand two things "Container + Orchestration"
What containers are ?
Specifically we will look at the most popular container technology out there called Dockers.
Why do we need containers ?
High level overview of why we need Docker and what it can do for you .
Containers are completely Isolated environments as they can have their own processes and services , there own networking interfaces .
Docker utilizes LXC containers . Setting up these containers is hard as they are very low level and that is where Docker offers a high level tool with several powerful functions making it really easy for end users like us.
All operating systems consists of two things "Kernel & a Set of software's" . The kernel is responsible for interaction with the underlining hardware .
Shall document this later as this is normal stuff.
-- docker run ansible -- will run an instance of Ansible in docker host .
-- docker run mongodb -- will run an instance for mongodb
When you run node.js run it in the node.js repository
Images and Containers
Image is a package or a template just like a VM template like you might have worked in the virtualization world . It is used to create one or more containers . Containers are running instances of image that are Isolate and have their own environments
You can create an image yourself and push it to the Docker hub making it available for the public .
Container Advantage
Kubernetes Overview : Session : 8
We learnt about containers and we now have our application packaged into a docker container . Buts whats next how do you run it in production. What if your application relies on other containers such as such as databases or messaging services or other backend services , what if the number of users increase and you need to scale your application . How do you scale down when the load decreases
To enable these functionalities you need an underlying platform with a set of resources and capabilities.
The platform needs to orchestrate the connectivity between the containers and automatically scale up and down based on the load . This whole process of automatically deploying and managing containers is known as "Container Orchestration".
Kubernetes is just a container Orchestration technology . There are multiple such technology available today.
Docker has its own tool called docker swarm , Kubernetes from Google, and Mesos from Apache
While docker swarm is really easy to setup and get started it lacks some some of the most advanced features to support some complex application.
Mesos on the other hand is quite difficult to setup and get started but supports many advanced feature . Kubernetes arguably the most popular of them all is a bit difficult to setup and get start up but provides loads of customization for deployments of complex architectures.
Kubernetes is now supported on all public cloud platform such as cloud providers like GCP, Azure , AWS
and kubernetes projects is one the top ranked projects in GitHub
There are various advantage of container orchestration.
- Your application is now highly available for the hardwares failures do not bring your application down because you have multiple instances of your application running on different nodes
- The user traffic is load balanced in various containers when demand increases deploy more instances of the applications seemlessly and within a matter of seconds we have the ability to do it at a service level when we run out of hardward resources , scale the number of underlying nodes up or down without having to take down the application
And do all of these by using a set of "Declarative Object Configuration Files"
And that is Kubernetes .
It is a container orchestration technology used to orchestrate the deployment and management of 100s of thousands of containers in a clustered environment




Comments
Post a Comment