What is the Kubernetes?

Asked

Viewed 1,103 times

23

By my understanding is a tool for managing containers in applications that demand variations in the production environment. From this, I raised the following questions regarding the use of the same in projects.

  • What is the purpose and benefit of using this tool?

  • It is used only in Microservices?

4 answers

13


On a Docker-based infrastructure, managing a single server, or 2 servers, is a simple task. But there are scenarios where you have hundreds or even thousands of servers, and the decisions that need to be made are:

  • Move container from server A to server B

  • Delete a container (and need to find out which server it’s on)

  • Upload a set of containers that need to talk to each other and so need to be on a logical network, but not necessarily on the same server.

  • There are cases where these decisions need to happen on account of a crashed host, unresponsive, dead or simply failed.

All these dynamics are complex and take time to manage.

Docker won’t fix it, but it solves everything else we already know.

So orchestrators emerge as mechanisms that manage all the complexity of delivering large-scale management. They deliver the ability to manage many hosts from a unified processing unit perspective, and this completely changes how we scale applications, isolate applications, and manage idle hardware.

11

According to the manufacturer’s own website, Kubernetes is a system to automate the deployment, scalability and management of containerized applications.

  • What is the purpose and benefit of using this tool?

With Kubernetes it is possible:

  • Run multiple containers on different machines;
  • Scaling added or removing containers according to changing demand;
  • Maintain storage consistent with multiple application instances;
  • Distribute cargo among containers;
  • Launch new containers on different machines if something fails;
  • It is used only in Microservices?

No, but the benefits are more visible when it comes to an application with high complexity of deployment and maintenance. Any application that uses containerization can apply the Kubernetes, but the productivity gain may not be proportional.

9

What is the purpose and benefit of using this tool?

  • Agile application creation and deployment: Greater ease and efficiency of container image creation compared to the use of VM images. Continuous development, integration and implementation: Provides reliable and frequent creation and deployment of container images with quick and easy reversals (due to image immutability).
  • Separation of Interests Dev and Ops: Create application container images at the time of creation/release, instead of deployment time, thus decoupling infrastructure applications. Observability Not only does it view information and metrics at the operating system level, but also the integrity of the application and other signals. Environmental consistency in development, testing and production: run it on a laptop as in the cloud.
  • Cloud and OS distribution portability: works on Ubuntu, RHEL, Coreos, Google, Google Kubernetes Engine and elsewhere. Application-Centric Management: Increases the abstraction level of running an operating system on virtual hardware to run an application on an operating system using logical resources.
  • Weakly coupled, distributed, elastic, and released micro-services: Applications are divided into smaller, independent parts and can be deployed and dynamically managed - not a monolithic stack running on a large, single-purpose machine.
  • Feature isolation: predictable application performance.
  • Resource use: high efficiency and density.

Old mode and new mode(with Kubernetes)

inserir a descrição da imagem aqui Source: https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/#Why-do-i-need-Kubernetes-and-what-can-it-do


It is used only in Microservices?

Can also be used in:

Source: https://github.com/kubernetes/kubernetes

  • I liked the chart. It is important to understand how the evolution from the traditional model to the development based model and Docker and Kubernetes.

  • Link extras: https://aws.amazon.com/pt/eks/ and https://azure.microsoft.com/pt-br/services/kubernetes-service

9

What is the Kubernetes?

Preambulo

Container technologies such as Docker, are enabling a new approach to the way developers create and deploy apps. With containers, a developer can easily package an application with all the necessary components, including libraries and other dependencies, and send it as a single package, but without overloading a traditional virtual machine. The containers and development tools that make them easy to use are not the full story.

To create complex applications that require different components, covering multiple containers across multiple machines, you need tools to manage and orchestrate your containers. One tool that is helping to address the needs of container application orchestration is the Kubernetes.

What is the Kubernetes?

The Kubernetes, in short, it is an open source system for managing container clusters. To do this, it provides tools to deploy applications, scale these applications as needed, manage changes to existing container applications, and helps optimize the use of underlying hardware below their containers. The Kubernetes is designed to be extensible and fault-tolerant, allowing application components to be restarted and moved between systems as needed.

Kubernetes itself is not a platform tool as a service (Paas), but it goes beyond a basic framework, allowing users to choose the types of application structures, languages, monitoring and logging tools, and other tools of their choice. In this way, Kubernetes can be used as a basis for a Paas complete run on top. And this is the architecture chosen by the open source project Openshift Origin in its latest version.

The design of Kubernetes is written in programming language Go and you can navigate the source code on Github.

Who wrote the Kubernetes?

Kubernetes was originally created by Google, which had been running similar systems to manage containers, as part of its internal infrastructure, for many years before the announcement of Kubernetes as an open source project in 2014. Today, Kubernetes is a rapidly growing open source community with engineers from Google, Red Hat and many other companies actively contributing to the project.

In addition, the Cloud Native Computing Foundation, a Linux Foundation project, operates to provide a common home for the development of Kubernetes and other applications that seek to offer modern application infrastructure solutions.

How Kubernetes works?

The main organization unit in Kubernetes is called a pod. A pod is a group of containers that are administered as a group on the same machine or virtual machine, a node, and are designed to be able to communicate easily.

These pods can be organized into a service, which is a group of pods that work together and can be organized with a label system, allowing metadata on objects such as pods to be stored in Kubernetes.

All these components can be orchestrated consistently and predictably through an API, between predefined instructions and through a command line client.


To learn more watch the explanation What is Kubernetes in the Programmer’s Dictionary.

Translation and interpretation of the page https://opensource.com/resources/what-is-kubernetes

Browser other questions tagged

You are not signed in. Login or sign up in order to post.