Brief introduction
Kubernetes is an open source, containerized application for managing multiple hosts on a cloud platform, with the goal of making deploying containerized applications simple and efficient, Kuernetes provides a mechanism for application deployment, planning, updating, and maintenance.
In Kubernetes, all containers are run in pods, and one pod can host one or more related containers. Each pod system created by the user automatically chooses a healthy and sufficient capacity node to create containers of similar containers, and when container creation fails, the node Agent Kubelet from a dynamic restart. However, if it is a pod failure or other reason for the machine, it will not automatically transfer and start unless the user has customized the replication controller.
Users can create and manage their own pod,kubernetes to simplify these operations to two operations: Deploy multiple pod replicas based on the same pod profile; Create an alternative pod when a pod hangs or the machine hangs. The part of the Kubernetes API that is responsible for restarting, migrating, and so on is called the "Replication Controller", where multiple pods of an application can share a single machine.
Kubernetes supports a special network model, Kubernetes creates an address space and does not dynamically allocate ports, which allows the user to select any port they want to use, and for this function, it assigns an IP address to each pod. Kubernetes provides an abstraction of the service and provides a fixed IP address and DNS name, which are dynamically associated with a series of pods, which are associated with the previously mentioned tags, so we can correlate any pod we want to associate with, When a container in a pod accesses this address, the request is forwarded to the local proxy (Kube proxy), with a local agent on each machine, and then forwarded to the appropriate backend container.
Kubernetes selects the appropriate backend container through a polling mechanism, and when these dynamic pods are replaced, the Kube proxy is tracked at all times, so the IP address (DNS name) of the service is never changed.
Resources in Kubernetes, such as pods, are distinguished by a URI-URI that has an important part of the Uid,uri: the type of the object (such as the pod), the name of the object, the namespace of the object, and, for a particular object type, within the same namespace, All names are different, and this is assumed to be the default namespace in cases where the object provides only the name and does not provide a namespace. The UID is the only time and space.
Origin
Large-scale container cluster management tools, from Brog to Kubernetes
While one of Google's Kubernetes aims is to promote its peripheral computing engine (Google computer engine) and Google Apps engine (Google app Enginx). But the advent of kubernetes will allow more Internet companies to enjoy the benefits of connecting many computers to a pool of cluster resources. At the beginning of the model, Kubernetes considered the requirements of container cross-host connectivity, supported multiple network solutions, and built a cluster-wide SDN network at the Servie level. The goal is to place service discovery and load balancing in the container's reach, which facilitates inter-service communication and provides a platform foundation for the practice of microservices architectures. At the pod level, as the smallest object that kubernetes can manipulate, its characteristic is the native support to the Micro Service architecture.
July 22, 2015 iteration to v1.0 and officially announced, which means that the open source container orchestration system can be formally used in the production environment. At the same time, Google joined the Linux Foundation and other partners to establish the CNCF Foundation (Cloud Native Computing) and Kubernetes as the first open source project to be incorporated into the CNCF management system.
kubernetes-Introduction (i)