服务治理平台Istio的安装与服务部署

Posted inps

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务治理平台Istio的安装与服务部署相关的知识,希望对你有一定的参考价值。

 服务网格是一种新的服务治理的架构模式。



    服务网格(service mesh)将服务间的通信和管理控制功能从业务功能中剥离,从应用层转移到基础设施层。对于原本应用就不关心的服务发现、服务注册、服务路由和负载均衡功能交给服务网格去处理。服务网格和spring cloud的服务管理方式完全不同, spring cloud 需要在应用中引入对应的API对服务进行治理,而服务网格则不需要应用进行改造就能实现服务治理,而是通过独立的代理服务(Sidecar)完成,由代理来负责找到目的服务并负责通讯的可靠性和安全等问题


服务治理平台Istio的安装与服务部署


01

Istio概念


    在实际应用中,服务网格通常是由一系列轻量级的网络代理组成的,它们与应用程序部署在一起,但应用程序不需要知道它们的存在。Istio是一个开源项目,采用kubernetes进行服务部署和集群管理,采用Istio处理服务通讯和治理,两者相辅相成。

服务治理平台Istio的安装与服务部署

    Envoy作为服务网格的Sidecar,负责服务请求的代理功能,完成负载均衡、服务发现、熔断器、监控检查和流量拆分等功能。

服务治理平台Istio的安装与服务部署

    Pilot负责收集和验证配置并将其传播到各种Istio组件。它从Mixer和Envoy中抽取环境特定的实现细节,为他们提供用户服务的抽象表示,独立于底层平台。Pilot公开了用于服务发现 、负载均衡池和路由表的动态更新的 API。这些API将Envoy从平台特有的细微差别中解脱出来,简化了设计并提升了跨平台的可移植性。运维人员可以通过Pilot的Rules API指定高级流量管理规则。

服务治理平台Istio的安装与服务部署

   Mixer负责在服务网格上执行访问控制和使用策略,并从Envoy代理和其他服务收集遥测数据。Mixer在处理不同基础设施后端的灵活性是通过使用通用插件模型实现的。单个的插件被称为适配器,它们允许Mixer与不同的基础设施后端连接,这些后台可提供核心功能包括日志,监控,配额,ACL检查等。

服务治理平台Istio的安装与服务部署


    Istio-Auth提供强大的服务间认证和终端用户认证,使用交互TLS,内置身份和证书管理。


02

Istio安装


  1. 下载Istio0.6.0版本,两种方式都可以

wget https://github.com/istio/istio/releases/download/0.6.0/istio-0.6.0-linux.tar.gz

curl -L https://git.io/getLatestIstio | sh -

  2. 进入istio目录,添加istioctl 到PATH

cd istio-0.6.0

export PATH=$PWD/bin:$PATH

  3. 安装, 这里为了方便安装了不带TLS的版本

kubectl apply -f install/kubernetes/istio.yaml

  4. 查看是否安装正常,看istio-pilot, istio-mixer, istio-ingress三个服务是否部署

kubectl get svc -n istio-system

服务治理平台Istio的安装与服务部署

kubectl get pods -n istio-system

服务治理平台Istio的安装与服务部署


03


服务治理验证


Bookinfo应用的架构如下:

服务治理平台Istio的安装与服务部署


构建应用程序容器

kubectl apply -f samples/bookinfo/kube/bookinfo.yaml

#  kubectl get services

服务治理平台Istio的安装与服务部署

#  kubectl get pods

服务治理平台Istio的安装与服务部署

# kubectl get ingress -o wide    , 确定 ingress入口

服务治理平台Istio的安装与服务部署

http://10.100.50.23/productpage

    在默认情况下访问请求会随机负载到三个版本的应用上,使用route-rule-reviews-v2-v3.yaml会将流量负载到v2和v3版本。


istioctl create -f samples/bookinfo/kube/route-rule-reviews-v2-v3.yaml

istioctl delete -f samples/bookinfo/kube/route-rule-reviews-v2-v3.yaml






以上是关于服务治理平台Istio的安装与服务部署的主要内容,如果未能解决你的问题,请参考以下文章

Istio在虚拟机部署纳管

云原生服务网格istio 第一章

云原生服务网格istio 第一章

微服务治理框架Spring Cloud与Istio对比

Spring Cloud vs Istio微服务治理框架对比

Istio微服务治理网格的全方面可视化监控(微服务架构展示资源监控流量监控链路监控)