avatarAshish Patel

Free AI web copilot to create summaries, insights and extended knowledge, download it at here

1939

Abstract

s you with a framework to run distributed systems resiliently. It takes care of scaling and fail-over for your application, provides deployment patterns, and more.</p><ul><li>Package up the app and let something else manage it for us</li><li>Not worry about the containers management</li><li>App Containers can’t live with single server deployment</li><li>Inter-host communication of containers</li><li>Deploying and updating software at scale</li><li>Better management through modularity</li><li>Auto healing</li><li>Logging and Monitoring</li></ul><h2 id="aa8b">What Kubernetes can do?</h2><ul><li><b>Service discovery and load balancing</b> Kubernetes can expose a container using the DNS name or using their own IP address. If traffic to a container is high, Kubernetes is able to load balance and distribute the network traffic so that the deployment is stable.</li><li><b>Scaling</b> Auto-scaling: Automatically change the number of running containers, based on CPU utilization or other application-provided metrics. Manual scaling: Manually scale the number of running containers through a command or the interface.</li><li><b>Self-healing</b> Kubernetes restarts containers that fail, replaces containers, kills containers that don’t respond to your user-defined health check, and doesn’t advertise them to clients until they are ready to serve.</li><li><b>Storage orchestration</b> Kubernetes allows you to automatically mount a storage system of your choice, such as local storages, public cloud providers, and more.</li><li><b>Automated rollouts and rollbacks</b> You can describe the desired state for your deployed containers using Kubernetes, and it can change the actual state to the desired state at a controlled rate. For example, you can automate Kubernetes to create new containers for your deployment, remove existing containers and adopt all their resources to the new container.</li><li><b>Automatic bin packing</b> Y

Options

ou provide Kubernetes with a cluster of nodes that it can use to run containerized tasks. You tell Kubernetes how much CPU and memory each container needs. Kubernetes can fit containers onto your nodes to make the best use of your resources.</li><li><b>Secret and configuration management</b> Kubernetes lets you store and manage sensitive information, such as passwords, OAuth tokens, and SSH keys. You can deploy and update secrets and application configuration without rebuilding your container images, and without exposing secrets in your stack configuration.</li></ul><h2 id="d2a8">Kubernetes Key Concepts</h2><ol><li><b>Nodes </b>Nodes are the machines on Kubernetes. They can be either a physical or a virtual machine.</li><li><b>Pods </b>Pods are composed of a group of one or more containers, the shared storage for them and their options.</li><li><b>Deployments </b>Deployments are used to make updates on Pods. We can use them to bring up new Pods, change the image version of a container and even recreate the previous state if something goes wrong.</li><li><b>Services </b>Service consist of a set of Pods and a policy that defines the access control. It is responsible for managing, deploying and operating containers integrates easily with other services.</li></ol><p id="ecb5"><b>View more from <a href="https://medium.com/devops-mojo"><i>DevOps Mojo</i></a></b></p><ul><li><a href="https://readmedium.com/kubernetes-difference-between-deployment-and-statefulset-in-k8s-deployments-vs-statefulsets-855f9e897091">Kubernetes — Difference between Deployment and StatefulSet in K8s</a></li><li><a href="https://readmedium.com/prometheus-overview-what-is-prometheus-introduction-92e064cff606">Prometheus — Overview</a></li><li><a href="https://readmedium.com/terraform-overview-introduction-to-terraform-what-is-terraform-843bf65b83fb">Terraform — Overview</a></li></ul><p id="fad0"><i>Happy Learning!!!</i></p></article></body>

Kubernetes (K8s) Overview

What is Kubernetes — Introduction to Kubernetes (K8s) Orchestration

Kubernetes

TL;DR

Kubernetes is a portable, extensible, open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation.

What is Kubernetes?

Kubernetes is a powerful container management tool that automates the deployment and management of containers. It can run and coordinate containerized applications across a cluster of machines. It is a platform designed to completely manage the life cycle of containerized applications and services using methods that provide predictability, scalability, and high availability. Kubernetes can define how your applications should run and how application interact with other applications or the outside world.

Why you need Kubernetes?

Containers are a good way to bundle and run your applications. They provide you with an easy way to package and deploy services, allow for process isolation, immutability, efficient resource utilization, and are lightweight in creation.

Managing containers for production is challenging: - You need to manage the containers that run the applications and ensure that there is no downtime. For example, if a container goes down, another container needs to start. - You can end up with dozens, even thousands of containers over time. These containers need to be deployed, managed and updated.

It will be very difficult to do all things manually, right? Kubernetes is the solution! Kubernetes provides you with a framework to run distributed systems resiliently. It takes care of scaling and fail-over for your application, provides deployment patterns, and more.

  • Package up the app and let something else manage it for us
  • Not worry about the containers management
  • App Containers can’t live with single server deployment
  • Inter-host communication of containers
  • Deploying and updating software at scale
  • Better management through modularity
  • Auto healing
  • Logging and Monitoring

What Kubernetes can do?

  • Service discovery and load balancing Kubernetes can expose a container using the DNS name or using their own IP address. If traffic to a container is high, Kubernetes is able to load balance and distribute the network traffic so that the deployment is stable.
  • Scaling Auto-scaling: Automatically change the number of running containers, based on CPU utilization or other application-provided metrics. Manual scaling: Manually scale the number of running containers through a command or the interface.
  • Self-healing Kubernetes restarts containers that fail, replaces containers, kills containers that don’t respond to your user-defined health check, and doesn’t advertise them to clients until they are ready to serve.
  • Storage orchestration Kubernetes allows you to automatically mount a storage system of your choice, such as local storages, public cloud providers, and more.
  • Automated rollouts and rollbacks You can describe the desired state for your deployed containers using Kubernetes, and it can change the actual state to the desired state at a controlled rate. For example, you can automate Kubernetes to create new containers for your deployment, remove existing containers and adopt all their resources to the new container.
  • Automatic bin packing You provide Kubernetes with a cluster of nodes that it can use to run containerized tasks. You tell Kubernetes how much CPU and memory each container needs. Kubernetes can fit containers onto your nodes to make the best use of your resources.
  • Secret and configuration management Kubernetes lets you store and manage sensitive information, such as passwords, OAuth tokens, and SSH keys. You can deploy and update secrets and application configuration without rebuilding your container images, and without exposing secrets in your stack configuration.

Kubernetes Key Concepts

  1. Nodes Nodes are the machines on Kubernetes. They can be either a physical or a virtual machine.
  2. Pods Pods are composed of a group of one or more containers, the shared storage for them and their options.
  3. Deployments Deployments are used to make updates on Pods. We can use them to bring up new Pods, change the image version of a container and even recreate the previous state if something goes wrong.
  4. Services Service consist of a set of Pods and a policy that defines the access control. It is responsible for managing, deploying and operating containers integrates easily with other services.

View more from DevOps Mojo

Happy Learning!!!

Kubernetes
K8s
Kubernetes Cluster
Orchestration
Container Orchestration
Recommended from ReadMedium