What is Kubernetes ?
What is kubernetes? Kubernetes, or k8s ( k, 8 characters, s … do you understand ? ), O ” kube ” yes tea like brevity is a platform code open what automate Linux container operations Remove many of the processes manuals involved in the implementation and scaling of applications in containers . In other words, groups of hosts that can run Linux containers, and Kubernetes what help to manage those clusters so easy and efficient. These groups they can cover hosts through public, private, or Clouds hybrid. By this reason, Kubernetes is a ideal platform for hosting. Applications native of the cloud what require a climbing fast, like transmitting real – timedata via Apache Kafka .
Kubernetes, It was originally developed and designed by engineers in Google. Google was one of the The first contributors to Linux container technology and he has spoken publicly on how Everything in Google runs in containers . ( This is the technology behind the cloud services of Google). Google generates more than 2 billionimplementations container by week, all with one platform internal : Borg . Borg was the predecessor of Kubernetes and the lessons They learned Borg development over the years became the main influence of much of the technology Kubernetes .
Fact curious : the seven radios of the logo of Kubernetes is refer to the original name of the project, “ Draft Seven of Nine “
Red Hat was one of the first companies in working with Google in Kubernetes, even before the launch, and it has become the 2nd main contributor to the upstreamproject Kubernetes . Google donated the draft Kubernetes to the newly shaped Computer Foundation native in the cloud in 2015
Why do you need Kubernetes ?
Production applications real they cover multiple containers . Those containers are due Deploy on multiple server hosts . Security for containers Is multilayer and canbe complicated. There is where Kubernetes can help. Kubernetes provides the orchestration capabilities and administration necessary to implement containers, ascale, for these workloads. Kubernetes orchestration allows you create Application Services what they cover multiple containers, schedule those containers in a group, climb those containers and manage the health of those containers over time . WithKubernetes can drink Steps real toward a best security computing .
Kubernetes as well needs to integrate with networks, Storage, security, telemetry and others services to provide a comprehensive infrastructure container.
Of Course, this It depends on how use the containers in your environment. A application rudimentary of Linux containers treats them as machines virtual efficient andfast . A time what scale this to a production environment and multiple applications, is Clear what needs to multiple containers colocadosque work together to providethe services individual . This multiply significantly the amount of containers in their environment and, as what those containers accumulate, complexity as well increases .
Kubernetes solution to many of the problems common with the proliferation of containers : the classification of containers in a ” pod ” . The Pods add a AbstractionLayer containers Grouped, which helps you schedule the workloads and to provide services necessary, as networks and storage, to those containers . Other parts of Kubernetes what help to balance the load in these pods and guarantee what have the amount container correct running to support their workloads.
With the implementation correct of Kubernetes, and with the help of others source projects open as Registry atomic , Open vSwitch , heapster, OAuth, Y SELinux : can organize all the parts of his container framework.
What can do with Kubernetes ?
The main advantage of using Kubernetes in your environment, especially yes you are dev application optimization for the cloud, is what gives you the platform toschedule and execute containers in groups of machines virtual or physical . In terms plus general, help to implement by complete and trust in a infrastructure basedcontainers in production environments. And how Kubernetes have what do with automating tasks operational, can do many of the same things what others applicationplatforms and management systems allow you do, but for your containers .
With Kubernetes you can :
- Organize containers across multiple
- Make a best hardware to maximize use of resources needed to run your applications
- Control and automate the implementations and application
- Mount and add storage to run applications with state .
- Scale container applications and resources on the fly .
- Administer declaratively services, which guarantees what the Applications implemented always they run on the way the He implemented.
- Check your Health Y make a Recovery automatic applications with placement automatic, the start automatic, the replication automatic andelescalado automatic .
Kubernetes However, trust others projects to provide completely these services orchestrated. With the addition of others source projects open, you can perform fullythe power of Kubernetes . These pieces required include (among others ):
- Registration through projects as Registry Atomic or Registry Docker .
- Networks through projects as OpenvSwitch and edge routing
- Telemetry, through projects as heapster , kibana , hawkular and elastic .
- Security, through projects as LDAP, SELinux, RBAC and OAUTH with multi-tenancy layers .
- Automation, with the addition of playbooks of Ansible for installation and management of the cluster
- Services through a rich Catalogue of content created previously application patterns
Learn to speak Kubernetes
Like any technology, there are many words specific technology what they can be a entry barrier. Let’s break some of the terms plus common to help you understand the governors .
Dominate : The machine what control the nodes of Kubernetes . Here is where they originate all the chores assigned .
node : These machines perform the chores assigned, requested . The teacher Kubernetes the control .
Pod : A group of one or more containers deployed in a single node . All containers in a pod share a IP address, IPC, hostname, and other resources. The podssummarize the network and storage far of the container underlying. This allows you to move containers around of the Cluster plus easily .
Controller replication: This control how many do you copy identical of a pod should to be running in some place of the cluster .
Service : This decouples the working definitions of pods . The Proxies service Kubernetes get automatically service requests in the correct pod, no matter where itmoves in the cluster or even if it has been replaced .
Kubelet : This service runs on nodes and read the manifestos of containers and guarantees that the containers defined are started and executed .
kubectl : Is is the configuration tool command line Kubernetes .
Using Kubernetes in production
Kubernetes code is open. And, as such, there is no support structure formalized around that technology, at least not in which I would trust its business.If had a problemwith his implementation of Kubernetes, while running in production, it will not be very happy. And your customers probably they will not either .
There is where Red Hat OpenShift comes in . OpenShift is Kubernetes for the company, and much more . OpenShift It includes all the pieces Additionaltechnology what make what Kubernetes be powerful and viable for the company, including : registry, networks, telemetry, security, automation and services . With OpenShift, its developers they can create new applications in containers, host and deploy them in the cloud with scalability, control and orchestration what they canconvert a good idea in a new business quickly and easily.
Best of all is what OpenShift is compatible and developed for the # 1 leader in code open, Red Hat.
A look at how Kubernetes fits in your infrastructure
Kubernetes is run about a system operative ( Red Hat Enterprise Linux Atomic Host, for example) and interacting with the containers container They are running on thenodes. The teacher Kubernetes takes the commands of an administrator (or team of DevOps ) and transmits those instructions to the nodes subordinates . Istransfer it works with a multitude of services to decide automatically what node It is the most suitable for the task . Then assigns resources and assign the pods in thatnode for comply with work requested .
Therefore, from the point of view of infrastructure, there are few changes in the way you have managed the containers . Your control over those containers happens to ahigher level, it is giving you better control without the need to manage every container or node by separate . It is needed some work, but it is mainly to assign a teacher Kubernetes, define nodes and define pods.
What about docker?
The docker technology follow doing what it is supposed what should do. When kubernetes Program a pod for a node, the kubelet in that node will indicate to to window attachable what start the containers specified . The kubelet then collect continuously the state of those containers from the windowattachable and add that information in the teacher. Docker pull the containers toward that node and start and stop those containers in a normal way. The difference isthat a system automated asks the window attachable what make those things rather than the administrator do the hand on all nodes for all containers.