(完整版)Kubernetes技术分享PPT课件下载推荐.ppt
- 文档编号:13259568
- 上传时间:2022-10-09
- 格式:PPT
- 页数:41
- 大小:5.49MB
(完整版)Kubernetes技术分享PPT课件下载推荐.ppt
《(完整版)Kubernetes技术分享PPT课件下载推荐.ppt》由会员分享,可在线阅读,更多相关《(完整版)Kubernetes技术分享PPT课件下载推荐.ppt(41页珍藏版)》请在冰豆网上搜索。
比对与ZooKeeper,etcd更量轻级1.etcd是由CoreOS开发并维护的,灵感来自于ZooKeeper和Doozer,提供了与ZooKeeper相似的功能,它使用Go语言编写,并通过Raft一致性算法处理日志复制以保证强一致性。
Raft是一个新的一致性算法,适用于分布式系统的日志复制,Raft通过选举的方式来实现一致性。
Google的容器集群管理系统Kubernetes、开源PaaS平台CloudFoundry和CoreOS的Fleet都广泛使用了etcd。
在分布式系统中,如何管理节点间的状态一直是一个难题,etcd像是专门为集群环境的服务发现和注册而设计,它提供了数据TTL失效、数据改变监视、多值、目录监听、分布式锁原子操作等功能,可以方便的跟踪并管理集群节点的状态etcd简单:
支持curl方式的用户API(HTTP+JSON)安全:
可选的SSL客户端证书认证快速:
单实例每秒1000次读写能力可靠:
使用Raft保证强一致性Etcd的用景包括服(应场务发现ServiceDiscovery)、消息布、均衡、发与订阅负载分布式通知、分布式、分布式列。
如果与协调锁队你熟悉ZooKeeper,你会发现etcd实了现ZooKeeper的功能Node除了Master,Kubernetes集群中的其他机器被称为Node节点,早期版本也称为Minion节点Node节点才是Kubernetes集群中的工作负载节点,每个Node都会被Master分配一些工作负载(Docker容器),当某个Node宕机,其上的工作负载会被Master自动转移到其他节点上去1.kubelet,负责Pod对应的容器的创建、启停等任务,同时与Master节点密切协作,实现集群管理的基本功能。
一旦Node被纳入集群管理范围,kubelet进程就会向Master汇报自身的情报,这样Master可以获知每个Node的资源使用情况,并实现高效均衡的资源调度策略。
而某个Node超过指定时间不上报信息,会被Master“判定为失”联,Node状态被标记为不可用(NotReady),随后Master“”会触发工作负载大转移的自动流程;
2.kube-proxy,实现KubernetesService的通信与负载均衡机制的重要组件;
3.DockerEngine(docker),Docker引擎,负责本机的容器创建和管理工作;
NodePod是最小部署单元,一个Pod由一个或多个容器组成,Pod中容器共享存储和网络,在同一台Docker主机上运行。
同一个Pod里的容器共享同一个网络命名空间,可以使用localhost互相通信1.每个Pod“”都有一个特殊的被称为根容器的Pause容器,还包含一个或多个紧密相关的用户业务容器;
2.一个Pod里的容器与另外主机上的Pod容器能够直接通信;
3.如果Pod所在的Node宕机,会将这个Node上的所有Pod重新调度到其他节点上;
4.普通Pod及静态Pod,前者存放在etcd中,后者存放在具体Node上的一个具体文件中,并且只能在此Node上启动运行;
5.DockerVolume对应Kubernetes中的PodVolume;
6.每个Pod可以设置限额的计算机资源有CPU和Memory;
Requests,资源的最小申请量;
Limits,资源最大允许使用的量;
PodPodPod、容器与Node关系Endpoint(IP+Port)标识服务进程的访问点Event是一个事件记录,记录了事件最早产生的时间、最后重复时间、重复次数、发起者、类型,以及导致此事件的原因等信息。
Event通常关联到具体资源对象上,式排查故障的重要参考信息;
Endpoint、EventServiceService一个应用服务抽象,定义了Pod逻辑集合和访问这个Pod集合的策略。
Service代理Pod集合对外表现是为一个访问入口,分配一个集群IP地址,来自这个IP的请求将负载均衡转发后端Pod中的容器。
Service通过LableSelector选择一组Pod提供服务。
在K8s集群中微服务的负载均衡是由Kube-proxy实现的,在K8s的每个节点上都有一个Service“”其实就是我们经常提起的微服务架构中的一个微服务,kubernetes中的核心。
通过分析、识别并建模系统中的所有服务为微服务KubernetesService,最终我们的系统由多个提供不同业务能力而又彼此独立的微服务单元所组成,服务之间通过TCP/IP进行通信,从而形成了我们强大而又灵活的弹性网络,拥有了强大的分布式能力、弹性扩展能力、容错能力ServiceServiceService如上图示,每个Pod都提供了一个独立的Endpoint(PodIP+ContainerPort)以被客户端访问,多个Pod副本组成了一个集群来提供服务,一般的做法是部署一个负载均衡器来访问它们,为这组Pod开启一个对外的服务端口如8000,并且将这些Pod的Endpoint列表加入8000端口的转发列表中,客户端可以通过负载均衡器的对外IP地址+服务端口来访问此服务。
运行在Node上的kube-proxy其实就是一个智能的软件负载均衡器,它负责把对Service的请求转发到后端的某个Pod实例上,并且在内部实现服务的负载均衡与会话保持机制。
Service不是共用一个负载均衡器的IP地址,而是每个Servcie分配一个全局唯一的虚拟IP地址,这个虚拟IP被称为ClusterIP。
ServiceNodeIPNode节点的IP地址,是Kubernetes集群中每个节点的物理网卡的IP地址,是真是存在的物理网络,所有属于这个网络的服务器之间都能通过这个网络直接通信;
PodIPPod的IP地址,是DockerEngine根据docker0网桥的IP地址段进行分配的,通常是一个虚拟的二层网络,位于不同Node上的Pod能够彼此通信,需要通过PodIP所在的虚拟二层网络进行通信,而真实的TCP流量则是通过NodeIP所在的物理网卡流出的;
ClusterIPService的IP地址。
特性如下:
仅仅作用于KubernetesServcie这个对象,并由Kubernetes管理和分配IP地址;
无法被Ping“”,因为没有一个实体网络对象来响应;
只能结合ServicePort组成一个具体的通信端口;
NodeIP网、PodIP网域ClusterIP网之间的通信,采用的是Kubernetes自己设计的一种编程方式的特殊的路由规则,与IP路由有很大的不同;
LabelLabel可以附加到各种资源对象上,一个资源对象可以定义任意数量的Label。
给某个资源定义一个Label,相当于给他打一个标签,随后可以通过LabelSelector(标签选择器)查询和筛选拥有某些Label的资源对象。
我们可以通过给指定的资源对象捆绑一个或多个Label来实现多维度的资源分组管理功能,以便于灵活、方便的进行资源分配、调度、配置、部署等管理工作;
LabelSelector示例:
select*frompodwherepodsname=XXX,env=YYY,支持操作符有=、!
=、in、notin;
部署和升级Pod,声明某种Pod的副本数量在任意时刻都符合某个预期值;
Pod期待的副本数;
用于筛选目标Pod的LabelSelector;
当Pod副本数量小于预期数量的时候,用于创建新Pod的Pod模板(template);
ReplicationController(RC)下一代的ReplicationControlle,RC与RS唯一区别就是lableselector支持不同,RS支持新的基于集合的标签,RC仅支持基于等式的标签。
ReplicationControlle只支持基于等式的selector(env=dev或environment!
=qa)但ReplicaSet还支持新的、基于集合的selector(versionin(v1.0,v2.0)或envnotin(dev,qa)),这对复杂的运维管理带来很大方便。
ReplicaSet拥有更加灵活强大的升级、回滚功能。
在新的版本中,官方推荐使用ReplicaSet和Deployment来代替RC,两者相似度90%,相对于RC一个最大升级是我们随时指导当前Pod“”部署的进度。
Deployment使用了ReplicaSet,除非需要自定义升级功能或根本不需要升级Pod,一般情况下,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 Kubernetes 技术 分享