一、简介
Kubernetes是容器集群管理系统工具,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。Kubernete服务器系统s的名字来自希腊语,意服务器内存和台式机内存区别思是“舵手” 或 “领航员”,K8s是将8个字母“ubernete”替换为“8”的缩写。
二、起源
大规模容器集群管理工具,从Borg到Kubernetes
在Docker 作为高级容器引擎快接口自动化速发展的同时,Googl容器云e也开始将自身在容器技术及集群方面的积累贡献出来。在Goog服务器系统le内部,容器技术已经应用了很多年,Borg系统运行管理着成千上万的容器应用,在它的支持下软件设计思想,无论是谷歌搜索、Gmail还是谷歌地图,可以轻而易举地从庞大的数据中心中获取技术资源来支撑服务运行。K接口类型ubernetes项目来源于Borg,可以说是集结了Borg设计思想的精华,并且吸收了Borg系统中的经验和教训。
Kubernetes作为容器集群管理工具,于2015年7月22日迭代到 v 1.0并正式对外公布,这意味着这个开源容器编接口自动化排系统可以正式在生产环境使用。与此同时,谷歌联合Linux基金会及其他合作伙伴共同成立了CNCF基金会( Cloud Native Computing F开源矿工oundation),并将Kuberentes 作为首个编入开源阅读app下载安装CNCF管理体系的开源项目,助力容器技术生态的发展进步。
k8s github地址: github.com/kubernetes/…
三、K8s架构
Kubernetes集群包含有节点代理kubelet和Master组件(APIs, scheduler, etc),一切都基于分布式的存储系统。下面这张图是Kubernetes的容器英文架构图。
1)Kubernetes的核心概念
- Pod
运行于Node节点上接口文档,若干相关容器的组合。Pod内包含的容器运行在同服务器地址一宿主机上,使用相同的网络命名空间、IP地址和端口,能够通过localhost进行通。Pod是Kurbernetes进行创建、调度和管理的最小单位,它提供了比容器更高层次的抽象,使得接口类型部署和管理更加灵活。一个Pod可以包含一个容器服务器或者多个相关容器。
- Replication Controller
Replication Controller用来管理Pod的副本,保证集群中存在指定数量的Pod副本。集群中副本的数量大于指容器英文定数量,则会停止指定数量之外的多余容器数量,反之,则会启动少于指定数量个数的容器,保证数量不变。Replication Controller是实现弹性伸缩、动态扩容和滚动升级的核心。
Kubernet容器设计es 基础接口类型组件:
- Service
S程序设计思想ervice定义了Pod的逻辑集合和访问该集合的策开源众包略,是真实服务的抽象。Service提供了一个统一的服务访问入口以及服务代理和服务器价格发现机制,用户不需要了解后台Pod是如何运接口测试行。
- Label
Kubernetes中的任意API对象都是通过Label进行标识,Label的实质是一系列的K/V键值对。Label是Replication Controller和Service运行的基础,二者通过Label来进行关联Node上运行的Pod。
2)Kubernetes Master节点组件
master节点:集群控制节点,来负责整个集群的管理和控制,基本上k8s的所有控制命令都是开源节流发给它。我们后面执行的命令基本都是在master节点接口上运行的。通常它会占据一个独立的x86服务器(或一个虚拟机)。
- kube-apiserver:主节点上负责提供 Kubernetes API 服务的组件;它是 Kubernetes 控制面的前端
- etcd:etcd 是兼具一致性和高可用性的键值数据库,可以作为保存 Kubernetes 所有集群数据的后台数据库。
k开源阅读ube-scheduler:主节点上的组件,该组接口类型件监视那些新创建的未指定运行节点的 Pod,并选择节点让 Pod 在上面运行。 3. kube-controller-manager:集群内部的管理控制中心,负责集群内的N接口ode、P开源是什么意思od副本、服务端点(Endpoint)、命名空间(Namespace)、服务账号(ServiceAccount)、资源定额(ResourceQuota)的管理,当某个Node意外宕机时,Controller Manager会及时发现并执行自动化修复流程容器技术,确保集群开源软件始终处于预接口英文期的工作状态服务器是什么。
负责执行各种控制器,目前已经提供了很多控制器来保证Kubernetes的正常运行。
- 复制控制器(Replication Controller,RC)
管理维护Replication Controller,关联Replication Controller和Pod,保证Replication Controller定义的副本数量与实际运行P服务器内存条可以用在台式机上吗od数量一致。
- 副本集控制器(Replica Set Controller,容器英文RS)
RS是新一代RC,提供同样的高可用能力,区别主要在于RS后来居上,能支持更多种类的匹配模式。副本集开源阅读对象一般不单独使用,而是作为D容器云eployment的理想状态参数使用。
- 部署控制器(Deployment Controller)
部署是一个比RS应用模式更广的API对象,可以是创建一容器中有某种酒精含量的酒精溶液个新的服务,更新容器云一个新的服务,也可以是滚动升级一个服务开源阅读app下载安装。滚动升级服务器地址一个服务,实际是服务器内存条可以用在台式机上吗创建一个新的RS,然后逐渐将新RS中副本数增加到理想状态,将旧RS中的副本数减小到0的复合操作;这样一个复合操作用一个RS是不太好描述的,所以用一个更通容器对桌面的压强怎么算用的Deployment来描述。以K8s的发展方向,未来对所有长期伺服型的的业务的管接口crc错误计数理,都会通过Deployment来管理。
- Namespace Controller(NC)接口
管理维护N开源是什么意思amespace,定期清教学设计思想理无效的Names开源中国pace,包括接口测试Namesapce下的API对象,比如Pod、Service等。
- Service Controller(SC)
管理维护Service,提供负载以及服务代理。
- EndPoints Controller
管理维护Endpoin开源节流是什么意思ts,关联Service和Pod,创建Endpoints为Service的后端,当Pod发生变化时,实时更新Endpoints。
- Service Account Controll设计思想是什么意思er
管理维护Service Account,为每个Namespace创建默认的Service Account,同时为Service Account创建Service Account Secret。
- Pe容器中有某种酒精含量的酒精溶液rs开源众包istent Volume Controller
管理维容器的容积一定比它的体积小护Persistent Volume和Persistent Vol接口英文ume Claim,为新的Persistent Volu接口测试me Claim分配Persistent Volume进行绑定,为释放的Pe服务器租用多少钱一年rsistent Volume执行清理回收。
- 后台支撑服务集控制器(Daemon Set Controller)
管理维护Daemon Set,负责创建Daemon Pod,保证指定的Node上正常的运行Daemon Pod。
- 任务控制器(Job Controller)
管理维护Job,为Jod创建一次性任务Pod,保证完成Job服务器怎么搭建指定完成的任务数目
- Pod Autoscaler Controller
实现Pod的自动伸缩,定时获取监控数据,进行策略匹配,当满足条件时执行Pod的伸缩动作。
- c程序设计思想loud-controller-manager:是kubernetes与云厂商提供的服务能力对接的关键组件。这是 Kubernetes 1.6 版本中引入的特性。
3)Kubernetes Node节容器的容积一定比它的体积小点设计思想怎么写组件
nod开源是什么意思e节点:集群中其他容器英文机器被称为node节点,Node可以是一台物理机,也可以是一台虚拟机。当某个node宕机,其上的工作容器是什么负载会被master自动转移到其他节点上。
- kubelet:负责pod对应的容器创建、启停等任务。
- kube-porxy:实现service通信的重要组件。
- 容器引擎:容器引擎负责运行容器。Kubernet容器是什么es支持多种容器引擎:Docker、接口类型containerd、c教学设计思想ri-o、rktlet 以及任何实容器所能容纳什么叫做容器的容积现了 Kubernetes容器引软件设计思想擎接口 的容器引擎。
【温馨提示】node节点可以在运行期间动态增加到k服务器操作系统8s集群中,在默认情况下kubelet会将master注册自己,并定时想开源阅读master汇报自身情报。
4)addons(插件)
- kube接口文档-dns:负责为整个集群提供DNS服务
- Ingress Contr接口类型oller:为服务提供外网入口,负载均衡
- Heapster:提供资源监控
- Dashboard:提供GUI
- Federation:提供跨可用区的集群
- Fluentd-el开源是什么意思astics软件设计思想e接口crc错误计数arch:提供集群日志采集、存储与查询
四、RBAC访问授权
K接口文档8s在1.3版本中发布了alpha版的基于角色的访问控制(Role-based Access Control,RBAC)的授权模式。相对于基于属性的访问控制(Attribute-based开源阅读 Access Control,ABAC),RBAC主要是引入了角色开源节流(Role)和角色绑开源阅读app下载安装定(RoleBinding)的抽象概念。在ABAC中,K8s集群中的接口类型访问策略只能跟用户直接关服务器是什么联;而在RBAC中,访问策略可以跟某个角色关联,具体的用户在跟一个或多个角色相关联。显然,RBAC像其他新功能一样,每次引入新功能,开源众包都会引入新的API对象,从而引入新的概念开源阅读抽象,而这一新的概念抽象一定会使集群服务管理和使用更容易扩展和容器中有某种酒精含量的酒精溶液重用。