云服务器内容精选

  • 约束与限制 应用服务网格依赖集群CoreDNS的 域名 解析能力,请确保集群拥有足够资源,且CoreDNS插件运行正常。 集群启用Istio时,需要开通node节点(计算节点/工作节点)所在安全组的入方向7443端口规则,用于Sidecar自动注入回调。如果您使用CCE创建的默认安全组,此端口会自动开通。如果您自建安全组规则,请手动开通7443端口,以确保Istio自动注入功能正常。 1.13和1.15版本的istio组件不支持在CentOS和EulerOS2.5操作系统的节点上运行,在创建网格时,请不要指定这些类型的节点为mastre节点。 请根据下表ASM网格版本与集群版本适配规则匹配合适的网格版本和集群版本。 表1 ASM网格版本与集群版本适配规则 ASM网格版本 集群版本 1.3 v1.13、v1.15、v1.17、v1.19 1.6 v1.15、v1.17 1.8 v1.15、v1.17、v1.19、v1.21 1.13 v1.21、v1.23 1.15 v1.21、v1.23、v1.25、v1.27 1.18 v1.25、v1.27、v1.28、v1.29、v1.30
  • 扁平网络 扁平网络指的是两个或多个Kubernetes集群的Pod之间能够直接访问,而无需通过其他组件转发,能够提供更高的通信效率。 图1 扁平网络 使用扁平网络对Kubernetes集群的网络模型、网络连通性、规划网段有一定的约束: 所有集群必须使用容器对接ENI的网络模型,通过VPC的路由实现Pod之间跨集群通信。支持CCE集群和 CCE Turbo 集群。如果使用CCE集群,在创建时,网络模型需要选择“VPC网络”;如果使用CCE Turbo集群,在创建时,网络模型需要选择“云原生网络2.0”。 集群的网络类型可参考:集群网络构成。 所有集群VPC之间需要互通,可以处于同一VPC内,也可以将多个集群的VPC通过其他方式(对等连接、云连接等)连通。如果集群处于不同VPC内,要注意VPC的网段之间不要冲突。 对等连接可参考:创建同一账户下的对等连接。 云连接可参考:同区域同账号VPC互通。 所有集群要有统一的网络规划,所有集群的容器网段、服务网段之间不能冲突。如果多个集群处于不同VPC,那么所有集群的VPC网段也不能冲突。同时,以上网段不能和网格控制面网段冲突。
  • 扁平网络和非扁平网络集群混合场景 图3 扁平网络和非扁平网络混合部署 为了减少运维负担,不建议扁平网络和非扁平网络的集群混合加入ASM网格中,如果必须混合部署,有以下使用约束: 所有扁平网络的集群必须使用容器对接ENI的网络模型,对非扁平网络的集群没有特殊要求。 所有集群VPC之间的网络需要互通,可以处于同一VPC内,也可以将多个集群的VPC通过其他方式(对等连接、云连接等)连通。如果集群处于不同VPC内,要注意VPC的网段之间不要冲突。 对等连接可参考:创建同一账户下的对等连接。 云连接可参考:同区域同账号VPC互通。 所有集群(包括非扁平网络)的容器网段、服务网段之间不能冲突。例如:混合网络拓扑场景下,CCE集群Cluster1为扁平网络拓扑,CCE集群Cluster2为非扁平网络拓扑,那么Cluster1的容器网段、服务网段不能和Cluster2的容器网段、服务网段冲突,即使Cluster2集群为非扁平网络拓扑。 如果多个集群处于不同VPC,那么所有集群的VPC网段也不能冲突。同时,以上网段不能和网格控制面网段冲突。
  • 非扁平网络 非扁平网络指的是两个或多个Kubernetes集群的Pod之间因为网络模型不支持、容器网段冲突等原因无法直接通信,而是通过一个东西向流量的转发网关,实现非扁平网络集群间的通信。 图2 非扁平网络 相比于扁平网络,非扁平网络的使用约束少: 所有集群VPC之间的网络需要互通,可以处于同一VPC内,也可以将多个集群的VPC通过其他方式(对等连接、云连接等)连通。 对等连接可参考:创建同一账户下的对等连接。 云连接可参考:同区域同账号VPC互通。 非扁平网络对用户集群的网络模型没有特别的要求,用户集群只需要将Gateway地址暴露出来,供其他集群访问即可。但是因为使用集中的流量入口,性能瓶颈主要集中在网关上,而且多一次的转发,会对通信时延产生一定的影响。 在ASM控制台为网格添加集群时,需要为集群配置一个东西向流量的私网ELB,作为其他集群的访问入口。
  • 基础版、企业版、社区开源版本对比 大类 功能项 功能点 社区开源版本 基础版 企业版 规格 管理规模 支持最大管理实例数 - 200 5000 基础功能 服务发现和服务注册 通过服务中心集群获取服务列表、服务实例状态自动刷新、容器服务自动服务注册,业务无需实现注册逻辑、容器服务自动服务发现,业务无需实现发现订阅逻辑、服务实例副本数动态管理 √ √ √ 服务多版本 服务创建分版本管理、支持分版本进行监控 - √ √ 支持分版本进行服务负载管理 √ √ √ 服务多端口 支持管理多个端口的服务、支持管理多个端口多协议的服务 √ √ √ 灰度发布支持多端口 - √ √ 服务多形态 支持容器类型的服务后端 √ √ √ 协议及语言支持 HTTP协议灰度、治理、监控(根据协议特征不同细节不同,参照协议功能矩阵)、gRPC协议灰度、治理、监控(根据协议特征不同细节不同,参照协议功能矩阵)、开发语言无关、开发框架不限定、业务代码无侵入 √ √ √ 应用网关 支持四层协议对外访问、支持七层协议对外访问、支持入口路径映射、支持网关处TLS终止,支持配置对外证书和密钥 √ √ √ 负载均衡 支持轮询、随机、最小连接数以及一致性哈希的LB算法,可以基于特定的HTTP Header,或者基于Cookie值 √ √ √ 故障注入 支持注入指定时延或特定错误的故障,支持配置故障百分比 √ √ √ 熔断 支持配置最大请求数、每连接最大请求数、最大等待请求数、最大重试次数等七层请求管理;支持配置最大连接数、连接超时时间等四层连接管理;支持异常点检查、故障实例的自动隔离和自动恢复 √ √ √ 治理流量类型 支持对服务间内部通信流量进行治理、支持对服务外网访问流量(即Ingress流量)进行治理 √ √ √ 运行环境支持 支持容器应用治理 √ √ √ 认证 非侵入的双向TLS认证和通道加密 √ √ √ 授权 服务访问授权管理 √ √ √ 灰度发布 支持基于浏览器、操作系统、自定义HTTP Header、Cookie内容等配置灰度分流策略,支持基于URL配置灰度分流策略,支持基于请求参数、流量权重的灰度发布 √ √ √ 支持金丝雀灰度发布模板 - √ √ 支持蓝绿灰度发布模板 - √ √ 支持灰度发布过程中服务运行情况的监控以辅助灰度发布决策 - √ √ 支持灰度发布过程中服务请求情况的监控以辅助灰度发布决策 - √ √ 灰度发布时动态配置服务实例数 - √ √ 支持灰度发布过程中动态的流量比例监控 - √ √ 应用拓扑 提供应用下服务调用关系的全局拓扑 - √ √ 提供拓扑图上各个服务间请求数、异常请求数等重要指标 - √ √ 实时应用拓扑查看 - √ √ 链路跟踪/调用链 支持非侵入调用链埋点 √ √ √ 指标监控 提供服务实例CPU、内存、磁盘等运行数据监控,提供服务访问RPS、时延等访问指标的监控,提供对访问指标、异常指标的统计分析,支持对接Prometheus等开源Metric组件,支持通过配置对接不同的Metric后端 √ √ √ 访问日志 访问日志非侵入采集 √ √ √ 安装 支持现有、新建Kubernetes集群按需一键安装启用Istio能力 - √ √ 升级 支持控制面平滑升级,不中断应用业务 √ √ √ 支持数据面平滑升级,不中断应用业务 √ √ √ 插件管理 支持社区插件按需一键安装,支持Grafana、Prometheus - √ √ 支持社区插件按需一键安装,支持Tracing插件 - √ √ 支持社区插件按需一键安装,支持Kiali插件 - √ √ 支持社区插件按需一键安装,支持ELK插件 - √ √ API 非企业版网格提供基于CCE接口的开放社区兼容的流量规则配置 √ √ √ 代理管理 透明流量拦截、基于Iptables流量拦截、支持代理自动注入、支持Namespace级别和工作负载级别的注入管理 √ √ √ 代理形态 支持每Pod的Sidecar模式 √ √ √ 命令行工具 支持使用命令行进行流量策略管理(如istioctl、kubectl) - √ √ 企业版高阶能力 多集群 支持扁平网络多集群统一流量治理 - - √ 灰度发布 支持灰度负载部署在多集群,支持跨集群的灰度流量 - - √ 应用拓扑 应用拓扑可以下钻到版本或实例级别观测对应的服务访问指标 - - √ 提供按时段观察应用拓扑 - - √ 支持跨集群应用拓扑 - - √ 链路跟踪/调用链 支持全服务请求链的链路追踪 - - √ 支持基于时间、异常、响应时间等指标的检索 - - √ 支持对调用详细信息的查看,快速定位 - - √ 支持跨集群的调用链 - - √ 支持对接第三方调用链系统 - - √ SpringCloud SpringCloud服务发现配置修改复用网格服务发现和能力 - - √ SpringCloud框架ASM结合最佳实践 - - √ 安装 支持控制面按照与应用运行节点独享/共享方式运行 - - √ 父主题: 购买网格