原文地址:https://github.com/kubernetes/kubernetes/blob/release-1.3/docs/design/architecture.md

Kubernetes architecture

一个运行的 kubernetes 集群,包涵 agents 节点(kubelet)和主节点组件(APIs,调度器等等),这些构建于分布式存储之上。下图展示了一个我们期望的架构,尽管我们还在完善,比如让kebelet(所有的组件)运行在容器当中,并使所有的调度程序100%可插拔。

The Kubernetes Node

当我们审视整个系统架构时,我们将其分解为两部分,在工作节点上运行的服务和群级控制层面的服务。

Kubernetes node 节点具有运行应用程序容器所需的服务,并可从 master 系统进行管理。

当然,每个节点都要运行Docker。Docker负责下载镜像,管理容器运行的细节。

kubelet

kubelet 管理 pods 和他们的容器, 镜像, 磁盘卷等资源。

kube-proxy

每个节点还运行一个简单的网络代理和负载均衡器(有关详细信息,请参阅服务常见问题解答)。这反映了services(在每个节点上的Kubernetes API中定义的服务文档以获取更多详细信息),并且可以跨一组后端执行简单的TCP和UDP流转发(循环)。

Service endpoints 目前通过DNS或环境变量找到。这些变量解析为 service proxy 管理的端口。

The Kubernetes Control Plane

Kubernetes控制层分为几部分组件。目前它们都在一个主节点上运行(single master node),但预计很快就会改变,以支持集群的高可用。这些组件协同工作以提供群集的统一视图。

etcd

集群中 master 节点的所有持久状态都存储在etcd中。它提供了一种可靠的方法,存储配置的数据。通过对watch的支持,可以非常快速地将变更通知到各个组件。

Kubernetes API Server

apiserver提供Kubernetes API。它旨在成为一个 CRUD-y 服务器,大多数/所有业务逻辑在单独的组件或插件中实现。apiserver主要处理 REST 操作,验证它们,并更新etcd(或者其他存储)中的相应对象。

Scheduler

Scheduler 程序通过 /binding API 将未调度的 pod 绑定到节点。调度程序是可拔插的,我们希望将来支持多个集群调度程序甚至用户提供的调度程序。

Kubernetes Controller Manager Server

所有其他集群级功能当前由 Controller Manager 执行。例如,Endpoints 对象由 endpoints controller 创建和更新,节点由 node controller 发现,管理和监视。这些最终可以分成单独的组件,使它们可以独立插入。

replication controller是一种机制,它在simple pod API 之上的层级。一旦实现,我们最终计划将其移植成为通用插件机制。

01-k8s 架构的更多相关文章

  1. [k8s]k8s架构图解

    k8s架构图解 启动参数及证书梳理 master端必须要装flannel 注: flannel网络能确保各节点间 Pod 网段实现互通 master 节点与 node 节点上的 Pods 通过 Pod ...

  2. [转帖]我花了10个小时,写出了这篇K8S架构解析

    我花了10个小时,写出了这篇K8S架构解析 https://www.toutiao.com/i6759071724785893891/   每个微服务通过 Docker 进行发布,随着业务的发展,系统 ...

  3. 01.基础架构:一条SQL查询语句是如何执行的?学习记录

    01.基础架构:一条SQL查询语句是如何执行的?学习记录http://naotu.baidu.com/file/1c8fb5a0f2497c3a2655fed89099cb96?token=ff25d ...

  4. k8s架构与组件详解

    没有那么多花里胡哨,直接进行一个K8s架构与组件的学习. 一.K8s架构 k8s系统在设计是遵循c-s架构的,也就是我们图中apiserver与其余组件的交互.在生产中通常会有多个Master以实现K ...

  5. k8s架构分析(二)--技术流ken

    master节点 k8s的集群由master和node组成,节点上运行着若干k8s服务. master节点之上运行着的后台服务有kube-apiserver .kube-scheduler.kube- ...

  6. k8s 架构浅析

    文章目录 目录 Kubernetes 的电梯间演讲 Kubernetes 的核心层级对象 Kubernetes 的组件架构 Kubernetes 的组件通信协议/接口 Kubernetes 的分层架构 ...

  7. k8s架构

    master节点 k8s的集群由master和node组成,节点上运行着若干k8s服务. master节点之上运行着的后台服务有kube-apiserver .kube-scheduler.kube- ...

  8. Kubernetes/K8s架构师实战集训营【中、高级班】-2020

    下载地址: [中级班] 链接:https://pan.baidu.com/s/1FWAz2V7BPsObixlZyW93sw提取码:mvu0 [高级班] 链接:https://pan.baidu.co ...

  9. k8s架构分析(二)

    master节点 k8s的集群由master和node组成,节点上运行着若干k8s服务. master节点之上运行着的后台服务有kube-apiserver .kube-scheduler.kube- ...

  10. jQuery源码分析-01总体架构

    1. 总体架构 1.1自调用匿名函数 self-invoking anonymous function 打开jQuery源码,首先你会看到这样的代码结构: (function( window, und ...

随机推荐

  1. Android native进程间通信实例-binder篇之——简单的单工通信

    网上找了很多binder相关文章,大部分都是在跟踪binder实现源代码,然后再把框架代码贴出来,看着实在费力. 这篇文章从实际出发,直接用一个案例下手,后续想了解binder相关原理的话,可以参考& ...

  2. Elasticsearch-head插件使用小结

    1.ElasticSearch-head是什么? ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasti ...

  3. C# 简单TCP协议

    namespace TCPServer { class Program { static void Main(string[] args) { ;//端口 TcpClient tcpClient;// ...

  4. 数据库读写分离Master-Slave

    数据库读写分离Master-Slave 一个平台或系统随着时间的推移和用户量的增多,数据库操作往往会变慢,这时我们需要一些有效的优化手段来提高数据库的执行速度:如SQL优化.表结构优化.索引优化.引擎 ...

  5. Azkaban —— 编译及部署

    一.Azkaban 源码编译 1.1 下载并解压 Azkaban 在3.0版本之后就不提供对应的安装包,需要自己下载源码进行编译. 下载所需版本的源码,Azkaban的源码托管在GitHub上,地址为 ...

  6. Spark学习之路(十六)—— Spark Streaming 整合 Kafka

    一.版本说明 Spark针对Kafka的不同版本,提供了两套整合方案:spark-streaming-kafka-0-8和spark-streaming-kafka-0-10,其主要区别如下:   s ...

  7. tar命令压缩和解压

    https://www.cnblogs.com/jyaray/archive/2011/04/30/2033362.html tar命令详解 -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向 ...

  8. yii中获取当前模块,控制器,方法

    在控制器里 $name = $this->getModule()->id; // module $name = $this->getId();  // controller $nam ...

  9. System.in 获取键盘输入

    此处说明 两种使用System.in获取键盘输入的两种方法,分别是Scanner 和 InputStreamReader. 其中System.in 在System类中的定义如下: package co ...

  10. 渐进式web应用开发---service worker 原理及介绍(一)

    渐进式web应用(progressive Web app) 是现代web应用的一种新形式.它利用了最新的web功能,结合了原生移动应用的独特特性与web的优点,为用户带来了新的体验. 一:传统web端 ...