Kubernetes概述

Master节点
又称为控制平面:control plane。包括kube-apiserver、kube-scheduler、kube-controller-manager和etcd四个组件。
①kube-apiserver:
是一个将kubernetes控制平面中的API暴露出来的API服务,用于接收用户端的操作请求,这服务是kubernetes控制平面的前端。
它是无状态应用,用户可以运行多个kube-apiserver组件的实例,用于平衡实例的请求流量。
②kube-scheduler:
用于watch监听apiserver的资源变动(增删改查),并调度至合适的后端node节点,从而来创建pod资源。
③kube-controller-manager:
每个控制器都是独立的二进制进程,包括:Node Controller、Replication Controller、Endpoints Controller和Service Account & Token Controllers。
④etcd:
高可用、KV结构的kubernetes的后端数据存储组件。
⑤cloud-controller-manager:
是kubernetes与云厂商提供的服务能力对接的关键组件。又称为kubernetes cloudprovider。

Node节点,又称为数据平面:data plane。
包括kubelet、kube-proxy和Container Runtime三个组件。
①kubelet:
运行在集群每个节点的客户端,需要确保相关容器运行在pod中;通过PodSpecs标签,描述容器的运行状态。
②kube-proxy:
是一个运行在集群每个节点的网络代理组件。
③Container Runtime:
支持运行容器底层环境的软件;
支持:Docker, containerd, cri-o, rktlet 等

cloud端
①cloud:
作为集群外部的附加能力,通过与cloud-controller-manager组件对接,扩展kuberntes集群于云上动态扩展的特性

Addons(附加组件)
使用Kubernetes resources增加集群功能,如DNS、Web UI (Dashboard)、Container Resource Monitoring、Cluster-level Logging等等

3.工作流程概述
Master
用户通过(API、WebUI、CLI)向APIserver发送请求,kube-scheduler组件监听APIserver的资源变动,同时从Node节点中选取最合适的Node节点开始调度,并把调度结果保存至Etcd中。

Node
kubelet也会监听APIserver的资源变动,并在符合的Node上通过kubelet调用相关的docker引擎进行后续打包和构建操作。

你可能感兴趣的:(Kubernetes概述)