01-k8s 架构
原文地址: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 架构的更多相关文章
- [k8s]k8s架构图解
k8s架构图解 启动参数及证书梳理 master端必须要装flannel 注: flannel网络能确保各节点间 Pod 网段实现互通 master 节点与 node 节点上的 Pods 通过 Pod ...
- [转帖]我花了10个小时,写出了这篇K8S架构解析
我花了10个小时,写出了这篇K8S架构解析 https://www.toutiao.com/i6759071724785893891/ 每个微服务通过 Docker 进行发布,随着业务的发展,系统 ...
- 01.基础架构:一条SQL查询语句是如何执行的?学习记录
01.基础架构:一条SQL查询语句是如何执行的?学习记录http://naotu.baidu.com/file/1c8fb5a0f2497c3a2655fed89099cb96?token=ff25d ...
- k8s架构与组件详解
没有那么多花里胡哨,直接进行一个K8s架构与组件的学习. 一.K8s架构 k8s系统在设计是遵循c-s架构的,也就是我们图中apiserver与其余组件的交互.在生产中通常会有多个Master以实现K ...
- k8s架构分析(二)--技术流ken
master节点 k8s的集群由master和node组成,节点上运行着若干k8s服务. master节点之上运行着的后台服务有kube-apiserver .kube-scheduler.kube- ...
- k8s 架构浅析
文章目录 目录 Kubernetes 的电梯间演讲 Kubernetes 的核心层级对象 Kubernetes 的组件架构 Kubernetes 的组件通信协议/接口 Kubernetes 的分层架构 ...
- k8s架构
master节点 k8s的集群由master和node组成,节点上运行着若干k8s服务. master节点之上运行着的后台服务有kube-apiserver .kube-scheduler.kube- ...
- Kubernetes/K8s架构师实战集训营【中、高级班】-2020
下载地址: [中级班] 链接:https://pan.baidu.com/s/1FWAz2V7BPsObixlZyW93sw提取码:mvu0 [高级班] 链接:https://pan.baidu.co ...
- k8s架构分析(二)
master节点 k8s的集群由master和node组成,节点上运行着若干k8s服务. master节点之上运行着的后台服务有kube-apiserver .kube-scheduler.kube- ...
- jQuery源码分析-01总体架构
1. 总体架构 1.1自调用匿名函数 self-invoking anonymous function 打开jQuery源码,首先你会看到这样的代码结构: (function( window, und ...
随机推荐
- Dart 异步编程相关概念简述
目录 isolate: event loop: Future: async/await: 总结 参考链接 学习 Dart 的异步编程时,需要对异步编程所涉及的相关知识体系进行梳理,我们可根据以下几 ...
- 【JDK】ArrayList集合 源码阅读
这是博主第二次读ArrayList 源码,第一次是在很久之前了,当时读起来有些费劲,记得那时候HashMap的源码还是哈希表+链表的数据结构. 时隔多年,再次阅读起来ArrayList感觉还蛮简单的, ...
- hexo + next搭建博客
使用hexo和next主题搭建GitHub博客 安装node.js 在node.js 官网下载, 相应系统位数的软件包. 可以选择LTS长期支持版, 或者Current当前版本. 我这里选择的是Win ...
- (持续更新)Qt3D 学习资源
目录 一.前言 1.1 什么是Qt3D 1.2 Qt3D 的利与弊 利:原生支持 弊处:资料过少 二.学习建议 2.1 OpenGL 学习资料 2.2 Qt3D 资料 2.2.1 视频资料 2.2.4 ...
- 自己挖的坑跪着也要填完---mapper配置文件和java源文件在同一包下
本来准备研究下mybatis源码执行流程的,就随意搭建了个项目,所有配置如下: 一切看似都是那么的正常,然而执行的时候:Exception in thread "main" org ...
- javascript——原型与原型链
一.prototype 在JavaScript中,每个函数都有一个prototype属性,这个属性指向函数的原型对象. 例如: function Person(age) { this.age = ag ...
- 微服务-springcloud-注册中心
创建服务注册中心(eureka-server) 1.创建项目,选择 Eureka Server 别的都不要选择,next-finish 2.application.yml中写入如下信息:通过eurek ...
- jQuery 文本框 光标 移动到 文字最后
方法一:调用办法:setCaretToPos(document.getElementById("YOURINPUT"), 4); function setSelectionRang ...
- Object.keys使用整理
一.语法 Object.keys(obj) 参数:要返回其枚举自身属性的对象 返回值:一个表示给定对象的所有可枚举属性的字符串数组 二.处理对象,返回可枚举的属性数组 let person = { n ...
- springcloud高可用方案
1. 场景描述 公司在规划后续可能会做中台服务,考虑用微服务的方案,让用springcloud部署个简单的高可用Demo. 2. 解决方案 2.1 方案说明 demo用了5台虚拟机: (1)1台gat ...