网站代理游戏,网站建设和网络推广是干嘛,企业免费网站制作比较好的,一个网站需要多少空间十一、华为云Stack容器服务介绍
1.云容器引擎服务CCE
云容器引擎#xff08;Cloud Container Engine#xff0c;CCE#xff09;提供高度可扩展的、高性能的企业级Kubernetes集群#xff0c;支持运行Docker容器。借助云容器引擎#xff0c;可以在云上轻松部署、管理和扩展…十一、华为云Stack容器服务介绍
1.云容器引擎服务CCE
云容器引擎Cloud Container EngineCCE提供高度可扩展的、高性能的企业级Kubernetes集群支持运行Docker容器。借助云容器引擎可以在云上轻松部署、管理和扩展容器化应用程序。
1.1 基本概念
a.集群Cluster
集群指容器运行所需要的云资源组合关联了若干云服务器节点、负载均衡等云资源。可以理解为集群是“同一个子网中一个或多个弹性云服务器又称节点” 通过相关技术组合而成的计算机群体为容器运行提供了计算资源池。
b.节点Node
每一个节点对应一台服务器可以是虚拟机实例或者物理服务器容器应用运行在节点上。节点上运行着Agent代理程序kubelet用于管理节点上运行的容器实例。集群中的节点数量可以伸缩。
c.节点池NodePool
节点池是集群中具有相同配置的一组节点一个节点池包含一个节点或多个节点。
d.安全组
安全组是一个逻辑上的分组为同一个VPC内具有相同安全保护需求并相互信任的弹性云服务器提供访问策略。安全组创建后用户可以在安全组中定义各种访问规则 当弹性云服务器加入该安全组后即受到这些访问规则的保护。
集群、虚拟私有云、安全组和节点的关系 如上图。同一个Region下可以有多个虚拟私有云VPC。虚拟私有云由一个个子网组成子网与子网之间的网络交互通过子网网关完成而集群就是建立在某个子网中。
因此存在以下三种场景 不同集群可以创建在不同的虚拟私有云中。 不同集群可以创建在同一个子网中。 不同集群可以创建在不同的子网中。
e.实例Pod
实例Pod是 Kubernetes 部署应用或服务的最小的基本单位。一个Pod 封装多个应用容器也可以只有一个容器、存储资源、一个独立的网络 IP 以及管理控制容器运 行方式的策略选项。
f.容器Container
一个通过 Docker 镜像创建的运行实例一个节点可运行多个容器。容器的实质是进程但与直接在宿主执行的进程不同容器进程运行于属于自己的独立的命名空间。
g.工作负载
工作负载即Kubernetes对一组Pod的抽象模型用于描述业务的运行载体包括 Deployment、Statefulset、Daemonset、Job、CronJob等多种类型。 **无状态工作负载**即kubernetes中的“Deployment”无状态工作负载支持弹性伸缩与滚动升级适用于实例完全独立、功能相同的场景如nginx、 wordpress等。 **有状态工作负载**即kubernetes中的“StatefulSet”有状态工作负载支持实例有序部署和删除支持持久化存储适用于实例间存在互访的场景如ETCD、 mysql-HA等。 **创建守护进程集**即kubernetes中的“DaemonSet”守护进程集确保全部或者某些节点都运行一个Pod实例支持实例动态添加到新节点适用于实例在每个节点上都需要运行的场景如ceph、fluent、Prometheus Node Exporter等。 **普通任务**即kubernetes中的“Job”普通任务是一次性运行的短任务部署完成后即可执行。使用场景为在创建工作负载前执行普通任务将镜像上传至镜像仓库。 **定时任务**即kubernetes中的“CronJob”定时任务是按照指定时间周期运行的短任务。使用场景为在某个固定时间点为所有运行中的节点做时间同步。
h.编排模板
编排模板包含了一组容器服务的定义和其相互关联可以用于多容器应用的部署和管理。
i.镜像Image
Docker镜像是一个模板是容器应用打包的标准格式用于创建Docker容器。或者说Docker镜像是一个特殊的文件系统除了提供容器运行时所需的程序、库、资源、配置等文件外还包含了一些为运行时准备的配置参数如匿名卷、环境变量、 用户等。镜像不包含任何动态数据其内容在构建之后也不会被改变。在部署容器化应用时可以指定镜像镜像可以来自于容器镜像服务或者用户的私有Registry。例如一个Docker镜像可以包含一个完整的Ubuntu操作系统环境里面仅安装了用户需要的应用程序及其依赖文件。
镜像Image和容器Container的关系就像是面向对象程序设计中的类和实例一样镜像是静态的定义容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。 j.命名空间Namespace
命名空间是对一组资源和对象的抽象整合。在同一个集群内可创建不同的命名空间 不同命名空间中的数据彼此隔离。使得它们既可以共享同一个集群的服务也能够互不干扰。例如
● 可以将开发环境、测试环境的业务分别放在不同的命名空间。
● 常见的pods, services, replication controllers和deployments等都是属于某一个namespace的默认是default而node, persistentVolumes等则不属于任何namespace。
k.服务Service
Service是将运行在一组 Pods 上的应用程序公开为网络服务的抽象方法。使用Kubernetes用户无需修改应用程序即可使用不熟悉的服务发现机制。 Kubernetes 为Pods提供自己的IP地址和一组Pod的单个DNS名称并且可以在它们之间进行负载平衡。 Kubernetes允许指定一个需要的类型的 Service类型的取值以及行为如下 **ClusterIP**集群内访问。通过集群的内部 IP 暴露服务选择该值服务只能够在集群内部可以访问这也是默认的 ServiceType。 **NodePort**节点访问。通过每个 Node 上的 IP 和静态端口NodePort暴露服务。NodePort 服务会路由到 ClusterIP 服务这个 ClusterIP 服务会自动创建。 通过请求 :可以从集群的外部访问一个 NodePort 服务。 **LoadBalancer**负载均衡。使用云提供商的负载均衡器可以向外部暴露服务。 外部的负载均衡器可以路由到 NodePort 服务和 ClusterIP 服务。
l.,七层负载均衡Ingress
Ingress是为进入集群的请求提供路由规则的集合可以给service提供集群外部访问的 URL、负载均衡、SSL终止、HTTP路由等。
m.网络策略NetworkPolicy
NetworkPolicy提供了基于策略的网络控制用于隔离应用并减少攻击面。它使用标签选择器模拟传统的分段网络并通过策略控制它们之间的流量以及来自外部的流量。
n.配置项Configmap
Configmap用于保存配置数据的键值对可以用来保存单个属性也可以用来保存配置文件。Configmap跟secret很类似但它可以更方便地处理不包含敏感信息的字符串。
o.密钥Secret
Secret解决了密码、token、密钥等敏感数据的配置问题而不需要把这些敏感数据暴露到镜像或者Pod Spec中。Secret可以以Volume或者环境变量的方式使用。
p.标签Label
标签其实就一对 key/value被关联到对象上比如Pod。标签的使用倾向于能够标示对象的特殊特点并且对用户而言是有意义的但是标签对内核系统是没有直接意义的。
q.选择器LabelSelector
Label selector是Kubernetes核心的分组机制通过label selector客户端/用户能够识别 一组有共同特征或属性的资源对象。
r.注解Annotation
Annotation与Label类似也使用key/value键值对的形式进行定义。 Label具有严格的命名规则它定义的是Kubernetes对象的元数据Metadata并且用于Label Selector。 Annotation则是用户任意定义的“附加”信息以便于外部工具进行查找。
s.存储卷PersistentVolume
PersistentVolumePV是集群之中的一块网络存储。跟 Node 一样也是集群的资源。
t.存储声明PersistentVolumeClaim
PV 是存储资源而PersistentVolumeClaim (PVC) 是对 PV 的请求。
PVC 跟 Pod 类似Pod 消费 Node 资源而 PVC 消费 PV 资源Pod 能够请求 CPU 和内存资源 而 PVC 请求特定大小和访问模式的数据库逻辑卷。
u.弹性伸缩HPA
Horizontal Pod Autoscaling简称HPA是Kubernetes中实现POD水平自动伸缩的功能。Kubernetes集群可以通过Replication Controller的scale机制完成服务的扩容或缩容实现具有伸缩性的服务。
v.亲和性与反亲和性
在应用没有容器化之前原先一个虚机上会装多个组件进程间会有通信。但在做容器化拆分的时候往往直接按进程拆分容器比如业务进程一个容器监控日志处理或者本地数据放在另一个容器并且有独立的生命周期。这时如果容器进程分布在网络中两个较远的点请求经过多次转发性能会很差。 **亲和性**可以实现就近部署增强网络能力实现通信上的就近路由减少网络的损耗。如应用A与应用B两个应用频繁交互所以有必要利用亲和性让两个应用的尽可能的靠近甚至在一个节点上以减少因网络通信而带来的性能损耗。 **反亲和性**主要是出于高可靠性考虑尽量分散实例某个节点故障的时候对应用的影响只是 N 分之一或者只是一个实例。如当应用采用多副本部署时有 必要采用反亲和性让各个应用实例打散分布在各个节点上以提高HA。 **节点亲和性NodeAffinity**通过选择标签的方式可以限制pod被调度到特定的节点上。 **节点反亲和性NodeAntiAffinity**通过选择标签的方式可以限制pod不被调度到特定的节点上。 **工作负载亲和性PodAffinity**指定工作负载部署在相同节点。用户可根据业务需求进行工作负载的就近部署容器间通信就近路由减少网络消耗。 **工作负载反亲和性PodntiAffinity**指定工作负载部署在不同节点。同个工作负载的多个实例反亲和部署减少宕机影响互相干扰的应用反亲和部署避免干扰。
w.资源配额Resource Quota
资源配额Resource Quotas是用来限制用户资源用量的一种机制。
x.资源限制Limit Range
默认情况下K8S中所有容器都没有任何CPU和内存限制。LimitRange(简称limits)用 来给Namespace增加一个资源限制包括最小、最大和默认资源。在pod创建时强制执行使用limits的参数分配资源。
y.环境变量
环境变量是指容器运行环境中设定的一个变量可以在创建容器模板时设定不超过 30个的环境变量。环境变量可以在工作负载部署后修改为工作负载提供了极大的灵 活性。在CCE中设置环境变量与Dockerfile的“ENV”效果相同。
1.2 与其它云服务的关系
云容器引擎需要与其他云服务协同工作云容器引擎需要获取如下云服务资源的权限。
WWW
弹性云服务器 ECS
在云容器引擎中具有多个云硬盘的一台弹性云服务器就是一个节点用户可以在创建节点时指定弹性云服务器的规格。
虚拟私有云 VPC
虚拟私有云为弹性云服务器提供一个逻辑上完全隔离的虚拟网络环境。用户可以完全掌控自己的虚拟网络包括申请弹性带宽/IP、创建子网、配置DHCP、设置安全组等。 也可以通过专线/VPN等连接方式将VPC与传统数据中心互联互通灵活整合资源。
弹性负载均衡 ELB
云容器引擎支持将创建的应用对接到弹性负载均衡从而提高应用系统对外的服务能力提高应用程序容错能力。
NAT 网关
NAT网关能够为VPC内的容器实例提供网络地址转换Network Address Translation服务SNAT功能通过绑定弹性公网IP实现私有IP向公有IP的转换可实现VPC内的容器实例共享弹性公网IP访问Internet。
容器镜像服务 SWR
容器镜像服务提供的镜像仓库是用于存储、管理docker容器镜像的场所可以让使用 人员轻松存储、管理、部署docker容器镜像。
云硬盘 EVS
在云容器引擎中一个节点就是具有多个云硬盘的一台弹性云服务器可以在创建节点时指定云硬盘的大小。
对象存储服务 OBS
云容器引擎支持创建OBS对象存储卷并挂载到容器的某一路径下。
弹性文件服务 SFS
用户可以使用弹性文件服务作为容器的持久化存储在创建任务负载的时候挂载到容器上。
应用运维管理 AOM
云容器引擎对接了AOMAOM会采集容器日志存储中的“.log”等格式日志文件转储到AOM中方便用户查看和检索并且云容器引擎基于AOM进行资源监控为用户提供弹性伸缩能力。
1.3 应用场景
a.弹性伸缩架构
应用场景 电商客户遇到促销、限时优惠等活动期间访问量激增需及时、自动扩展云计算资源。 视频直播客户业务负载变化难以预测需要根据CPU/内存使用率进行实时扩缩容。 游戏客户每天中午12点及晚上18:00-23:00间需求增长需要定时扩容。
价值 云容器引擎可根据用户的业务需求预设策略自动调整计算资源使云服务器或容器数量自动随业务负载增长而增加随业务负载降低而减少保证业务平稳健康运行节省成本。
优势 **自由灵活**支持多种策略配置业务流量达到扩容指标秒级触发容器扩容操作。 **高可用 **自动检测伸缩组中实例运行状况启用新实例替换不健康实例保证业务健康可用。
**建议搭配使用**autoscaler插件集群自动扩缩容应用运维管理 AOM工作负载伸缩 b.微服务治理
应用场景 伴随着互联网技术的不断发展各大企业的系统越来越复杂传统的系统架构越来越 不能满足业务的需求取而代之的是微服务架构。微服务是将复杂的应用切分为若干 服务每个服务均可以独立开发、部署和伸缩微服务和容器组合使用可进一步简 化微服务的交付提升应用的可靠性和可伸缩性。 随着微服务的大量应用其构成的分布式应用架构在运维、调试、和安全管理等维度 变得更加复杂在管理微服务时往往需要在业务代码中添加微服务治理相关的代 码导致开发人员不能专注于业务开发还需要考虑微服务治理的解决方案并且将 解决方案融合到其业务系统中。
价值 云容器引擎深度集成应用服务网格提供开箱即用的应用服务网格流量治理能力用 户无需修改代码即可实现灰度发布、流量治理和流量监控能力。
优势
● 开箱即用与云容器引擎无缝对接一键开启后即可提供非侵入的智能流量治理解决方案。
● 策略化智能路由无需修改代码即可实现HTTP、TCP等服务连接策略和安全策略。
● 流量治理可视化基于无侵入的监控数据采集深度整合APM能力提供实时流量拓扑、调用链等 服务性能监控和运行诊断构建全景的服务运行视图可实时、一站式观测服务 流量健康和性能状态。
建议搭配使用 弹性负载均衡 ELB 应用性能管理 APM 应用运维管理 AOM c.DevOps 持续交付
**应用场景**当前IT行业发展日益快速面对海量需求必须具备快速集成的能力。经过快速持续集 成才能保证不间断的补全用户体验提升服务质量为业务创新提供源源不断的动 力。大量交付实践表明不仅传统企业甚至互联网企业都可能在持续集成方面存在 研发效率低、工具落后、发布频率低等方面的问题需要通过持续交付提高效率降 低发布风险。 价值 云容器引擎搭配容器镜像服务提供DevOps持续交付能力能够基于代码源自动完成代 码编译、镜像构建、灰度发布、容器化部署实现一站式容器化交付流程并可对接
价值 云容器引擎搭配容器镜像服务提供DevOps持续交付能力能够基于代码源自动完成代 码编译、镜像构建、灰度发布、容器化部署实现一站式容器化交付流程并可对接 已有CI/CD完成传统应用的容器化改造和部署。
优势
**高效流程管理**更优的流程交互设计脚本编写量较传统CI/CD流水线减少80%以上让CI/CD管 理更高效。**灵活的集成方式**提供丰富的接口便于与企业已有CI/CD系统进行集成灵活适配企业的个性化诉求。**高性能**全容器化架构设计任务调度更灵活执行效率更高。
建议搭配使用 容器镜像服务SWR 对象存储服务 OBS 虚拟专用网络 VPN d.高性能 AI 计算
**应用场景**对于AI、基因测序、视频处理等行业的用户其计算任务依赖特殊的硬件如GPU 等用户需要将计算业务部署在云上弹性利用云上的特殊硬件算力而在私有云部 署一般业务避免大规模使用特殊硬件带来的成本压力。
价值
面向AI计算的容器服务采用高性能GPU计算实例并支持多容器共享GPU资源在 AI计算性能上比通用方案提升3-5倍以上并大幅降低了AI计算的成本同时帮助数据 工程师在集群上轻松部署计算应用您无需关心复杂的部署运维专注核心业务快速实现从0到1快速上线。
优势 **高效计算**GPU资源多容器共享调度整体计算成本大幅降低。 成熟应用 主流GPU型号全适配并在EI产品大规模使用。
建议搭配使用 GPU加速云服务器 弹性负载均衡 ELB 对象存储服务 OBS 2.容器镜像服务SWR
容器镜像服务SoftWare Repository for ContainerSWR是一种支持镜像全生 命周期管理的服务提供简单易用、安全可靠的镜像管理功能帮助您快速部署容器化服务。
容器镜像服务可配合云容器引擎CCE使用也可单独作为容器镜像仓库使用。 2.1 产品功能 **镜像全生命周期管理**容器镜像服务支持镜像的全生命周期管理包括镜像的上传、下载、删除等。 **私有镜像仓库**容器镜像服务提供私有镜像库并支持细粒度的权限管理可以为不同用户分配 相应的访问权限读取、编辑、管理。 **大规模镜像分发加速**容器镜像服务通过镜像下载加速技术使CCE集群下载镜像时在确保高并发下能获 得更快的下载速度。 **镜像仓库触发器**容器镜像服务支持容器镜像版本更新自动触发部署。您只需要为镜像设置一个触 发器通过触发器可以在每次镜像版本更新时自动更新使用该镜像部署的应 用。
2.2 访问容器镜像服务
云平台提供了Web化的服务管理平台即管理控制台和基于HTTPS请求的API Application programming interface管理方式。 **API方式**如果用户需要将容器镜像服务集成到第三方系统用于二次开发请使用API方式 访问容器镜像服务。 **管理控制台方式**其他相关操作请使用管理控制台方式访问容器镜像服务。
2.3 基本概念
a.容器Container
一个通过Docker镜像创建的运行实例一个节点可运行多个容器。容器的实质是进程但与直接在宿主执行的进程不同容器进程运行于属于自己的独立的命名空间。 镜像Image和容器Container的关系就像是面向对象程序设计中的类和实例一样镜像是静态的定义容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
b.镜像仓库Repository
镜像仓库Repository用于存放Docker镜像。单个镜像仓库可对应单个具体的容器 应用并托管该应用的不同版本。
c.组织
组织用于隔离镜像仓库每个组织可对应一个公司或部门将其拥有的镜像集中在该 组织下。同一用户可属于不同的组织。支持为帐号下不同用户分配相应的访问权限 读取、编辑、管理。 2.4 与其他云服务的关系
容器镜像服务需要与其他云服务协同工作容器镜像服务和其他云服务的关系如下图 云容器引擎
容器镜像服务能无缝对接CCE用户可以将容器镜像服务中的镜像部署到CCE中。
云审计服务
通过CTS用户可以记录与容器镜像服务相关的操作事件便于日后的查询、审计和回溯。
3.应用服务网格ASM
应用服务网格ASM提供非侵入式的微服务治理解决方案支持完整的生命周期管理和 流量治理兼容Kubernetes和Istio生态功能包括负载均衡、熔断、故障注入等多种 治理能力。并内置金丝雀、蓝绿灰度发布流程提供一站式自动化的发布管理。
3.1 Istio
Istio提供了一个完整的解决方案通过为整个服务网格提供行为洞察和操作控制来满足微服务应用程序的多样化需求。
Kubernetes提供了部署、升级和有限的运行流量管理能力但并不具备熔断、限流等能力。Istio是基于Kubernetes构建的开放平台它很好的补齐了Kubernetes在微服务 治理上的诸多能力。
想要让服务支持Istio只需要在环境中部署一个特殊的Sidecar代理使用Istio控制平面功能配置和管理代理拦截微服务之间的所有网络通信 实现HTTP、gRPC、WebSocket和TCP流量的自动负载均衡。 通过丰富的路由规则、重试和故障注入可以对流量行为进行细粒度控制。 对出入集群入口和出口中所有流量自动度量指标、日志记录和追踪。 通过强大的基于身份的验证和授权在集群中实现安全的服务间通信。
Istio旨在实现可扩展性满足各种部署需求。
3.2 基本概念
a.金丝雀发布
又称灰度发布是迭代的软件产品在生产环境安全上线的一种重要手段。在生产环境上引一部分实际流量对一个新版本进行测试测试新版本的性能和表现在保证系统整体稳定运行的前提下尽早发现新版本在实际环境上的问题。
b.蓝绿发布
蓝绿发布提供了一种零宕机的部署方式。不停老版本部署新版本进行测试确认运行正常后将流量切到新版本然后老版本同时也升级到新版本。始终有两个版本同时在线有问题可以快速切换。
c.流量治理
应用流量治理提供可视化云原生应用的网络状态监控并实现在线的网络连接和安全 策略的管理和配置当前支持连接池、熔断、负载均衡、HTTP头域、故障注入等能力。
d.连接池管理
配置TCP和HTTP的连接和请求池相关阈值保护目标服务避免对服务的过载访问。
e.熔断
配置快速响应和隔离服务访问故障防止网络和服务调用故障级联发生限制故障影响范围防止故障蔓延导致系统整体性能下降或者雪崩。
3.3 与其他云服务的关系 云容器引擎CCE
云容器引擎提供高可靠高性能的企业级容器应用管 理服务支持Kubernetes社区原生应用和工具简化云上自动化容器运行环境搭建。用户可以为CCE集群启用服务网格功能对集群中的服务进行治理。
弹性负载均衡ELB
弹性负载均衡将访问流量自动分发到多台云服务器 扩展应用系统对外的服务能力实现更高水平的应用容错。用户可以通过弹性负载均衡从外部访问ASM。
3.4 应用场景
a.服务灰度发布
适用场景
通常产品优化迭代的方式直接将某版本上线发布给全部用户一旦遇到线上事故 或BUG对用户的影响极大解决问题周期较长甚至有时不得不回滚到前一版本严重影响了用户体验。 灰度发布是版本升级平滑过渡的一种方式当版本升级时使部分用户使用高版本 其他用户继续使用低版本待高版本稳定后逐步扩大范围把所有用户流量都迁移到高版本上面来。
价值
应用服务网格为应用治理提供多种灰度发布功能在初始灰度的时候可以发现、调整问题以降低影响度保证整体系统稳定高效地推动企业应用的迭代升级。
优势
**内置灰度流程**基于细粒度的分流规则在ASM中内置了多种典型的灰度发布流程提供一个灰度发布的向导方便用户便捷的进行灰度发布实践。在一个服务 版本正常工作正常处理流量的同时用户可以创建一个新的灰度版本。当灰度版本启动成功后引导用户配置灰度规则来切分流量。
**灵活的灰度策略**灰度规则可以是基于权重的按比例切分流量也可以根据服务 访问的内容来将特定内容的请求发往灰度版本对于常用的HTTP协议如请求中的OS、浏览器、Cookie和Header信息等在配置了灰度规则后可以实时的观察 到多个线上版本的运行和访问信息从而在向导中一键式完成版本选择将所有 流量都切换到最终选定的版本上。
b.服务流量管理
适用场景
流量治理是一个非常宽泛的话题例如
①动态修改服务间访问的负载均衡策略如配置一致性哈希将流量转发到特定的服 务实例上。
②同一个服务有两个版本在线将一部分流量切到某个版本上。
③对服务进行保护例如限制并发连接数、限制请求数、隔离故障服务实例等。
④动态修改服务中的内容或者模拟一个服务运行故障等。
价值
在Istio中实现这些服务治理功能时无须修改任何应用的代码。 应用服务网格ASM基于Istio可以为管理的服务提供非侵入的流量治理能力。根据服务的协议提供策略化、场景化的网络连接管理。在应用拓扑上对选定服务的选定端口根据需要配置各种不同的治理规则。
优势
**重试**服务访问失败自动重试从而提高总体访问成功率和质量。支持配置HTTP 请求重试次数、重试超时时间和重试条件。
**超时**服务访问超时自动处理快速失败从而避免资源锁定和请求卡顿。支持 配置HTTP请求超时时间。
**连接池**通过连接池管理可以对四层协议配置TCP的最大连接数、连接超时时 间、最大无响应次数、最短空闲时间和健康检查间隔对七层协议配置HTTP最大 请求数、最大重试次数、最大等待请求数、每连接最大请求数、连接最大空闲时 间从而防止一个服务的失败级联影响到整个应用。
**熔断**通过熔断配置实例被驱逐前的连续错误次数、驱逐间隔时长、最小驱逐时间、最大驱逐比例等参数从而定期考察被访问的服务实例的工作情况如果连 续出现访问异常则将服务实例标记为异常并进行隔离在一段时间内不为其分 配流量。过一段时间后被隔离的服务实例会再次被解除隔离尝试处理请求 如果还不正常则被隔离更长的时间。从而实现异常服务实例的故障隔离和自动 故障恢复。
**负载均衡**配置各种负载均衡策略如随机、轮询、最少连接还可以配置一致 性哈希将流量转发到特定的服务实例上。
**HTTP头域**灵活增加、修改和删除指定HTTP头域包括将HTTP请求转发到目标 服务之前对Headers的操作以及将HTTP响应回复给客户端前对Headers的操 作以非侵入方式管理请求内容。
**故障注入**通过对选定的服务注入中断故障、延时故障来构造故障场景无需修 改代码即可进行故障测试。
c.端到端的透明安全
适用场景
众所周知将传统的单体应用拆分为一个个微服务固然带来了各种好处包括更好的 灵活性、可伸缩性、重用性但微服务也同样面临着特殊的安全需求如下所示
①为了抵御中间人攻击需要用到流量加密。
②为了提供灵活的服务访问控制需要用到TLS和细粒度访问策略。
③为了决定哪些人在哪些时间可以做哪些事需要用到审计工具。
面对这些需求应用服务网格提供全面的安全解决方案包括身份验证策略透明的TLS 加密以及授权和审计工具。
价值
**默认的安全性**无需修改即可保证应用程序代码和架构的安全性。
**纵深防御**与现有的安全系统结合并提供多层防御。
**零信任网络**在不受信任的网络上构建安全解决方案。
优势
**非侵入安全**应用服务网格是以一种安全基础设施的方式向用户提供透明的安全 能力让不涉及安全问题的代码安全运行让不太懂安全的人可以开发和运维安 全的服务不用修改业务代码就能提供服务访问安全。应用服务网格提供了一个 透明的分布式安全层并提供了底层安全的通信通道管理服务通信的认证、授 权和加密提供Pod到Pod、服务到服务的通信安全。开发人员在这个安全基础设 施层上只需专注于应用程序级别的安全性。
**细粒度授权**在认证的基础上就可以进行服务间的访问授权管理可以控制某 个服务或者服务的一个特定接口进行授权管理。如只开放给特定的一个 Namespace下的服务或者开放给某个特定的服务。源服务和目标服务可以在不 同的集群甚至源服务的不同实例在不同的集群目标服务的不同实例在不同的集群。
d.传统微服务SDK结合
适用场景
①传统SDK开发的服务希望使用服务网格能力。
②希望将Istio与微服务平台集成并以Istio为基础打造一个微服务管控中心。
价值
提供Spring Cloud、Dubbo等传统微服务SDK的集成解决方案传统的微服务SDK开发 的业务代码无需大的修改即可方便的迁移到云原生的容器和网格运行环境上来。
优势
**无侵入的迁移方案**对于大量当前使用传统SDK开发的服务当要使用服务网格 能力时ASM提供了一套迁移业务无侵入的迁移方案。在服务调用方将Outbound 的流量引流到网格的数据面上来。即短路原有SDK里的服务发现和负载均衡直 接通过Kubernetes的服务名访问使用Kubernetes的服务发现SDK里的治理逻 辑也可逐步的被网格替换。这样服务的运行治理能力都下沉到由Kubernetes和服 务网格提供的基础设施上。统一策略
**管理**控制面使用ASM统一的控制面做服务发现和治理规则管理不需 要独立的注册中心和配置中心数据面的服务发现、负载均衡和各种治理都在 ASM数据面Envoy上执行SDK作为开发框架回归到开发框架的本来职能作为 一个纯净轻量的应用开发框架供用户开发代码。
**多种基础设施**在方案中数据面可以是容器也可以是VM。服务可以是各种语言本身开发框架也没有限制。统一通过网格的控制面下发流量规则对所有形 态的数据面进行一致的管理。
4.智能边缘平台IEF
智能边缘平台Intelligent EdgeFabric通过纳管边缘节点提供将云上应用延伸到边缘的能力联动边缘和云端的数据满足客户对边缘计算资源的远程管控、数据处理、分析决策、智能化的诉求同时在云端提供统一的边缘节点/应用监控、日志采集等运维能力为企业提供边、云协同的一体化边缘计算解决方案。
云计算是集中化的离终端设备如摄像头、传感器等较远对于实时性要求高的计算需求把计算放在云上会引起网络延时变长、网络拥塞、服务质量下降等问题。 而终端设备通常计算能力不足无法与云端相比。在此情况下边缘计算顺应而生 通过在靠近终端设备的地方建立边缘节点将云端计算能力延伸到靠近终端设备的边缘节点从而解决上述问题。
4.1 产品功能
a.边缘节点管理
IEF支持接入海量的边缘节点EdgeNode在IEF中可以自动生成边缘节点的配置信息能够高效、便捷的纳管安装Edge Agent边缘节点所有边缘节点可以在云端统一管理、监控和运维。 b.终端设备管理
支持终端设备连接到边缘节点终端设备支持通过MQTT协议接入。终端设备接入 后可以对终端设备进行统一管理。 当前IEF只支持使用MQTT协议在边缘节点和IEF间同步终端设备属性信息不支持终端 设备连接、终端设备状态管理。 c.边缘应用管理
IEF支持以容器的形式将边缘应用快速部署到边缘节点运行。您可以将自己的边缘应用 程序打包成容器镜像并上传到容器镜像服务然后通过IEF将容器镜像部署到边缘节 点运行。并且IEF支持对应用进行版本升级、配置变更、卸载、监控和日志采集。 容器具有更繁荣的生态能帮助您的容器应用无缝切换到其他的运行环境中具有更好的可移植性而且容器具有更好的资源隔离性并支持CPU/GPU调度。
d.消息路由管理
IEF提供了消息路由功能用户可以配置消息路由IEF根据配置的消息路由将边缘消息转发至对应消息端点Endpoint发送或接收消息的一方让消息按照规定的路径转发灵活控制数据路由并提高数据安全性。 4.2 实现原理 纳管边缘节点绑定终端设备。 使用IEF构建边缘计算首先需要将边缘节点纳入IEF的管理通过在边缘节点安装边 缘节点软件并将终端设备绑定到边缘节点做完这些后您就可以通过IEF往边 缘节点部署应用。开发应用并制作镜像上传到容器镜像服务SWR。 这个步骤是针对实际业务场景开发应用开发完成后制作成容器镜像并上传到 SWR上这样后面IEF下发应用后边缘节点就可以从SWR中拉取应用镜像。 虽然这里将开发应用放在了步骤 1之后但这两个步骤之间并没有明确的先后顺序用户也可以先开发应用然后再纳管边缘节点、绑定设备。部署应用。 边缘节点纳管、应用开发完后就可以通过IEF将应用部署到边缘节点运行您的 实际业务。 应用运行后就能通过AOM对应用进行监控和告警提供运维便利性。可选回传数据到云上做进一步处理根据处理结果更新应用。 这个步骤与IEF的使用本身没有强相关但是这是一个常见的根据数据改进应用的 方法您可以根据自身需求选择是否操作。
4.3 关键指标 4.4 基本概念
a.边缘节点
边缘节点EdgeNode是用户自己的边缘计算设备用于运行边缘应用处理用户的数据并安全、便捷地和云端应用进行协同。 b.终端设备
终端设备可以小到传感器、控制器大到智能摄像机或工控机床。终端设备可以连接 到边缘节点。 当前IEF只支持使用MQTT协议在边缘节点和IEF间同步终端设备属性信息不支持终端设备连接、终端设备状态管理。 c.容器应用
容器应用是您需要在边缘节点上运行的功能模块通过部署所需应用来构建您自己的 边缘计算能力。
d.消息端点
数据发送的起始点或者数据接收的目的点如数据从终端设备发送到云端服务终端 设备为源端点云端服务为目的端点。
e.消息路由
由源端点源端点资源目的端点和目的端点资源组成系统会根据消息将消息从源 端点指定资源转发到目的端点的指定资源上。
d.证书
证书是作为边缘应用或者终端设备接入边缘节点MQTT Broker的凭证。
4.5 与其他云服务的关系 云服务名称描述SWR边缘节点从SWR拉取容器镜像。OBS用户可以将边缘节点生成的数据上传到OBS存储从而在云上做进一步处理。AOM边缘节点的告警上报至应用运维服务AOM。
4.6 应用场景
a.工业视觉
传统的工业制造主要采用人工肉眼检测产品的缺陷不仅使得检测产品速度慢、效率 低下而且在检测过程中容易出错导致误检、漏检等问题。基于机器视觉的质检方 案通过云端建模分析与边缘实时决策的结合实现自动视觉检测提升产品质量。
优势 **高效**云端已训练的视觉模型在边缘侧部署实现产品实时预测提升检测效 率提高产品质量 **模型最优**提供边云协同架构云端模型训练数据边缘处理模型增量训练优 化实现模型最优 **统一管控**智能边缘平台可以实现统一模型下发节点状态统一监控
b.CDN边缘站点管理
对部署在全国各地的CDN边缘站点进行统一管理帮助用户实现应用自动化调度弹 性伸缩以及边缘站点和边缘应用运维。
优势 **弹性伸缩**可根据用户的业务需求和预设策略自动调整计算资源使云服务器 或容器数量自动随业务负载增长而增加随业务负载降低而减少保证业务平稳 健康运行。 **智能化调度**提供节点间亲和性调度以及应用间亲和性调度。 **立体化运维**实时监控业务健康状态和边缘节点状态保障应用稳定运行。 **本地自治**支持边缘节点离线处理在边缘节点与云中心网络断开后业务可以正常运行。 5.多云容器平台MCP
多云容器平台Multi-Cloud Container PlatformMCP是基于多年容器云领域实践经验和社区先进的集群联邦技术Karmada提供的容器多云和混合云的解决方案提供跨云的多集群统一管理、应用在多集群的统一部署和流量分发为用户彻底解决多云灾备问题的同时还可以在业务流量分担、业务与数据分离、开发与生产分离、计算与业务分离等多种场景下发挥价值。 5.1 产品功能
统一集群管理
多云容器平台通过集群联邦实现对多个云运营商的集群进行统一管理支持集群 跨地域统一部署、统一发布及统一运维。
全局应用管理
基于多集群与Federation联邦技术多云容器平台可以实现多个不同区域、不同云的Kubernetes管理支持统一的全局应用管理支持基于Kubernetes社区集群联邦标准化接口的跨集群应用的部署、删除、升级等全生命周期管理。
跨集群的弹性伸缩能力
多云容器平台支持跨集群的应用弹性伸缩策略用以均衡各集群的应用实例分布实现全局负载均衡。用户无需再担心集群节点的水平扩展多云容器平台将根据应用的负载情况轻松灵活的自动扩缩容应用所需的资源。
跨集群的服务发现能力
多云容器平台支持创建联邦服务支持跨集群的服务发现机制能够基于服务就 近访问原则实现业务的区域亲和从而在业务进行多区域部署时实现访问与服 务的同地域优先降低用户访问时的网络延迟。
标准兼容
多云容器平台兼容Kubernetes社区最新Federation架构提供原生Kubernetes API及Karmada API。可使用熟悉的Kubernetes命令行和API来部署容器应用 无需修改任何服务代码即可支持Kubernetes典型应用场景。
5.2 Karmada
KarmadaKubernetes Armada是基于Kubernetes原生API的多集群管理系统。在多云和混合云场景下Karmada提供可插拔全自动化管理多集群应用实现多云集中 管理、高可用性、故障恢复和流量调度。
关键特性 基于K8s原生API的跨集群应用管理用户可以方便快捷地将应用从单集群迁移到多集群。 中心式操作和管理Kubernetes集群。 跨集群应用可在多集群上自动扩展故障转移和负载均衡。 高级的调度策略区域可用区云提供商。 支持创建分发用户自定义CustomResourceDefinitions资源。
框架结构 **ETCD**存储Karmada API对象。 **Karmada Scheduler**提供高级的多集群调度策略。 Karmada Controller Manager: 包含多个ControllerController监听karmada对象并且与成员集群API server进行通信。
基本概念 **资源模板Resource Template**Karmada使用K8s原生API定义作为资源模板便于快速对接K8s生态工具链。 **分发策略Propagaion Policy**Karmada提供独立的策略API用来配置资源分发策略。 **差异化策略Override Policy**Karmada提供独立的差异化API用来配置与集群相关的差异化配置。比如配置不同集群使用不同的镜像。
Karmada资源分发流程图 5.3 组网方案
多云容器平台提供了混合云、多云、多区域三种类型的组网方案支持将华为云的云 容器引擎CCE集群、其他公有云的Kubernetes集群如阿里云、腾讯云和自建 的Kubernetes集群添加到多云容器平台中进行统一管理详细组网方案如下
**混合云方案**是指混合华为云的CCE集群和自建数据中心的Kubernetes集群的场景。 该方案具有如下特点 **云上统一管理**在云上实现资源、应用、网络等多云统一管理。 **云上伸缩应用**私有云作为固定资源公有云作为备用资源当业务出现突发流 量高峰时实现云上资源的快速扩容。 **云上数据无关**核心数据放在线下公有云上运行与核心数据无关的应用。 **业务迁移过渡**合理利用原有的物理计算资源将业务逐步平稳切换到公有云 上实现资源的最大化利用。
**多云方案**是指混合华为云的CCE集群与其它云运营商如阿里云、腾讯云的 Kubernetes集群。 该方案具有如下特点
**- 统一管理**实现资源、应用、网络等多云统一管理。 **可扩展性**比单集群更高的横向扩展性解决单集群管理容量受限的问题。 **智能路由**多集群分布在不同区域实现地域亲和的请求转发降低用户因跨区 域访问造成的网络延迟。 **多云容灾**相同业务部署到不同云运营商的集群实现多云容灾。
**多区域方案**混合在相同或不同的虚拟私有云、区域下的CCE集群。 该方案具有如下特点 **统一管理**实现资源、应用、网络等多云统一管理。 **可扩展性**比单集群更高的横向扩展性解决单集群管理容量受限的问题。 **智能路由**多集群分布在不同区域实现地域亲和的请求转发降低用户因跨区 域访问造成的网络延迟。 **多区域容灾**相同业务部署到不同区域的集群实现多云容灾。
5.4 基本概念
a.联邦工作负载
联邦工作负载描述跨集群部署的工作负载可以将配置的工作负载自动部署到所选择的Kubernetes集群。当前仅支持联邦无状态工作负载FederatedDeployment、有状态工作负载StatefulSet、守护进程集DaemonSet。
b.联邦服务
集群中为满足多种复杂场景下工作负载间的互相访问提供了不同的访问方式从而 满足不同场景提供不同访问通道。而联邦服务就是在多云场景中面向联邦层级添加 的服务用于联邦中不同集群之间工作负载的相互访问。可以在多云容器平台中统一 管理。
c.联邦路由
路由指采用了增强型弹性负载均衡在四层负载均衡访问方式的基础上支持了URI配 置通过对应的URI将访问流量分发到对应的服务。而联邦路由指的是在多云场景下的 路由组件面向联邦层级添加的路由可以在多云容器平台中统一管理。
d.联邦存储声明
存储声明指集群文件存储、云硬盘、对象存储。联邦存储面对联邦层级为多个集群同时创建存储卷声明并且可以为每个集群配置差异化设置。在联邦层级统一管理集群中的存储声明。
e.组件
多云容器中的最小单元提供一个独立的功能模块/微服务支持多云场景下的统一的运维。
云容器引擎
在多云容器平台中可以添加CCE集群和其他Kubernetes集群实现多集群统一管理。
弹性负载均衡
用户可以通过弹性负载均衡从外部网络访问容器负载。