1.Kubernetes介绍

1.1 简介

Kubernetes是什么?
首先,它是一个全新的基于容器技术的分布式架构领先方案。
其次,它是一个开放的开发平台。
最后,它是一个完备的分布式系统支撑平台。
Kubernetes是Google团队发起的开源项目,它的目标是管理跨多个主机的容器,提供基本的部署,维护以及运用伸缩,主要实现语言为Go语言。
Kubernetes特点是:
•易学:轻量级,简单,容易理解
•便携:支持公有云,私有云,混合云,以及多种云平台
•可拓展:模块化,可插拔,支持钩子,可任意组合
•自修复:自动重调度,自动重启,自动复制。
Kubernets目前在https://github.com/kubernetes/kubernetes进行维护。

1.2 基本概念

•Node(节点):在Kubernetes中,节点是实际工作的点,较早版本称为Minion。节点可以是虚拟机或者物理机器,依赖于一个集群环境。每个节点都有一些必要的服务以运行Pod容器组,并且它们都可以通过主节点来管理。在Node上运行的服务进程包括docker daemon,Kubelet和 Kube-Proxy。
•Pod(容器组):是Kubernetes的基本操作单元,把相关的一个或多个容器构成一个Pod,通常Pod里的容器运行相同的应用。Pod包含的容器运行在同一个节点上,看作一个统一管理单元,共享相同的volumes和network namespace/IP和Port空间。
•Pod的生命周期:Pod的生命周期是通过Replication Controller来管理的。在整个过程中,Pod处于4种状态之一:Pending, Running, Succeeded, Failed。
•Replication Controller(RC):用于定义Pod副本的数量。确保任何时候Kubernetes集群中有指定数量的Pod副本在运行, 如果少于指定数量的Pod副本,Replication Controller会启动新的Pod,反之会杀死多余的以保证数量不变。
•Service(服务):一个Service可以看作一组提供相同服务的Pod的对外访问接口。
•Volume(存储卷):Volume是Pod中能够被多个容器访问的共享目录。
•Label(标签):用于区分Pod、Service、Replication Controller的key/value键值对,Pod、Service、 Replication Controller可以有多个label,但是每个label的key只能对应一个value。Labels是Service和Replication Controller运行的基础,为了将访问Service的请求转发给后端提供服务的多个容器,正是通过标识容器的labels来选择正确的容器。同样,Replication Controller也使用labels来管理通过pod 模板创建的一组容器,这样Replication Controller可以更加容易,方便地管理多个容器,无论有多少容器。
•Proxy(代理):是为了解决外部网络能够访问跨机器集群中容器提供的应用服务而设计的。Proxy提供TCP/UDP sockets的proxy,每创建一种Service,Proxy主要从etcd获取Services和Endpoints的配置信息,或者也可以从file获取,然后根据配置信息在Minion上启动一个Proxy的进程并监听相应的服务端口,当外部请求发生时,Proxy会根据Load Balancer将请求分发到后端正确的容器处理。
•Namespace(命名空间):通过将系统内部的对象“分配”到不同的Namespace中,形成逻辑上的不同分组,便于在共享使用整个集群的资源同时还能分别管理。
•Annotation(注解):与Label类似,但Label定义的是对象的元数据,而Annotation则是用户任意定义的“附加”信息。

1.3 组件

1.3.1 Master运行三个组件:

•apiserver:作为kubernetes系统的入口,封装了核心对象的增删改查操作,以RESTFul接口方式提供给外部客户和内部组件调用。它维护的REST对象将持久化到etcd(一个分布式强一致性的key/value存储)。
•scheduler:负责集群的资源调度,为新建的Pod分配机器。这部分工作分出来变成一个组件,意味着可以很方便地替换成其他的调度器。
•controller-manager:负责执行各种控制器,目前有两类:
(1)endpoint-controller:定期关联service和Pod(关联信息由endpoint对象维护),保证service到Pod的映射总是最新的。
(2)replication-controller:定期关联replicationController和Pod,保证replicationController定义的复制数量与实际运行Pod的数量总是一致的。

1.3.2 Worker运行两个组件:

•kubelet:负责管控docker容器,如启动/停止、监控运行状态等。它会定期从etcd获取分配到本机的Pod,并根据Pod信息启动或停止相应的容器。同时,它也会接收apiserver的HTTP请求,汇报Pod的运行状态。
•proxy:负责为Pod提供代理。它会定期从etcd获取所有的service,并根据service信息创建代理。当某个客户Pod要访问其他Pod时,访问请求会经过本机proxy做转发。

转自:http://blog.yaodataking.com/2016/02/kubernetes-guestbook.html

转载于:https://www.cnblogs.com/bonelee/p/6834969.html

Kubernetes——基于容器技术的分布式架构领先方案,它的目标是管理跨多个主机的容器,提供基本的部署,维护以及运用伸缩...相关推荐

  1. 阿里专家讲中台:技术中台-分布式架构在蚂蚁金服的实践

    来源| 阿里云峰会 文| 技术领导力社区 本文整理自,阿里高级技术专家-许文奇在2019阿里云峰会上的分享<技术中台-分布式架构在蚂蚁金服的实践>,结合技术领导力社区架构专家的点评和解读, ...

  2. 基于PCDN技术的无延时直播方案

    摘要: 2018亚太CDN峰会在北京隆重召开,在4月12日上午的运营商论坛中,阿里云边缘计算团队高级技术专家张士波进行了<基于PCDN技术的无延时直播方案>的主题演讲.本文为演讲内容.当大 ...

  3. 基于ZigBee技术的智能家居系统实施方案

    智能家居:通常意义上的智能家居是指使用计算机技术.网络技术.综合布线技术.传感器技术和设备自动控制技术建立家庭或楼宇智能化管理平台,通过信息管理平台将与家居生活相关的各种设施管理起来.智能家居信息系统 ...

  4. Kubernetes 基于 EFK 技术栈的日志收集实践

    之前写过一篇文章介绍了容器环境下日志管理的原理机制:从 Docker 到 Kubernetes 日志管理机制详解,文章内容偏理论,本文在该理论的支撑下具体实践 Kubernetes 下基于 EFK 技 ...

  5. 分享 : 警惕MySQL运维陷阱:基于MyCat的伪分布式架构

    分布式数据库已经进入了全面快速发展阶段.这种发展是与时俱进的,与人的需求分不开,因为现在信息时代的高速发展,导致数据量和交易量越来越大.这种现象首先导致的就是存储瓶颈,因为MySQL数据库实质上还是一 ...

  6. Docker容器技术-基础与架构

    一.什么是容器 容器是对应用程序及其依赖关系的封装. 1.容器的优点 容器与主机的操作系统共享资源,提高了效率,性能损耗低 容器具有可移植性 容器是轻量的,可同时运行数十个容器,模拟分布式系统 不必花 ...

  7. 基于LoRa技术的LoRaMESH智能环卫方案详解

    原文链接: https://www.szrfstar.com/news/%E5%9F%BA%E4%BA%8ELoRa%E6%8A%80%E6%9C%AF%E7%9A%84LoRaMESH%E6%99% ...

  8. 煤矿,隧道,管廊高精度人员定位_基于UWB技术的TWR一维定位方案介绍

    针对工业/汽车.物流仓储.传统制造业.电力行业.医疗保健.高危化工业.隧道/管廊.建筑工地.公检司法的重点安保区域等高精度人员定位需求,SKYLAB推出了基于UWB技术的定位系统.通过在定位区域内部署 ...

  9. 基于RFLD技术的智能小区一卡通应用方案

    摘要:哲云智能一卡通系统将传统管理中的门禁管理.考勤管理.消费管理.巡更管理.停车场.访客管理等各个系统联为一体,采用一张卡来应用,实现身份识别.消费等各项功能,并建立统一的身份信息库,为与其它ERP ...

最新文章

  1. javascript获取asp.net服务器端控件的值(2009-10-31 15:24:26)转载标签:杂谈 分类:技术分类
  2. STL的array容器
  3. win8看不到win7局域网计算机名,实现Win7旗舰版与win8.1系统局域网里文件共享的设置方法【图】...
  4. mysql dba 视频_MySQL DBA入门到高级系列视频教程 [高清完整版]
  5. 好玩的Scratch
  6. 云计算三种服务模式SaaS、PaaS和IaaS及其之间关系(顺带CaaS、MaaS)
  7. C++中继承和派生详解(公有、私有、保护继承的区别)
  8. 推荐Android中两个很好用的banner,可无限轮播,可使用第三方图片加载框架加载网络图...
  9. 浅谈堆(2016-12-31 09:59)错误更改
  10. JDK6中synchronized优化之锁升级
  11. 单循环链表和双向循环链表
  12. 元素出现>强调>再消失的动画制作【PPT动画】
  13. 微信小程序自带地图_微信小程序 地图(map)实例详解
  14. 235款鼠标样式免费下载
  15. HCSA-07 配置Web认证、配置Active Directory(AD)
  16. react实现上传文件进度条功能_js上传文件(可自定义进度条)
  17. Python二进制内容转为中文(二进制转中文)
  18. excel删除无尽空白行_Excel2019如何批量删除表格中的空白行?
  19. 用Matlab实现猫变虎简单动画
  20. Hypervisor---虚拟化技术简易说明

热门文章

  1. 七、 熵编码算法(1)——基础知识
  2. shell中join链接多个域_shell 如何实现两个表的join操作
  3. 行波和驻波动画演示gif_新技能get√ | 语文课上的笔顺动画可以这么做
  4. dw按钮图片滚动js_使用 React Hooks 实现仿石墨的图片预览插件(巨详细)
  5. 消控中心人员配置_建筑能耗监测系统集中化运行管理模式和人员配置!
  6. c++连连看游戏_用Python玩连连看是什么效果?
  7. 软件自动升级ftp服务器,国人自己的专业FTP服务器软件(上)
  8. java编程那些事pdf下载_《Java编程那点事儿》读书笔记(六)
  9. php过滤数据库就报错,php过滤掉emoji等无法存入MySQL数据库的字符简单示例
  10. react native报错:Expected a component class,got[object object]