Kubernetes是用来管理容器的软件,docker和kubernetes的关系类似于qemu和openstack的关系。接下来的信息基本来自于kubernetes中文文档。
架构
构成组件
Kubernetes主要由以下几个核心组件组成:
- etcd保存了整个集群的状态;
- apiserver提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;
- controller manager负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
- scheduler负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;
- kubelet负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理;
- Container runtime负责镜像管理以及Pod和容器的真正运行(CRI);
- kube-proxy负责为Service提供cluster内部的服务发现和负载均衡;
除了核心组件,还有一些推荐的Add-ons:
- kube-dns负责为整个集群提供DNS服务
- Ingress Controller为服务提供外网入口
- Heapster提供资源监控
- Dashboard提供GUI
- Federation提供跨可用区的集群
- Fluentd-elasticsearch提供集群日志采集、存储与查询
介绍完组件之后,我们需要知道这些组件部署时所在的位置。kubernetes部署时主要分为控制节点(master)以及计算节点(node)。
Master
- kube-apiserver暴露Kubernetes API,任何资源请求/调用操作都是通过kub-apiserver提供的接口进行。
- etcd,提供存储系统,保存所有集群数据,使用时需要为etcd数据提供备份计划。
kube-controller-manager运行管理控制器,它们是集群中处理常规任务的后台线程。逻辑上,每个控制器是一个单独的进程,但为了降低复杂性,它们都被编译成单个二进制文件,并在单个进程中运行。
- 计算节点(Node)控制器。
- 副本(Replication)控制器:负责维护系统中每个副本中的pod。
- 端点(Endpoints)控制器:填充Endpoints对象(即连接Services&Pods)。
- Service Account和Token控制器:为新的Namespace 创建默认帐户访问API Token。
- kube-scheduler监视新创建没有分配到Node的Pod,为Pod选择一个Node。
- 插件(addon)是实现集群pod和Services功能的 。Pod由Deployments,ReplicationController等进行管理。Namespace 插件对象是在kube-system Namespace中创建。
- DNS虽然不严格要求使用插件,但Kubernetes集群都应该具有集群 DNS。
- 用户界面,kube-ui提供集群状态基础信息查看。
- 容器资源监控,提供一个UI浏览监控数据。
- Cluster-level Logging,负责保存容器日志,搜索/查看日志。
Node
kubelet是主要的节点代理,它会监视已分配给节点的pod
- 安装Pod所需的volume。
- 下载Pod的Secrets。
- Pod中运行的docker(或experimentally, rkt)容器。
- 定期执行容器健康检查。
- 如果有必要,通过创建镜像pod,将pod的状态报告回Master的REST。
- 将node的状态报告回Master的REST。
- kube-proxy通过在主机上维护网络规则并执行连接转发来实现Kubernetes服务抽象。
- docker用于运行容器。
- rkt运行容器,作为docker工具的替代方案。
- supervisord是一个轻量级的监控系统,用于保障kubelet和docker运行。
- fluentd是一个守护进程,可提供cluster-level logging。
用户会在Master节点通过kubectl命令进行一些操作,用以创建删除容器。首先会进行认证,然后通过REST根据scheduler的调度确定Node节点,发送给Node节点的kubelet,然后创建pod。
用户访问会先通过firewall,然后proxy模块会有负载均衡访问对应的Pod中的container。
6 条评论
《康熙来了》港台综艺高清在线免费观看:https://www.jgz518.com/xingkong/146917.html
兄弟写的非常好 https://www.cscnn.com/
想想你的文章写的特别好www.jiwenlaw.com
不错不错,我喜欢看 https://www.237fa.com/
怎么收藏这篇文章?
叼茂SEO.bfbikes.com