What is Kubernetes?

Source: Internet
Author: User
Tags k8s

http://blog.csdn.net/deerlux/article/details/50917751

"Translator according to" the Kubernetes official website document, mainly introduces Kubernetes basic concept as well as the application scene, the k8s design idea, as well as k8s can do does not do. What is Kubernetes?

Kubernetes is a container-centric infrastructure that is an open source platform for clustering, automatic container deployment, expansion, and management.

With Kubernetes, you can quickly and efficiently respond to a customer's request as follows:
* Dynamic, accurate deployment of applications
* Dynamic extension of the application
* Seamless launch of new features
* Optimize the use of hardware resources on demand

Our goal is to provide a set of eco-environment components and tools that reduce the burden of applications running on public clouds or private clouds. kubernetes : Portable: Public cloud, private cloud, mixed cloud, cloudy extensible: Modular, Plug and Play, hook, automatic repair of the combination: automatic layout, automatic restart, automatic copy, automatic scaling

The Kubernetes project was launched by Google in 2014, and kubernetes built on a combination of some of the community's best ideas and practices based on Google's 15 production environment experience.

Are you ready to start? Why do you use containers?

Look for a reason to use your container.

The traditional method of deploying an application is to install the application to the host using the operating system's package manager, one of the drawbacks of which is that applications, configurations, support libraries, and lifecycles are often entangled with host operating systems, but you can also build virtual machine mirroring to achieve controllable publishing, But virtual machines are heavier and less portable.

The new method deployment container is implemented based on operating system-level virtualization rather than hardware-level virtualization, which is isolated from each other and between the container and the host: they have their own file systems, shared computing resources, but they don't see each other. Container builds are also easier to build than virtual machines, and because they are not dependent on running platforms and file systems, portability can be achieved across the cloud and operating system distributions.

Because the container is small and fast, an application can be packaged into a container mirror, which is a one by one correspondence with the mirror, which fully benefits the container. Permanent container mirroring can be built in the development phase of the application, rather than staying in the deployment phase, as each application does not need to be modified at other stages of its lifecycle or when it is formally delivered to the production environment, which makes the development environment and production environment highly consistent. Containers are more transparent than virtual machines and are easy to monitor and manage, especially when the container's process cycle is managed by the management platform rather than by a super process hidden in the container. An application of a container, the management of the container is equivalent to the management of the application.

The advantages of a container can be summed up in: Agile application Building and Deployment : container management is easier and more efficient than virtual machine management. continuous development, integration, and deployment : A fast rollback that enables reliable and frequent container mirroring building and deployment (mirroring-based permanence). Development and operation dimensions can be considered separately : the container mirrors that create the application are in the build/release phase rather than in the deployment phase, so the application is decoupled from the infrastructure. maintain consistency in development, testing, and production environments : running on notebooks and putting them on the cloud will work the same. the portability of the cloud and operating systems : Run at Unbuntu, RHEL, CoreOS, On-prem, Google Container engine, and elsewhere. Application as Core management : (compared to the way the virtual machine) abstract hierarchy is promoted by running the operating system on the virtual hardware to run the application directly on the operating system using its logical resources. loosely coupled, resilient, distributed, micro-services : Applications are divided into small stand-alone slices that can be deployed and managed dynamically without the need to run a fat stack on a large, single purpose host. Resource Isolation : Predictable program performance. Maximize Resource Utilization : High performance, high density. Why do I need kubernetes, what does it do?

Kubernetes can be implemented to schedule and run containers on a physical cluster or virtual machine cluster, and of course it can do more.

In order to give full play to the advantages of the container and the traditional application deployment way off, the need for the deployment and operation of the container is independent of the infrastructure.

However, when a particular container is no longer tied to a specific host, the host-centric infrastructure is no longer applicable: Load balancing, automatic scaling, and so on, and therefore requires a container-centric architecture, which is provided by Kubernetes.

Kubernetes meets some of the common requirements of applications in the production environment, such as collaborative positioning of worker processes, deployment with complex applications, and maintenance of a single container application model. Mount Storage System distributed encryption management application Health Check application instance replica horizontal automatic extension naming and discovery load balancing rolling Upgrades resource monitoring log acquisition and injection support introspection and debugging as well as authentication and authorization

These features provide the simplicity of the platform as a service (PaaS), as well as the flexibility of infrastructure as a service (IaaS), which improves the ease of porting across infrastructure.

Want to get more details, join the user 's Guide why Kubernetes become a platform

Although Kubernetes provides many features, new scenarios require new features, application-related workflows can be pipelined to speed up development, and the initial ad hoc mechanisms that are designed often require more flexible automation when they are extended. This is why Kubernetes is designed to be a platform for building components and tool ecology, making it easier to deploy, expand, and manage applications.

tags empower users to organize their resources on demand, and the annotation feature enables users to add customized information to specific resources to facilitate their workflow implementation and provides a workaround for the management tool's stateful inspection.

In addition, the Kubernetes Control Panel is built based on APIs, which are also useful for developers and users, who can write their own controllers, dispatchers, and so on, and can even write generic command-line tools with their own APIs http:// kubernetes.io/docs/user-guide/kubectl-overview/)

This design allows users to build some other systems on a kubernetes basis. kubernetes is not:

Kubernetes is not a Pauta PAAs system of traditional significance, we reserve the right of user choice in some important aspects. Kubernetes does not limit the types of applications that are supported, nor does it specify an application framework (such as Wildfly), does not restrict the supported locales (such as Java, Python, Ruby), does not cater to 12-factor application, nor does it distinguish between "application" and "Services". The purpose of Kubernetes is to support as many loads as possible, including stateful, stateless, data-processing loads, so long as the application can run in a container, it can run well in kubernetes. Kubernetes does not provide middleware (such as message bus), data processing frameworks (such as Spark), databases (such as MySQL), or cluster storage systems (such as Ceph), which run on kubernetes. Kubernetes did not click on that deployed service front-end. Kubernetes does not provide source code-mirrored processing space, it does not deploy source code and does not build your application, continuous integration (continuous INTEGRATION:CI) workflow requires users and projects have their own needs and options, so we support layered CI workflows, However, you do not specify how the workflow should work. Kubernetes allows users to freely select logs, monitoring, and alarm systems. Kubernetes does not provide or specify an integrated application configuration language/system (such as Jsonnet), although the corresponding integration is also provided as a concept validation. Kubernetes does not provide or adopt any integrated machine configuration, maintenance, management or self-healing system.

On the other hand, many PAAs systems run on kubernetes, such as OpenShift, Deis, and Gondor, and you can customize your own PAAs, integrate a CI system, or just use kubernetes. Take the container mirror and deploy it directly to the kubernetes.

Because Kubernetes works at the application level and not just at the hardware level, it provides common features that general PAAs can provide, such as deployment, scaling, load balancing, logging, and monitoring, but kubernetes is not a whole, and these features are optional and pluggable.

In addition, Kubernetes is not a business process system that eliminates the need for business processes, which refer to performing tasks according to predefined workflows, first A and then B and C. Instead, Kubernetes contains a set of independent, configurable control processes to continuously drive the current state to the desired state, and it does not care how you get from a to C. Central control is also not needed, and this approach is more like dancing, making the system easier to use, more powerful, robust, resilient, and scalable. what does kubernetes mean. K8s.

The term kubernetes is derived from the Greek language, which means the helmsman or pilot, and is the source of the governor or cybernetics. (The name Kubernetes originates from Greek, meaning "helmsman" or "pilot", and is the root of "Governor" and "cybernetic") 。 K8s is the result of using 8来 shorthand for the middle 8 letters.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.