基本概念

Cluster

由Master Node和Non-Master Nodes组成的集群。Master和Non-Master中的kubelet进程组成了Kubenetes中的Control Plane。

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/5f260621-b4ca-4e2d-ab26-481ec76acccc/Untitled.png

Master

Master是一个运行了三个进程的Node,包括kube-apiserver, kube-controller-manager, kube-scheduler

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/a52aa31e-32fa-40f0-b63c-667fdbf3b5de/Untitled.png

Non-Master

其它Node运行了两个进程,kubelet(与master通讯),kube-proxy

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/bebb5404-d7f7-48dd-ae5c-d70011f46cde/Untitled.png

Pod

A Pod represents a running process on your cluster.

A Pod encapsulates an application container (or, in some cases, multiple containers), storage resources, a unique network IP, and options that govern how the container(s) should run.

Each Pod is meant to run a single instance of a given application. If you want to scale your application horizontally (e.g., run multiple instances), you should use multiple Pods, one for each instance. In Kubernetes, this is generally referred to as replication

Each Pod is assigned a unique IP address. Every container in a Pod shares the network namespace, including the IP address and network ports. Containers inside a Pod can communicate with one another using localhost.

While it is possible to use Pod directly, it’s far more common in Kubernetes to manage your pods using a Controller. Controllers use Pod Templates to make actual pods.

Service

Kubernetes Pods are mortal. While each Pod gets its own IP address, even those IP addresses cannot be relied upon to be stable over time.

A Kubernetes Service is an abstraction which defines a logical set of Pods and a policy by which to access them - sometimes called a micro-service. The set of Pods targeted by a Service is (usually) determined by a Label Selector.