版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
KubeSphere20211123目 录产品描述 7产品理念 7产品功能 10提供Kubernetes平台管理和容器调度服务 10丰富的可观测性 提供多集群管理 12提供传统应用的平滑上云保障 13提供企业级容器平台运营保障 13持续集成/持续交付(CI/CD) 14微服务治理 143.7.应用全生命周期管理 14应用场景 15开发架构 16开发语言及开源软件 16产品架构 18系统逻辑架构 18系统物理架构 19基于物理机的部署 20基于青云云平台部署 22业务模块架构设计 24多租户权限管理模块(IAM&AM) 24基本概念详解 24权限管理概览&权限等级的划分 25架构设计 25DevOps模块 29模块功能特点 30主要组件 30架构设计 31可观测性模块 31-监控 31模块功能特点 31主要组件 32架构设计 32日志 33模块功能特点 33主要组件 33架构设计 33审计 34模块功能特点 34主要组件 35架构设计 35事件 36模块功能特点 36主要组件 37架构设计 38告警与通知 38模块功能特点 38主要组件 39架构设计 39自定义监控 40模块功能特点 40主要组件 41架构设计 41应用模块 42模块功能特点 42主要组件 42架构设计 43微服务治理模块 44模块功能特点 44主要组件 44架构设计 45多集群与边缘计算模块 48-多集群 48模块功能特点 48主要组件 48架构设计 49-边缘计算 52模块功能特点 52主要组件 52架构设计 53网络与存储模块 54-网络 54模块功能特点 54主要组件 54架构设计 55-存储 56模块功能特点 56主要组件 56架构设计 57多租户与权限管理 58模块功能特点 58基本概念介绍 59架构设计 60产品描述KubeSphere是在目前主流容器调度平台Kubernetes之上构建的企业级分布式多CI/CD、LDAP集成等复杂业务场景,快速构建完整容器平台运维生态链条。产品理念容器等相关技术作为新一代云计算基础平台的运行环境已经获得了各个领域的认可,而Kubernetes作为容器编排引擎已经是市场公认的事实标准。但纵观整个容器平台的大就是在这个大背景下孕育出来的产品,的目标就是要屏蔽容器编排的高昂学习成本,KubeSphere特点的产品:极简体验,向导UI面向开发、测试、运维友好的UI,向导式用户体验,通过KubeSphere控制台将Kubernetes的能力以一种低学习成本的方式输送给用户多租户,细粒度,资源安全隔离基于多租户、细粒度安全架构设计,提供资源以及操作级别的权限管控,充分保障资源安全性,并支持标准AD/LDAP协议,完成集中化认证场景。支持单点登录SSO完善的网络和存储解决方案支持主流开源网络和存储方案:网络:支持calico、flannel,未来会根据客户需求集成更多开源网络插件存储:支持GlusterFS、CephRBD、local-storage、NFS,未来会根据客户需求集成更多开源存储插件除此以外,用户还有更多的选择:如果用户使用了青云的云平台,无论公有云或者私有云部署,都可以使用qingcloudcsi存储插件、hostnic网络插件、qingcloudcloudcontroller插件来对接青云的sds块存储、sdn网卡直连(pod直接绑定私网网卡)以及负载均衡器如果用户使用了青云的,可以使用qingstorcsi来对接NeonSAN如果用户选择将KubeSphere部署在物理机上面,可以使用基于物理交换机的qingcloud以上插件均已开源,并且在公有云平台的KubernetesApp上稳定运行一年以上平滑的应用迁移门槛KubeSphere为用户提供最大的方便,让用户无需顾虑容器领域迁移成本,将传统应用可以最大化的迁移到容器平台上,实现应用的平滑迁移,具体支持如下两大类binarytoimagejarwarbinarysourcetoimage如果用户之前是编译好的jar包或者war包又或者是cCGolang等语言编译后的二进制binary文件,都可以通过KubeSphere界面提供的binarytoimage功能,一sourcetoimage功能,将代码以容器的形式部署到容器平台上面。多维的应用生命周期管理KubeSphere提供了多租户的应用商店,每个租户下的用户,都可以上传、审批、发布和管理自己的应用,上传完应用模板后,只需在应用商店中点击部署,就可以一键部署应用,非常方便,同时应用商店提供了版本控制机制,用户可以对同一个应用上传不同的版本,实现应用版本的平滑升级。统一门户,纳管多集群无基础设施依赖,无Kubernetes依赖,支持跨物理机、虚拟机、云平台部署,可以纳管不同版本、不同厂商的Kubernetes集群多场景、整体化解决方案提供DevOps,微服务治理,应用管理等多场景支持,提供应用开发、管理,CI/CD(持续集成/持续交付),服务治理,发布上线,流量管控等一系列服务易于集成第三方系统(监控、日志等)内置镜像仓库、应用仓库,监控、日志模块,用户也可集成企业内已有的监控、日志等系统,实现集中化管理产品功能提供Kubernetes平台管理和容器调度服务工作负载管理:对Kubernetes中的多种workload提供向导式管理界面,包括DeploymentsDaemonSetsStatefulSetsJobsCronJobsServerless,并提供HorizonalAutoscaler,pod自动扩容/缩容)支持。镜像管理:镜像仓库管理,镜像复制,权限管理,垃圾回收,镜像安全扫描。内置的镜像仓库支持高可用。监控和告警:可使用内置监控告警模块,也可对接企业自有监控告警系统,提供对主机、容器以及应用服务多维度监控,并提供模板化告警定制服务。内置监控服务支持高可用。日志管理:可使用内置的日志模块,提供管理类、操作类、审计类日志,可收集容器、应用以及主机日志,支持高可用,也可对接企业自有的日志系统。NeonSAN多租户及安全管理:提供基于角色的细粒度权限多租户管理,平台服务间进行加密通信,提供操作审计日志,可对宿主机以及容器镜像进行安全扫描并发现漏洞。应用配置及秘钥:提供自定义应用配置组,集中管理,有配置文件历史查询功能;etcd丰富的可观测性生监控领域事实上的标准Prometheus,支持集群租户、节点、项目、工作负载、pod以及容器多维度监控全覆盖并支持逐级细化,同时提供丰富的监控指标、简洁美观的UI展现,提供即时值、趋势、排行等多种展现方式。等通知方式。丰富的日志管理:基于租户的多集群统一日志管理中心,多租户多集群模式、日志隔离可控。提供多集群管理KubeSphere提供了对K8s多集群的统一管理,具体包含如下功能kuberneteskuberneteskuberneteskubernetesapiserverkubernetesk8s提供传统应用的平滑上云保障KubeSphere对于已有的应用,如果日志写到标准输出,可以直接被平台获取到,如果是写到本地的日志文件,通过在平台上指定日志文件的目录,也可以被平台获取到。所有平台获取到的日志,用户可以在日志搜索界面通过关键字、项目、应用名等方式搜索到。javajarwarbinarytoimagejarwar提供企业级容器平台运营保障KubeSphere提供了如下企业级功能CPU计费,包括每个租户下的已使用的资源费用,账户的剩余费用,每月和每日等周期性消费的费用,财务报表等。大屏,以管理者的视角,宏观展示容器平台的运营情况,资源消耗情况,容器运行数量,应用运行情况,平台本身的健康状况。审计,提供用户的操作记录,平台访问记录,api持续集成/持续交付(CI/CD)CI/CD流水线,提供从仓库(svn/gitCI/CD代码安全静态扫描S2I&B2I:自动基于模板从代码构建容器镜像,并完成推送,部署等工作微服务治理KubeSphere内置istio,同时提供可视化的微服务治理功能。基于原生,对Kubernetesistio中的微服务治理,熔断,灰度发布,限流,智能路由等功能提供向导式管理界面。部署在青云平台之上,可以使用插件对接青云的负载均衡器,并提供基于物理交换机的负载均衡器插件。php、python、ruby、golang、还是javaKubeSphere应用全生命周期管理KubeSphere集成开源的OpenPitrix(https://openpitrix.io)务为用户提供应用全生命周期管理功能边缘节点纳管支持KubeEdge云端组件安装部署支持KubeEdge边缘节点添加支持边缘节点网络配置自动化加入和退出支持边缘节点日志和监控数据采集应用场景帮助用户实现快速迭代,统一交付,同时可以灵活定制、编排流水线,并有细粒度的审计功能基于微服务化框架的CI/CD模块,原生支持Kubernetes平台,内建主流语言可框架模板,降低编译-测试-部署的复杂度,同时允许自定义Pipeline微服务治理基于微服务治理模块,可以为开发、测试和运维人员提供更强大的DevOpsKubernetes的服务进行更细力度的拆分,并完成加密、权限管控等功能,可以实现端到端的全程可视化监控等诸多功能多集群运维管理平台针对在多地、多云上有多个K8s集群的大型金融企业、电商、物流等行业客户,KubeSphere提供solo和federation两种模式的多集群统一管理,支持通过OpenPitrix进行多云环境下的应用统一管理,轻松为您实现运维一体化应用分发运营平台针对有多家软件提供商及分支子机构需要计量计费的大型企业,KubeSphere可以提供集应用管理和运营为一体的统一管理平台OpenPitrix,支持多云平台、多应用类型、多打包规范、高度扩展和可插拔、应用全生命周期管理和商业运营大数据及人工智能针对有大量计算任务的互联网,金融等企业,KubeSphere通过与猎户座合作可提供支持容器跨主机使用虚拟化GPU资源,相比于其他外商方案性价比更高、GPU资源划分更为灵活的AI方案云边协同针对需要充分利用边缘节点计算能力的客户,KubeSphere为客户提供基于KubeEdge的边缘节点纳管能力,完美支持ARM与x86架构,将云原生的技 术应用到边缘计算,实现云边协同开发架构5.1. 开发语言及开源软件KubeSphereKubernetesIstioPrometheusDevOps涉及的开发语言和开源软件如下:分类名称说明开发语言Go后端功能React前端功能Mobx前端功能Scss前端功能Koa.js前端功能shell平台部署Ansible平台部署开源组件Kubernetes容器调度、管理Istio服务网格能力Prometheus监控组件etcd分布式键值存储中间件openldapLdap服务Minio对象存储服务Mysql数据库Redis键值存储服务Elasticsearch日志存储及检索Fluentdbit日志收集可选开源组件Harbor开源组件的安装模板GitLab产品架构系统逻辑架构KubeSphere对底层计算平台无绑定、无依赖,可以使用物理机、虚拟机、云平台,只需保证网络连通性且支持容器运行环境,如Docker,以将KubeSphere部署在QingCloud云平台举例,通过以下几层来构建:资源虚拟化通过云平台管理底层计算资源,包括主机、存储、网络Kubernetes通过KubeSphereKubernetes完成对容器的编排、调度,此处所管理的KubernetesKubernetesKubernetes所需的网络和存储服务应用服务平台KubeSphere使用的整体状况应用开发者:应用管理为请用开发者提供了应用的全生命周期管理开发、测试、运维人员:CI/CD、微服务治理、配置管理、监控、日志、告警等DevOps系统物理架构KubeSphere容器平台基于松耦合的产品设计理念,在各个层面上可以通过不同的部署架构组合交付容器能力,不会给用户带来平台绑定风险。基于物理机的部署基于物理环境部署,KubeSphere平台有多种角色的节点构成,如下图:控制节点(master):其上提供了Kubernetes所需的控制面板组件,提供了资源调度、控制等能力,为达到高可用,一般建议为三个节点podetcdKubernetesetcdKubeSpherePodKubernetes,PoddockerPodKubernetes集群中监控/日志/告警QingCloud存储节点PodNeonSanGlusterFS,KubeSphere产品服务合同中SDNQingCloudKubernetesF5BIGIPKubernetesKubeSphere,但我们开源的方案更经济,更h3cs680,后续会支持更多的交换机设备。基于青云云平台部署代理节点:如KubeSphere部署在基础网络,需预先创建一个域名代理节点,保障KubeSphere能够访问到青云云平台的API服务控制节点(master)Kubernetes所需的控制面板组件,提供了资源调度、控制等能力,为达到高可用,一般建议为三个节点podetcdKubernetesetcdKubeSpherePodKubernetes,PoddockerPodKubernetes集群中监控/日志/告警QingCloud业务模块架构设计KubeSphere多租户权限管理模块(IAM&AM)KubeSphere的多租户系统分三个层级,即集群、企业空间和项目。KubeSphere中的项目等同于Kubernetes的命名空间。在KubeSphere中企业空间是最小的租户单元,企业空间提供了跨集 群跨目(即Kubernetes中的命名空间)共享资源的能力。企业空间中的成员可以在授权集群中创建项目,并通过邀请授权的方式参与项 目协同。用户是KubeSphere的帐户实例,可以被设置为平台层面的管理员参与集群的管理,也可以被添加到企业空间中参与项目协同。1. 多级的权限控制和资源配额限制是KubeSphere权限管理概览&权限等级的划分KubeSphere中的权限控制分为平台、企业空间、项目三个层级,通过角色来控制用户在不同层级的资源访问权限。工程的管理等。不论是什么产品,权限管理体系都不可或缺,现有的权限管理模型有ACL,RBAC,ABAC这几类,针对不同的使用场景,IAM这一块的设计也有很大的不同。但是我们可以尽可能的去抽象一个足够轻量的IAM模块,方便再各类产品中快速的接入,减少重复的工作。以往,IAM往往和业务代码耦合非常大,但Kubernetes在这一方面做的非常好,值得借鉴。KubernetesRBAC权限管理模型来做API的权限控制,简单点说抽象出来角(组(组)API基于RBAC的权限控制,再结合httpverbs和API的语意去声明权限规则。整个鉴权认证+用户管理体系,对业务代码没有侵入性,只需要API的设计需要符合RESTful语意规范。认证模块Header用户的认证方式和IAMserverks-account中我们通jwtCaddy的认证模块中我们就可以通过配置ks-account401。鉴权模块认证通过后,需要请求进行鉴权,不通过则返回403。在ks中,根据API可以抽象出一系列的权限规则例如:GET/apis/account.KubeSphere.io/users通过RESTful语意,我们可以将请求的意图拆解为Verb:list,APIGroup:account.KubeSphere.io,Resource:usersAPI。通过聚合用户的权限规则列表,对用户的权限进行准入评估。ks-accountk8sinformermysqletcd我们可以很方便的横向拓展,而不让数据读写成为一个瓶颈。代理模块借助Caddy的ProxyPlugin,我们可以很方便的对api进行统一的规范、代理。IAMserver在整个体系中,IAMserver相对独立,也是不可或缺的部分。其中最基础的模块包括用户、用户组的管理、配合ks-apiserver完成鉴权的权限管理模块、配完成认证的凭证签发模块。API,API用户管理IDLfunctiongrpc权限管理做到灵活可替换,不论是借助Kubernetes、还是自己实现权限规则的存储和校验,随着接入模块的增多,权限管理模块要保有一定的灵活性。在KubeSphere中我们选择了多重组合的方式对权限进行校验,首先是一些和用户直接关联的API可以开放鉴权,再次是针对集群、企业空间、项目多层级的权限校验。借助Kubernetes的RBAC存储用户权限规则数据,用户并不直接和资源进行关联,资源只和角色进行关联,所以在企业空间、项目创建之后需要做角色的初始化,ks-apiserver、ks-account存在代码耦合。凭证签发基于token的签发和认证。DevOpsevOpevopmnt和Oprtns的组合词是⼀v”IT⼈⽂⾃DevOps(软件⼯程三者的交集传统的软件组织将开发、IT⾃分离的部⻔,在这种环境下如何采⽤新的开发⽅法(例如敏捷软件开发是⼀⼯作⽅IT⽀QA⼊的跨部⻔的⽀⽽现在却需要极其紧密的多部⻔⽽DevOps需要频繁交付的企业可能更需要对DevOps有⼀个⼤致的了解。Flickr发展了⾃⼰的DevOps能⼒,使之能够⽀撑业务部⻔“每天部署10次”的要求──如果⼀个组织要⽣产⾯向多种⽤⽤⼒也被称为持续部署,并且经常与精益创业⽅法联系起来。DevOps⼼CI/CD/持续部署),在以往,CI/CD⼤量⼈⼒⽇趋复杂的情况下,微服务架构也逐渐流⾏CI/CD⼤。Docker的出现改变了这⼀现状,DockerDevOps⽬标是⼀致的。DevOps项⽬是KubeSphere项⽬基础上的⼀个应⽤项⽬,为⽤户提供从开发到部署的⼀整套AutoDevOps流程。⽤户只要提供Git地址,就能为其⾃动⽣成⼀个以该源代码为基础的部署好的测试环境甚⾄是⽣产环境。KubeSphere⽣⽀KubernetesSCMGitlab,在仓库中⼀DevOps,⾃动添加Webhook,⾃动复制项⽬CI/CD。内建主流语⾔和主流框架的模板,降低编译-测试-部署的复杂性,⼤部分主流语⾔和框架需配置项较少。对于⾼级⽤户或者⾮主流框架,可通过⾃Pipeline⽅式构建。项⽬架构微服务化,⼀键部署到主流容器服务中。该项⽬最终能够在各个⼚商的云平台和私有云快速部署,提⾼企业的开发效率。支持sourcetoimage/binarytoimage,快速交付容器镜像兼容Jenkinsfilein&outofSCM(SourceCodeManagement)两种模式独立DevOps工程,提供访问可控、安全隔离的CI/CD操作空间可视化流水线编辑工具,降低CI/CD学习成本代码静态扫描这些组件都是以微服务的形式提供。APIServer⼼⼀PipelineKubeSphere交互的接⼝。GitLab(可选),提供版本控制和软件源代码托管服务。Harbor(可选)MonogoDBAPIServerSonarQubeJenkinsCI/CD系统中有一些功能以Jenkins插件的方式提供,有一些功能在服务中开发集成。可观测性模块- 基于主流监控框架Prometheus支持高可用/DevOpsPod->容器提供高级监控信息的管理配置界面可集成第三方监控服务,支持监控数据导出PrometheusOperator:管理和运维Prometheus集群Prometheus工作负载:后端PrometheusNodeExporter:采集集群节点监控数据cAdvisor/Kubelet:kube-state-metrics:监听KubernetesAPIserver,并采集监控数据日志托管容器集群服务提供多租户日志管理,在日志查询系统中,不同的租户只能看到属于自己的日志信息:支持中文日志检索,支持日志导出;支持多级别的日志查询(项目/工作负载/容器组/容器以及关键字)、灵活方便的日志收配置选项等;支持将日志输出到多种平台,如Elasticsearch、Kafka、Fluentd;对于将日志以文件形式保存在挂盘上的应用,支持开启落盘日志收集功能。FluentBit,ElasticsearchFluentBitOperator,logsidecar-injector,Console日志系统各组件调用关系如下:FluentBitOperator管理FluentBit生命周期及配置变更:FluentBit负责收集个节点输出到stdout的容器日志并将其转发到Kafka,Fluentd或Elasticsearch可通过配置logsidecar-injector内没有输出到stdout,而是输出到内挂载盘的日志,转发到stdout供FluentBit收集Console通过查询APIServer,进而查询Elasticsearch得到要查询的日志返回给前端展现。审计KubeSphereK8sksk8sapiserver:审计事件的生产者。ksapiserver:ks审计事件的生产者。kubeauditingoperator:管理CRDKubeAuditRule和KubeAuditWebhook,并管理与CRD相关联的资源。kubeauditingwebhook:接收审计事件与审计规则进行匹配,存储满足条件的审计事件和产生告警。FluentBit:从ruleengine的标准输出收集审计信息并写入es。alertmanager:接收审计告警。kubeauditingmanager:提供审计控制、审计规则管理接口,以及审计信息查询接口。kubeauditingoperatorCRDKubeAuditWebhook,当创建KubeAuditWebhookauditingoperatorkubeauditingserviceAuditSink。k8sksk8sKubeauditingwebhook包含auditwebhook和ruleengine两个模块,auditwebhookchannelRuleengine从channelfluentbitalertmanager。CRDKubeAuditRulekubeauditingwebhookKubeauditingmanagerauditingwebhook配置接口,及审计信息查询接口。Event作为K8sEvent记录。Event存储在EtcdEtcd默认只存储最近1h的Event。整个流程包含以下组件:Event管理:fluentbit扩展fluentbit服务配置,以收集events到es等ks-apiserver增加event查询api(consoleUI设计涉及)其他eventrouter程序日志与events分离Event告警:eventalerter:这是一个事件告警程序,用于监听获取events,将之与rules进行匹配以产生alerts默认rules整理和定义RuleManager实现rules自动重载将alerts发送到alertmanagerks-apiserver增加自定义rules规则的CRUDapi(consoleUI设计涉及)基于alertmanagerapi提供与告警相关的接口(consoleUI设计涉及)eventrouter机理eventrouter通过K8s的EventInformer监听Event的创建和更新等,并适配实现ResourceEventHandlerFuncs将Event导出到指定的sink。注:ResyncPeriod规定每隔多久,控制器遍历缓存中所有对象,并调用OnUpdate。如果控制器可能错过对象更新事件,或者先前的事件处理回调可能执行失败,则此配置参数很重要。labels用于标识告警的相同实例;annotations是labels所标识告警的最新实例的消息;查询方法可参考AlertManager官方提供的httpapi以及源码中的相关api。可自定义包含多个告警规则的告警策略,并且可以指定通知规则和重复告警的规则;CPU可自定义某监控指标的检测周期长度、持续周期次数、告警等级等;可自定义发送通知时间段及通知列表,目前支持邮件通知;支持设置重复告警周期、最大重复次数并和告警级别挂钩。主要组件如下:PrometheusOperatorAlertmanagerNotificationManagerPrometheusOperator通过监控CRD管理Prometheus实例的生命周期与配置变更;Prometheus(包括NodeExporterkube-state-metricskubeletcadvisor,K8sApiServerK8sschedulerEtcd等)抓取监控数据;Prometheus会根据内部配置的AlertRule实时判断接收到的监控数据是否需要告警,如果需要则会发送告警信息到Alertmanager;Kube-Events监控K8s事件,可以将符合告警条件的K8s事件也发送告警至Alertmanager;Kube-Auditing将监控K8s/平台审计事件,并可将符合告警条件的审计事件发送告警至Alertmanager;Alertmanager会统一将可发送通知的告警发送到NotificationManager,再由NotificationManager根据配置发送通知到Emal,Slack或Wechat。Kubernetes监控的事实标准工具Prometheus监控引擎组件:PrometheusPrometheusOperator发布时:namespace、job有具体值会自动被占位符替换。其他敏感信息需要上传者屏蔽(可以通过yaml编辑的形式)。统一格式<placeholder60cluster-admin可以发布到kubesphere-monitoring-system和当前namespaceworkspace-manager可以发布到每个wk下的ns(复制相同的内容,在每个ns下都创建相同内容的ConfigMap)namespace-user只能发布到当前namespace校验项:namespace应用模块KubeSphere应用商店让ISV、开发者和用户能够在一站式服务中只需点击几下就可以上传、测试、安装和发布应用。KubeSphere在OpenPitrix的基础上,为用户提供了一个基于Helm的应用商店,用于应用生命周期管理。OpenPitrix是一个开源的Web平台,用于打包、部署和管理不同类型的应用。OpenPitrix是一款开源的多云应用程序管理平台,用来在多云环境下打包、部署和管Serverless应用等,其中云平台包括AWS、Azure、Kubernetes、QingCloud、OpenStack、VMWare等,而且是一个高度微服务治理模块基于Istio微服务框架提供可视化的微服务治理功能,将Kubernetes的服务进行更ProxyJaeger生成主要组件如下:IstioJaegerKialiIstioPilotxdsenvoyPodIptablesAPI,支持配置文件动态更新。控制平面负责配置下发,数据平面根据路由转发数据:基于Kubernetes及Istio,实现微服务治理功能:DestionationRulesmaxConnectionshttpVirtualServicevirtualService流量监测:envoyPrometheusIstioDestinationRulesSpringCloudRPCSpringCloudProvider、ConsumerEurekaServerApiGateway(Zuul),分别单独部署在K8sPodsHPARPC载均衡访问服务者,当流量达到一定阈值后提供熔断的功能(SpringCloudHystrix)ZuulURL多集群与边缘计算模块- 多集群KubeSphere多集群可以管理多个KubeSphere集群资源,包括不限于查看集群资源,监控状态,并具有向多个集群部署应用的能力。主要组件:KubeFed介绍:Kubernetes集群的做法非常普遍。由于每个Kubernetes集群都是一个相对独立的单元,上游社区正(KubernetesClusterFederation,简称KubeFed)可能是其中一种可行的方法。开发KubeSphere旨在解决多集群和多云管理(包括上述使用场景)的难题,为用户提供统一的控制平面,将应用程序及其副本分发到位于公有云和本地环境的多个集群。KubeSphere还拥有跨多个集群的丰富可观测性,包括集中监控、日志系统、事件和审计日志等。KubeSphere(MultiClusterControlPlane),由控制平Host,如上图。被管理的集群称之为MemberCluster。控制平面可以运行在其被管理的集群上。多集群控制平面ks-mc-console:多集群管理界面,通过管理界面来完成对集群的管理,资源的创建部署。ks-mc-controller:多集群控制器,负责将用户创建的多集群资源对象同步到JoinedCluster上。例如,用户创建了一个多集群workspace(指这个workspace可以使用到多个JoinedCluster资源),ks-mc-controller会将workspace同步创建到JoinedCluster上。ks-mc-apiserver:负责接受ks-mc-console请求,并将请求转义成具体的集群API,发到对应的集群上,接受JoinedCluster的Response,将Response聚合后返回给ks-mc-console。ks-mc-account:多集群的用户组件,负责多集群下用户的认证,权限校验。上述组件可以在现有组件之上增加功能,无需新增组件。Use-Case:低延迟,高可用DNSKubefedDNSUse-Case:开发-测试-生产production)集群,HostCluster与三个集群通信,通过多集群管理三个集群,完成从开发到测试,再到生产环境的流水线。依赖多集群之间的权限管理需要打通,需要对权限管理进行重构。将用户抽象成CRD形式,利用kubefed将用户传播到membercluster上,做到用户在多个集群之间都是权限一致。- 边缘计算1.支持KubeEdge云端组件的安装部署2.支持KubeEdge边缘节点的添加支持边缘节点的日志和监控数据采集支持边缘节点网络配置自动化的加入和退出边缘节点在加入集群时,支持自动添加污点支持通过添加nodeAffinity禁止云端工作负载(如DaemonSet)调度到边缘节点7.支持调度工作负载至边缘节点主要组件如下:KubeEdge网络与存储模块- IPPoolPodIPIPPool需要在启用calico插件的模式下启动;支持LB插件;支持网络策略可视化管理。Lb插件:lb插件是基于/kubernetes/cloud-provider实现,LB插件要做的就是实现这包对应的接口,调用都是用这个包里的程序实现。网络策略:创建企业空间时,可以勾选是否添加"默认的企业空间网络策略";企业空间管理员可以删除"默认的企业空间网络策略";“企业空间网络策略"会自动为每个项目生成"项目网络策略”,自动生成的策略只能插卡,不能修改和删除;项目管理员可以为自己有权限的项目配置"项目网络策略"。oeNSNSNSNS在集群内部,可以使用ks-apiserver.kubesphere-system.svc.cluster.local来访问kubesphere-systemnamespace下ks-apiserver这个service)domaincluster.localDNSZONE在k8s/kubernetes-sigs/external-dns可以向DNSk8sserviceingresspushNodeLocalDNS每个nodeDNSDNSDNSCoreDNSCoreDNS集群内部的DNS服务器,提供集群内部域名解析服务,对于不存在与集群内部的域名请求,递归到上游DNS;UpstreamDNS上游DNSDNSdomainCoreDNS- 存储卷快照是企业级存储系统的必备功能。在容器领域,VolumeSnapshot在Kubernetesv1.17从alpha升级到beta,因此KubeSphere3.0增加存储卷快照功能。在Kubernetes中,VolumeSnapshot的设计借鉴了PersistentVolume,相关概念有一个对应关系:VolumeSnapshotClass对应StorageClass,VolumeSnapshot对PersistentVolumeClaim,VolumeSnapshotContentPersistentVolume;在设计上,KubeSphere3.0之前,存储类型指的是StorageClass。然而KubeSphere3.0StorageClassVolumeSnapshotClass;具体的,StorageClassVolumeSnapshotClass;不支持快照StorageClass。为了更好用户体验和精简的前后端交互,前端只操作StorageClass。在创建、删除、更新存储类型时,ks-controller会负责VolumeSnapshotClass的相关处理。具体的描述如下:创建存储类型前端CreateStorageClass。ks-controller,判断CSICSI均不支持快照)是否支持快照。若支持快照,ks-controller创建同名VolumeSnapshotClass(无参数),并给StorageClass标注“storageclass.kubesphere.io/support-snapshot:”为“true”。若不支持快照,ks-controller给StorageClass删除存储类型前端DeleteStorageClass。ks-controllerVolumeSnapshotClass;若有,删除同名。VolumeSnapshot。更新存储类型前端UpdateStorageClassks-controllerCSIVolumeSnapshotClass,并给StorageClass标注“storageclass.kubesphere.io/support-snapshot:”为“true”VolumeSnapshotClassStorageClass标注“storageclass.kubesphere.io/support-snapshot:”为“false”Roadmap(1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 临床过敏原检测技师考试试卷及答案
- 2026年高考物理终极冲刺:秘籍03 牛顿运动定律综合运用抢分秘籍01 力与物体的平衡(三大题型)(原卷版及全解全析)
- 2025年东营市东凯建设工程有限公司面向社会公开招聘工作人员(5名)笔试历年参考题库附带答案详解
- 2025山西交通控股集团有限公司所属高速集团交科集团物流集团社会招聘40人笔试历年参考题库附带答案详解
- 2025宁夏德润农业发展投资集团有限公司招聘笔试历年参考题库附带答案详解
- 2025国家能源集团新疆哈密能源化工有限公司招聘51人笔试历年参考题库附带答案详解
- 2025四川遂宁市蓬溪县国有资产监督管理局面向社会招聘国有企业人员12人笔试历年参考题库附带答案详解
- 2025四川泸州老窖股份有限公司招聘18人笔试历年参考题库附带答案详解
- 2025四川九洲电器集团有限责任公司招聘系统工程师等岗位34人笔试历年参考题库附带答案详解
- 2025内蒙古方鼎金荣集团招聘98人笔试历年参考题库附带答案详解
- 2026年北京市西城区初三一模英语试卷(含答案)
- 电力重大事故隐患判定标准2026版解读
- 九师联盟2026届高三年级下学期4月测试英语试卷
- 2026届湖南省常德市芷兰实验校中考联考数学试题含解析
- 2026年38期入团考试题及答案
- 小学生讲故事比赛评分标准
- 知识图谱与文献关联
- TCABEE080-2024零碳建筑测评标准(试行)
- T/CEC 211-2019 火电工程脚手架安全管理导则
- 施工合同安全责任条款解析
- 家谱电子化管理与传承方案
评论
0/150
提交评论