kubernetes架构之二
一、概述
IaaS:即基础设施即服务,通过虚拟化和分布式存储等技术,实现对包括服务器、存储设备、网络设备等各种物理资源的抽象;从而形成了一个可扩展、可按需分配的虚拟资源池。最具代表性的IaaS产品有Amazon AWS,提供虚拟机EC2和云存储S3等服务;
PaaS:平台即服务,为开发者提供了应用的开发环境和运行环境,将开发者从繁琐的IT环境管理中解放出来;PaaS主要面向的是软件专业人员;
SaaS:软件即服务,面向使用软件的终端用户。比如:在线使用的邮箱系统
二、架构和组件
kubernetes API Server: 作为k8s系统的入口,其封装了核心对象的增删改查的操作,以REST API接口方式提供给外部客户和内部组件调用,它维护的REST对象将持久化到Etcd中。
kubernetes Scheduler:负责集群的资源调度,为新建的Pod分配host。这部分工作独立成一个组件,意味着可以很方便地替换成其他的调度器;
kubernetes Controller Manager:负责执行各种控制器,目前已经实现很多控制器来保证kubernetes的正常运行,主要的控制器如下:
| 控制器 | 说明 |
| Replication Controller | 管理维护Replication Controller,关联Replication Controller 和Pod,保证Replication Controller定义的副本数量与实际运行Pod的数量是一致的 |
| Node Controller | 管理维护Node,定期检查Node的健康状态,标识出失效的Node |
| Namespace Controller | 管理维护Namespace,定期清理无效的Namespace,包括Namespace下的API对象,像Pod、Service和Secret等 |
| Endpoint Controller | 管理维护Endpoints,关联Service和Pod,创建Endpoints作为Service的后端,当Pod发生变化时,实时刷新Endpoints |
| Service Account Controller | 管理维护Service Account,为每个Namespace创建默认的Service Account,同时为Service Account创建Service Account Secret |
| Persistent Volume Controller | 管理维护Persistent Volume和Persistent Volume Claim,为新的Persistent Volume Claim分配Persistent Volume进行绑定,为释放的Persistent Volume执行清理回收 |
| Daemon Set Controller | 管理维护Deamon Set,负责创建Daemon Pod,保证指定的Node上正常运行Daemon Pod |
| Deployment Controller | 管理维护Deployment,关联Deployment和Replication Controller,保证运行指定数目的Pod,当Deployment更新时,控制实现Replication Controller和Pod的更新 |
|
Job Controller |
管理维护Job,为Job创建一次性任务Pod,保证完成Job指定完成的任务数目 |
|
Pod Autoscaler Controller |
实现Pod的自动伸缩,定时获取监控数据,进行策略匹配,当满足条件时执行Pod的伸缩动作 |
kubernetes Node是运行节点,用于运行管理业务的容器,包含以下组件:
Kubelet: 负责管控容器,kubelet会从kuberenetes API Server接收Pod的创建请求,启动和停止容器,监控容器运行状态并汇报给Kubernetes API Server
Kubernetes Proxy:负责为Pod创建代理服务,Kuberenetes Proxy会从Kubernetes API Server获取所有的Service,并根据Service 信息创建代理服务,实现Service 到Pod的请求路由和转发,从而实现kubernetes曾经的虚拟转发网络;
Docker: k8s Node是容器运行节点,需要运行Docker服务,目前k8s也支持Rocket(一款CoreOS开发的类Docker的开源容器引擎);
三、k8s网络:
k8s的网络模型要求每一个Pod都拥有一个扁平化共享网络命名空间的IP,成为PodIP, Pod能够直接通过PodIP跨网络与其他物理机和Pod进行通信。要实现k8s网络模型,需要在k8s集群中创建一个覆盖网络(Overlay Network),联通各个节点,目前可通过第三方网络插件来创建覆盖网络,例如:Flannel和Open vSwitch。
Flannel为不同Node的Docker网桥配置不同的IP网段以保证Docker容器的IP在集群内唯一,所以Flannel会重新配置Docker网桥,需要先删除原先创建的Docker网桥;
四、k8s深入:
k8s是容器集群管理系统,为容器化的应用提供资源调度、部署运行、容灾容错和服务发现等功能。其中涉及Pod、Replication Controller和Service这k8s基本要素的功能展示;
kubernetes架构之二的更多相关文章
- 【Kubernetes 系列二】从虚拟机讲到 Kubernetes 架构
目录 什么是虚拟机? 什么是容器? Docker Kubernetes 架构 Kubernetes 对象 基础设施抽象 在认识 Kubernetes 之前,我们需了解下容器,在了解容器之前,我们得先知 ...
- kubernetes架构(2)
一.Kubernetes 架构: Kubernetes Cluster 由 Master 和 Node 组成,节点上运行着若干 Kubernetes 服务. Master 节点 Master 是 Ku ...
- Kubernetes架构
一.Kubernetes 架构: Kubernetes Cluster 由 Master 和 Node 组成,节点上运行着若干 Kubernetes 服务. 1. Master 节点 Master 是 ...
- 第2篇Kubernetes架构
一.Kubernetes 架构: Kubernetes Cluster 由 Master 和 Node 组成,节点上运行着若干 Kubernetes 服务. Master 节点 Master 是 ...
- Kubernetes架构介绍
目录 Kubernetes架构 k8s架构图 一.K8S Master节点 API Server Scheduler Controller Manager ETCD 二.K8S Node节点 Kube ...
- kubernetes架构及deployment应用(4)
Kubernetes Cluster 由 Master 和 Node 组成,节点上运行着若干 Kubernetes 服务. 一.master节点 Master 是 Kubernetes Cluster ...
- Redis缓存项目应用架构设计二
一.概述 由于架构设计一里面如果多平台公用相同Key的缓存更改配置后需要多平台上传最新的缓存配置文件来更新,比较麻烦,更新了架构设计二实现了缓存配置的集中管理,不过这样有有了过于中心化的问题,后续在看 ...
- Kubernetes 架构(下)- 每天5分钟玩转 Docker 容器技术(121)
上一节我们讨论了 Kubernetes 架构 Master 上运行的服务,本节讨论 Node 节点. Node 是 Pod 运行的地方,Kubernetes 支持 Docker.rkt 等容器 Run ...
- Linux集群架构(二)
Linux集群架构(二) 目录 八.LVS DR模式搭建 九.keepalived + LVS 十.扩展 八.LVS DR模式搭建 1.实验环境: 四台机器: client: 10.0.1.50 Di ...
随机推荐
- paypal 的IPN通知调用出错
一直报错: 当本地curl需要访问https时,出现SSL certificate: unable to get local issuer certificate错误信息 解决办法: 到http:// ...
- java enum 用法
/* * Hibernate, Relational Persistence for Idiomatic Java * * Copyright (c) 2010, Red Hat Inc. or th ...
- android studio中的常用快捷键
1.Ctrl+Alt+Space 这个类似Eclipse中的Alt+/,实现智能提示功能的 2.Ctrl+Y 删除当前行,Eclipse中是Ctrl+D,伤不起,每次都习惯性的按Ctrl+D,不删,反 ...
- ZH奶酪:哈工大LTP云平台标记含义及性能
从官网搬过来的 囧rz 哈工大讯飞语言云 由哈工大 和科大讯飞 联合研发的中文自然语言处理云服务平台.结合了哈工大“语言技术平台——LTP” 高效.精准的自然语言处理核心技术和讯飞公司在全国性大规模云 ...
- [网摘][医学影像] DICOM 和 NIFTI 基础知识与区别
查找DICOM基础知识时,看到这篇文章里面写了一些关于使用深度学习进行医疗影像分析:文件格式篇.下文摘自:https://www.jiqizhixin.com/articles/2017-07-31 ...
- 微信小程序 - 动态背景图片实现
很简单-就两步 wxml(遍历style的background-image路径即可) wxss(.ab)
- 微软BI 之SSRS 系列 - 使用带参数的 MDX 查询实现一个分组聚合功能的报表
基于数据仓库上的 SSRS 报表展示,一般可以直接通过 SQL 查询,存储过程,视图或者表等多种方式将数据加载并呈现在报表中.但是如果是基于 Cube 多维数据集的数据查询,就不能再使用 SQL 的语 ...
- All you should know about NUMA in VMware!
http://www.elasticvision.info/ All you should know about NUMA in VMware! Lets try answering some typ ...
- .NET MVC中登陆授权过滤器的使用
1.写个类LoginAuthorityAttribute,继承自AuthorizeAttribute using System; using System.Collections.Generic; u ...
- Max SPA
Stingray Response_ContentType Stingray javascript 其实是支持返回原生html的, 有了这个事情就简单了 RHTML - Response_Conten ...