Istio最佳实践:在K8s上通过Istio服务网格进行灰度发布

本文介绍了Istio作为微服务治理方案,如何与Kubernetes结合,增强服务网格能力。通过CCE上实践,展示了Istio在灰度发布中的应用,包括一键启用服务网格、创建云原生应用、配置灰度策略及流量切换。文章强调了Istio在微服务治理中的优势,并提供了华为云CCE上使用Istio的详细步骤。
摘要由CSDN通过智能技术生成

Istio是什么?

Istio是Google继Kubernetes之后的又一开源力作,主要参与的公司包括Google,IBM,Lyft等公司。它提供了完整的非侵入式的微服务治理解决方案,包含微服务的管理、网络连接以及安全管理等关键能力,无需修改任何代码就能够实现微服务的负载均衡,服务与服务之间的认证授权以及监控。从整个基础设施角度上看,可以将它理解为PaaS平台上的一个面向微服务管理平台的补充。

                                                               Istio架构示意图

 

Istio与Kubernetes

Kubernetes提供了部署、升级和有限的运行流量管理能力;利用service的机制来做服务注册和发现,转发,通过kubeproxy有一定的转发和负载均衡能力。但并不具备上层如熔断、限流降级、调用链治理等能力.

Istio则很好的补齐了k8s在微服务治理上的这部分能力,同时是基于k8s构建的,但不是像SpringCloud Netflix等完全重新做一套。Istio是谷歌微服务治理上的非常关键的一环。

 

Istio与k8s紧密结合,包括:Sicecar 运行在k8s pod里,作为一个proxy和业务容器部署在一起,部署过程对用户透明。Mesh中要求业务程序的运行感知不到sidecar的存在,基于k8sd的pod的设计这部分做的更彻底,对用户更透明,用户甚至感知不到部署sidecar的这个过程。试想如果是通过VM上部署一个agent,不会有这么方便。

Pilot中包含一个controller,通过list/watch kube-apiserver自动发现K8S中的services、endpoints。它通过在Kubernetes里面注册一个controller来监听事件,从而获取Service和Kubernetes的Endpoint以及Pod的关系,但是在转发层面,不再使用kube-proxy转发了,而是将这些映射关系转换成为pilot自己的转发模型,下发到envoy进行转发。

K8s编排容器服务已经成为一种事实上的标准;因为微服务与容器在轻量、快速部署运维等特征的匹配,微服务运行在容器中也正成为一种标准实践;对于云原生应用,采用Kubernetes构建微服务部署和集群管理能力,采用Istio构建服务治理能力,将逐渐成为应用微服务转型的标准配置。

 

自行管理Istio与CCE上使用Istio服务网格的对比

华为云 · 云容器引擎CCE(Cloud Container Engine)提供高可靠高性能的企业级容器应用管理服务,支持Kubernetes社区原生应用和工具,简化云上自动化容器运行环境搭建:

  • 简单易用:自动化创建容器集群,一站式部署/运维容器应用,一键式滚动升级;
  • 高性能:自研高性能容器网络,秒级自动弹性伸缩,支持高性能裸金属容器私有集群;
  • 企业级:集群控制面HA和跨AZ高可用,容器应用优雅伸缩,安全下线,保障业务不掉线;
  • 开放兼容:兼容Kubernetes/Docker社区原生版本,CNCF认证的Kubernetes服务提供商,社区的主要贡献者;

 

下列从安装、运行管理和监控多维度对比自建Istio和华为云CCE上使用Istio的差别:

 

自建

华为云CCE

Istio包管理

用户自行下载和管理

用户不感知

运行配置

用户自行配置运行环境和依赖

用户不感知

Istio安装

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值