Kubernetes基础概念
要了解Kubernetes,需要先了解其结构和基础概念。

Kubernetes涵盖如下基础概念
Cluster
Kubernetes中的集计算,存储,网络,信息与资源的集合,即Kubernetes所在运行的整体应用,其通常包括若干个master节点和工作节点,并在各节点中保存对应的应用与资源集合,如上图所示。
Node
Cluster的节点,一般分为master与work节点,是在Kubernetes中运行的物理机或者云服务中的虚拟主机,即Kubernetes的host主机
Master Node
Cluster中负责资源管理调度,协调各工作节点的负载,获取各工作节点信息状态的中心节点,可以认为是Kubernetes的大脑,一般用于执行命令的节点。master节点安装有API Server(kube-apiserver), Scheduler(kube-scheduler), Controller Manager(kube-controller-manager), etcd(获取工作节点的信息以及更新), kubeadm, kubectl, kubelet, kube-proxy以及Pod网络等。
Worker Node
与master node相对应,用于在pod中运行一系列应用的工作节点,一般只安装kubelet, kube-proxy与Pod网络,需要加入master node创建的Kubernetes网络。
Pod
Pod为Kubernetes管理的最小的工作单元的集合,通常是一组相关应用的容器的集合。Master node会把一个pod中的所有容器统一调度到相同的worker node中运行,在同一个pod中运行的所有容器具有相同的pod的网络ip地址和共享端口port空间。
Container
在pod中运行应用的容器
Controller
运行在master中,由controller manager来管理。在cluster中, pod的创建,更新与销毁由controller管理,按功能分为Deployment, DaemonSet, ReplicaSet, ScheduleSet, StatefulSet以及Job
Service
Service定义和维护了cluster外部如何访问cluster内的pod的访问方式。原因在于pod经常由于应用更新,需要被销毁更新甚至重建,这会导致其ip地址可能会更改。 Service通过label在逻辑上绑定了一组相关的pod, 使其即使被销毁和重建也能够被访问,维护了应用整体的稳定性。
Namespace
一组相关pod,service等资源的集合, 通常用于资源划分, 使其不能被共享和访问, 不同命名空间namespace的pod不能够互相访问。比如多客户或者多团队条件下, 实现资源的区分和管理, 默认namespace为default。

浙公网安备 33010602011771号