WHAT IS KUBERNETES
Ashish Ranjan
IT Recruiter- Talent Acquisition || B.TECH(EEE) || Tech & Non-Tech Hiring || Leadership Hiring || Corporate Hiring
Kubernetes?(/?k(j)u?b?r?n?t?s,?-?ne?t?s,?-?ne?ti?z,?-?n?ti?z/, commonly abbreviated?K8s[3]) is an?open-source?container?orchestration?system for automating?software deployment, scaling, and management.[4][5]?Originally designed by?Google, the project is now maintained by the?Cloud Native Computing Foundation.
The name?Kubernetes?originates from?Greek, meaning 'helmsman' or 'pilot'.?Kubernetes?is often abbreviated as?K8s, counting the eight letters between the?K?and the?s?(a?numeronym).[6]
Kubernetes works with?containerd?and?CRI-O.[7]?Its suitability for running and managing large cloud-native workloads has led to widespread adoption of it in the data center. There are multiple distributions of this platform – from?ISVs?as well as hosted-on-cloud offerings from all the major public cloud vendors.
History[edit]
Google Kubernetes Engine talk at Google Cloud Summit
Kubernetes (κυβερν?τη??kubern?tēs, Greek for "steersman, navigator" or "guide", and the etymological root of?cybernetics)[5]?was announced by Google in mid-2014.[8]?The project was created by Joe Beda, Brendan Burns, and Craig McLuckie,[9][10]?who were soon joined by other Google engineers, including Brian Grant and Tim Hockin.[8]
The design and development of Kubernetes was influenced by Google's?Borg?cluster manager. Many of its top contributors had previously worked on Borg;[11][12]?they codenamed Kubernetes "Project 7" after the?Star Trek?ex-Borg?character?Seven of Nine[13]?and gave its logo a seven-spoked wheel. Unlike Borg, which was written in?C++,[11]?Kubernetes source code is in the?Go?language.
Kubernetes 1.0 was released on July 21, 2015.[14]?Google worked with the?Linux Foundation?to form the?Cloud Native Computing Foundation?(CNCF)[15]?and offered Kubernetes as a seed technology. In February 2016,[16]?the Helm[17][18]?package manager for Kubernetes was released.
Google was already offering managed Kubernetes services, while?Red Hat?was supporting Kubernetes as part of?OpenShift?since the inception of the Kubernetes project in 2014.[19]?In 2017, the principal competitors rallied around Kubernetes and announced adding native support for it:
领英推荐
On March 6, 2018, Kubernetes Project reached ninth place in the list of?GitHub?projects by the number of?commits, and second place in authors and issues, after the?Linux kernel.[25]
Until version 1.18, Kubernetes followed an N-2 support policy, meaning that the three most recent minor versions receive security updates and bug fixes.[26]?Starting with version 1.19, Kubernetes follows an N-3 support policy.[27]?Originally, it interfaced exclusively with the?Docker?runtime[28]?through a "Dockershim"; however, from November 2020[29]?up to April 2022, Kubernetes has deprecated the?shim?in favor of directly interfacing with the container through Containerd, or replacing Docker with a runtime that is compliant with the Container Runtime Interface (CRI).[30][31][32]?With the release of v1.24 in May 2022, "Dockershim" has been removed entirely.[33]
Concepts[edit]
Kubernetes architecture diagram
Kubernetes defines a set of building blocks ("primitives") that collectively provide mechanisms that deploy, maintain, and scale applications based on CPU, memory[34]?or custom metrics.[35]?Kubernetes is?loosely coupled?and extensible to meet different workloads. The internal components as well as extensions and containers that run on Kubernetes rely on the Kubernetes API.[36]?The platform exerts its control over compute and storage resources by defining resources as Objects, which can then be managed as such.
Kubernetes follows the?primary/replica architecture. The components of Kubernetes can be divided into those that manage an individual?node?and those that are part of the control plane.[36][37]
Control plane[edit]
The Kubernetes master node handles the Kubernetes control plane of the cluster, managing its workload and directing communication across the system. The Kubernetes control plane consists of various components, each its own process, that can run both on a single master node or on multiple masters supporting?high-availability clusters.[37]?The various components of the Kubernetes control plane are as follows: