Popular Certifications Big Data

Big Data & Data Engineer

Most popular courses for Cloud Computing

Cloud Computing

Most popular Certifications in SAS

SAS & Analytics

Most popular Certifications in Programming

Certifications in Programming

Popular Certification By Category

Learn Big Data

You can learn Anywhere, with this courses.

Browse All BigData Courses

Learn Cloud Computing

You can learn Anywhere, with this courses.

Browse All Cloud Computing Courses

Learn NoSQL

You can learn Anywhere, with this courses.

Browse All NoSQL Courses

Learn Programming

You can learn Anywhere, with this courses.

Browse All Programming Courses

Learn Data Analytics

You can learn Anywhere, with this courses.

Browse All Data Analytics Courses

Popular Snowflake Courses & Certifications

Snowflake

Popular Technology Mock Interviews

Mock Interviews

Popular NoSQL Courses

NoSQL

Popular Certifications Data Science & Analytics

Data Science & Analytics

Kubernetes

Kubernetes is a platform to manage containerized workloads and services. In Kubernetes you can do declarative configuration and automation. 

Various Deployments

Traditional Deployments

  • Application running on physical servers. 
  • There were no ways to define resource boundaries for application in a sing physical server.
  • No resource boundary lead to a separate physical server for each application and that is a costly and non-scalable solution. 

Virtualized Deployment

  • You can run multiple virtual machine on a single physical server's CPU. 
  • Hence, you can have your individual application isolated in each different virtual machine. 
  • Applications are isolated from one VM to another VM and having some extent security in place. 
  • This reduce Hardware cost.
  • It gives better utilization of resources. 
  • Each virtual machine is a full machine in all and running all the components which include its own OS, on top of the virtualized hardware. 

Container Based Deployment

  • Container are similar to VMs.
  • However, they are relaxed and share operating system.
  • They are lightweight. Since, you dont need separate OS for each container rather a shared OS is enough.
  • Similar to VM, container has its own 
    • FileSystem
    • CPU
    • Memory
    • Process Space
  • They are portable across clouds and OS distributions.

Why Kubernetes

Kubernetes is a a framework using which you can run your container based distributed systems, which is resilient. Kubernetes itself take care of 

  • Auto Scaling of application via container
  • Failover 
  • provides the deployment patterns i.e. Canary Deployment. 

Service Discovery and Load Balancing

  • Kubernetes exposes container using the DNS name or IP address.
  • If traffic to a container is high, Kubernetes load balance it and distribute the network traffic . 

Storage Orchestration

  • You can mount storage from
    • Local storage
    • Cloud Providers storage

Automated Rollout and Rollbacks

  • Using Kubernetes, we can describe the desired state of the deployed containers. 
  • Kubernetes changes the actual state to the desired state at controlled rate. 
  • For example, you can automate Kubernetes to create a new containers for your deployment and remove existing containers and adopt all their resources to the new container. 

Automatic Bin Packing

  • You need to provide nodes (either VMs or Physical servers) to run containerized tasks. 
  • You tell Kubernetes how much CPU & Memory each container needs. 
  • Kubernetes can fit containers onto your nodes to make the best use of your resources. 

Self-Healing (Resiliency)

  • Kubernetes restart containers which are in failed state.
  • Kubernetes replaces containers
  • Kubernetes kills the containers that do not respond to user-defined health check.
  • Kubernetes does not advertize containers to client until they are ready to serve. 

Secret & Configuration Management

  • Kubernetes lets you store and manage sensitive information such as
    • Passwords
    • OAuth Tokens
    • SSH Keys
  • You can deploy and update secret and application configuration without rebuilding your container image and not even without exposing secrets in your stack configuration.

What should not be expected from Kubernetes?

Application Limits

  • Kubernetes does not limit the types of application and it is suitable for stateless, stateful and data processing work loads. 
  • If an application can run in a container, it should run great on Kubernetes. 

Deployment

  • Kubernetes does not deploy source code.
  • Kubernetes does not build your application.
  • CI/CD workflows are determined by orgnaization.

Application Level Services

  • Kubernetes does not provide application level services like
    • Middleware, Message Buses
    • Data Processing Frameworks (Such as Spark)
    • Database such as MySQL
    • Caches such as Redis
  • Above components can run on Kubernetes and can be accessed by application running on Kubernetes through portable mechanism such as Open Service Broker.

Metrics and Logging

  • Kubernetes does not dictate logging, monitoring and alerting solutions. 
  • It provides some integrations as POC and mechanism to collect and export metrics.

Machine Configuration

  • Kubernetes does not dictate machine configurations, maintenance, management and self-healing system.

 

Other Popular Courses