kubernetes架构介绍

kubernetes架构介绍_第1张图片

1、Kubernetes是一个跨主机集群的开源容器调度平台。他可以管理各种不同的底层容器。与Openstack类似,OpenStack通过管理底层大量的虚拟化节点构成一个庞大的集群,提供云服务。而Kubernetes通过管理底层的容器节点,自动化应用容器的部署、扩展和操作,提供以容器为中心的基础架构。
kubernetes架构介绍_第2张图片

Master节点提供的集群控制,对集群做出全局性决策,例如调度等。通常在master节点上不运行用户容器。

Node节点组件运行在每一个Node节点上。维护运行的pod并提供Kubernetes运行时环境。

1.1 Master节点组件

 Kube-apiserver
 kube-apiserver对外暴露了Kubernetes API。它是Kubernetes的前端控制层。它被设计为水平扩展,即通过部署更多实例来缩放。
 Etcd
etcd用于Kubernetes的后端存储。所有集群数据都存储在此处,始终为Kubernetes集群的etcd数据提供备
份计划。
 Kube-controller-manager
运行控制器,它们是处理集群中常规任务的后台线程。逻辑上,每个控制器是一个单独的进程,但为了降低复杂性,它们都被编译成独立的可执行文件,并在单个进程中运行。
 Kube-scheduler
监视没有分配节点的新创建的Pod,选择一个节点供他们运行。

1.2Node节点组件

Kube-proxy
Kube-proxy用于管理Service的访问入口,包括集群内Pod到Service的访问和集群外访问Service。
Kubelet
Kubelet是在集群内每个节点中运行的一个代理,用于保证Pod的运行。

容器引擎
通常使用docker来运行容器,也可使用rkt等做为替代方案。

####################################

Kubelet的功能
挂载Pod所需要的数据卷(Volume)。
下载Pod的secrets。
通过Docker(或通过rkt)运行Pod中的容器。
周期性的对容器生命周期进行探测。
如果需要,通过创建镜像Pod (Mirror Pod)将Pod的状态报告回系统的其余部分。
将节点的状态报告回系统的其余部分。

Core-dns:为整个集群提供DNS服务
Ingress Controller:为Service提供外网访问入口
Dashboard:提供图形化管理界面
Heapster:提供集群资源监控
Flannel:为Kubernetes提供方便的网络服务

 


 

你可能感兴趣的:(docker,k8s)