精华内容
下载资源
问答
  • Istio

    2021-05-11 19:18:46
    Istio 什么是 Istio 首先是官网的介绍: ​ Istio lets you connect, secure, control, and observe services ​ Istio helps reduce the complexity of these deployments, and eases the strain on your ...

    Istio

    什么是 Istio

    首先是官网的介绍:

    ​ Istio lets you connect, secure, control, and observe services

    ​ Istio helps reduce the complexity of these deployments, and eases the strain on your development teams. It is a completely open source service mesh that layers transparently onto existing distributed applications. It is also a platform, including APIs that let it integrate into any logging platform, or telemetry or policy system. Istio’s diverse feature set lets you successfully, and efficiently, run a distributed microservice architecture, and provides a uniform way to secure, connect, and monitor microservices.

    主要是第一段中的四个关键词

    • connect (连接) :智能控制服务之间的调用流量,实现灰度升级、AB测试和红黑部署等功能
    • secure (保护) :自动为服务之间的调用提供认证、授权和加密
    • control (控制) :应用用户定义的 policy,保证资源在消费者中公平分配
    • observe (观察):查看服务运行期间的各种数据,比如日志、监控和 tracing,了解服务的运行情况。

    总结起来就是

    An open platform to connect, secure, control and observe services.

    连接、保护、控制和观察服务的开放平台

    什么是 Service Mesh

    再来看看官网的描述

    The term service mesh is used to describe the network of microservices that make up such applications and the interactions between them

    Sercice Mesh是用来描述构成一类应用的==微服务网络==以及它们之间的互动。

    网络上对于Service Mesh 的描述是 可以把Service Mesh 看做建立在 TCP 层之上的微服务层。

    Service Mesh 的技术根基为网络代理 那么就需要先了解一下网络代理是什么。

    网络代理

    网络代理,可以理解为现实生活中的中介。

    网络通信的双方通过代理进行网络通信,而代理就可以在通信过程中完成一些事情,比如:

    • 拦截:代理可以选择性拦截传输的网络流量,比如一些公司限制员工在上班的时候不能访问某些游戏或者电商网站,再比如把我们和世界隔离开来的 GFW,还有在数据中心中拒绝恶意访问的网关。
    • 统计:既然所有的流量都经过代理,那么代理也可以用来统计网络中的数据信息,比如了解哪些人在访问哪些网站,通信的应答延迟等。
    • 缓存:如果通信双方比较”远“,访问比较慢,那么代理可以把最近访问的数据缓存在本地,后面的访问不用访问后端来做到加速。CDN 就是这个功能的典型场景。
    • 分发:如果某个通信方有多个服务器后端,代理可以根据某些规则来选择如何把流量发送给多个服务器,也就是我们常说的负载均衡功能,比如著名的 Nginx 软件。
    • 跳板:如果 A、B 双方因为某些原因不能直接访问,而代理可以和双方通信,那么通过代理,双方可以绕过原来的限制进行通信。这应该是广大中国网民比较熟悉的场景。
    • 注入:既然代理可以看到流量,那么它也可以修改网络流量,可以自动在收到的流量中添加一些数据,比如有些宽带提供商的弹窗广告。
    • ……

    再说回Service Mesh,Service Mesh其实可以看做是传统代理的升级版,用来解决现在微服务框架中出现的问题,可以把 Service Mesh 看做是分布式的微服务代理。

    应用所有的流量都被代理接管,而代理就可以从中做许多的事情了。

    此外,原来的代理都是基于网络流量的,一般都是工作在 IP 或者 TCP 层,很少关心具体的应用逻辑。

    但是 Service Mesh 中,代理会知道整个集群的所有应用信息,并且额外添加了热更新、注入服务发现、降级熔断、认证授权、超时重试、日志监控等功能,让这些通用的功能不必每个应用都自己实现,放在代理中即可。

    应用微服务之后,每个单独的微服务都会有很多副本,而且可能会有多个版本,这么多微服务之间的相互调用和管理非常复杂,但是有了 Service Mesh,我们可以把这块内容统一在代理层。

    image-20210511142528118

    有了看起来四通八达的分布式代理,我们还需要对这些代理进行统一的管理。

    手动更新每个代理的配置,对代理进行升级或者维护是个不可持续的事情,在前面的基础上,在加上一个控制中心,一个完整的 Service Mesh 就成了

    管理员只需要根据控制中心的 API 来配置整个集群的应用流量、安全规则即可,代理会自动和控制中心打交道根据用户的期望改变自己的行为。

    image-20210511142552089

    NOTE: 所以你也可以理解 Service Mesh 中的代理会抢了 Nginx 的生意,这也是为了 Nginx 也要开始做 NginMesh 的原因。

    引用:https://www.sohu.com/a/270131876_463994

    Istio架构图

    image-20210511142017055

    Istio Service Mesh 分为data planecontrol plane

    • data plane: 数据层有智能代理–Envoy组成,这些代理机构调解和控制微服务之间的所有网络通信。它们还收集和报告所有网状流量的遥测数据。
    • control plane:控制层通过管理和配置代理机构来路由流量

    根据Istio的框架图,我们就可以更好地理解Istio的四个核心功能了:

    1. connect (连接) :智能控制服务之间的调用流量,实现灰度升级、AB测试和红黑部署等功能

      -----> 控制中心可以从集群中获取所有服务的信息,并分发给代理,这样代理就能根据用户的期望来完成服务之间的通信(自动地服务发现、负载均衡、流量控制等)

    2. secure (保护) :自动为服务之间的调用提供认证、授权和加密

      -----> 因为所有的流量都是通过代理的,那么代理接收到不加密的网络流量之后,可以自动做一次封装,把它升级成安全的加密流量

    3. control (控制) :应用用户定义的 policy,保证资源在消费者中公平分配

      -----> 用户可以配置各种规则(比如 RBAC 授权、白名单、Rate Limit 或者 Quota 等),当代理发现服务之间的访问不符合这些规则,就直接拒绝掉

    4. observe (观察):查看服务运行期间的各种数据,比如日志、监控和 tracing,了解服务的运行情况

      -----> 有的流量都经过代理,因此代理对整个集群的访问情况知道得一清二楚,它把这些数据上报到控制中心,那么管理员就能观察到整个集群的流量情况了

    展开全文
  • istio

    2020-07-04 20:47:20
    (1)治理能力独立 专注于业务 服务治理交给istio 应用程序无感知 服务通信的基础设施层 (2)负载均衡 动态路由 灰度发布 故障注入 调用脸 访问日志 监控 限流 ACL 认证 鉴权 k8s eureka cloudfoundry consual ...

    service mresh 使运维更方便

    (1)治理能力独立 专注于业务 服务治理交给istio
    		应用程序无感知  服务通信的基础设施层
    (2)负载均衡  动态路由 灰度发布 故障注入  调用脸 访问日志  监控 限流 ACL 认证 鉴权
    		k8s eureka  cloudfoundry consual 
    
    k8a(部署 运维 扩所容) + istio(服务治理 负载均衡 服务发现)
    

    pilot

    获取用户自定义规则,和k8s本身的service 部署的时候作为一个pod部署在k8s的集群里 会watch相应的资源 把规则下发到envoy里面 envoy进而再拿到服务实例列表 做负载均衡 选择一个服务实例 把请求发出去 
    

    envoy

    转发逻辑   配置文件的内容:
    listeners:请求入口
    routes:根据routes选择clusters
    clusters:轮训规则
    endpoints:转发到哪里
    
    
    gateway + virtualservice+k8s获取到的service和endpoints的信息共同组成envoy配置文件
    istio四个重要流量规则:
    
    1 -》 virtualservice::服务访问路由控制  满足特定条件的请求流转到哪里,过程中治理 包括请求重写 重试 故障注入等
    	通过match rewrite 和 route 导向不同的版本
    
    2-》 desinationrule:对一个destination 做一个服务,决定了路由处理之后的流量访问策略, (负载均衡 :不同版本去轮训或最小连接等,根据是否登陆来转发    断路器 TLS)  连接池管理(连接数 重试次数 超时 隔离舱)
    
    
    3-》gateway:可发布内部任何端口 供外部访问 提供外部访问接入 配合virtualservice
    						将mesh内的一个服务发布成可供外部访问的服务(在入口处部署一个ingress的enovy,在其上进行服务治理)
    						可以部署任意多个 或者 公用一个  外访问内ingress,配合virtualservice使用       内访问外流出egress,配合desinationrule serviceentry使用(需要egress gateway是因为本身内部节点可能没有访问外网的权限)
    						 和virtualservice分离的作用:像使用传统负载均衡设备一样管理进入网格内部的流量,绑定虚拟ip到虚拟服务器上 便于传统技术用户无缝连接到微服务
    						
    
    4-》serviceentry:通过serviceentry描述外部服务 把外部服务接入服务注册表中,像mesh内的服务一样治理  让istio中自动发现的服务能够访问和路由到这些手工加入的服务(对这些服务的outbound流量进行拦截 进而进行治理)   配合 virtualservice+ virtualservice,   让istio的服务有能力访问外网
    
    大部分规则执行都是在服务发起方执行的
    

    pilot
    服务发现的定义 实现是在adaptor对接的其他平台和其他的服务发现的后端

    serviceA 经过proxy  访问 piolt    -》  获取b的地址 负载均衡访问 service b(经过proxy)
    服务发现+ 治理都是通过proxy  service本身并不知道proxy的存在
    
    服务访问规则和工作机制:
    配置:管理员通过pilot配置治疗规则
    下发:envoy从pilot中获取治理规则
    执行:在流量访问的时候执行规则
    
    
    

    基于eurka的istio服务发现 图来自于网络istio华为教程
    在这里插入图片描述
    基于k8s平台
    在这里插入图片描述
    istio基于k8s有的能力上进行构建的
    在这里插入图片描述
    istio配置规则维护和下发流程
    在这里插入图片描述
    istio配在k8s 和 springcloud 配在k8s

    1istio和k8s:
    	一致的服务发现  istio服务发现数据和k8s是一致的
    	不需要专门的配置服务器
    	无需专门的服务注册 不是成k8s的srevice即可
    
    2springlcoud 和 k8s:
    		每个pod起来需要向eureka注册
    		k8s本身就有service和pod的关系 本身就有一套服务发现  pod地址改变后 需要动态向eureka注册
    
    
    
    
    展开全文
  • ISTIO

    2021-03-16 14:14:08
  • istio-源码

    2021-03-16 13:01:34
    istio
  • istioIstio官方文档中文版
  • Istio介绍

    万次阅读 2017-06-15 10:05:59
    Istio

    Google,IBM和Lyft自豪地宣布Istio的第一个公开发布:一个开源项目,提供统一的连接,安全,管理和监控微服务的方。 我们目前的版本针对Kubernetes环境; 我们打算在未来几个月内为虚拟机和Cloud Foundry等其他环境增加支持。 Istio将流量管理添加到微服务中,并为增值功能(如安全性,监控,路由,连接管理和策略)创造了基础。 该软件使用来自Lyft的经过测试的特使代理构建,并提供对流量的可见性和控制,而不需要对应用程序代码进行任何更改。 Istio为CIO提供了强大的工具,可以在整个企业中实施安全性,政策和合规性要求。

    介绍

    编写可靠,松散耦合的基于微服务的生产级应用程序可能具有挑战性。随着单片应用程序分解成微服务,软件团队必须担心在分布式系统中集成服务所固有的挑战:它们必须考虑服务发现,负载平衡,容错,端到端监控,功能实验的动态路由,也许最重要的是遵守和安全。

    解决这些挑战的不一致尝试,从图书馆,脚本和Stack Overflow片段中拼凑出来,导致了跨语言和运行时差异的解决方案,具有差的可观察性特征,并且常常会最终导致安全性受损。

    一个解决方案是在一般的RPC库(如gRPC)上实现标准化,但是组织采用批发并丢弃可能几乎不可能改变的棕色应用程序,这可能是昂贵的。运营商需要一个灵活的工具包,使他们的微服务安全,兼容,可跟踪和高可用性,开发人员需要能够在生产中尝试不同的功能,或部署金丝雀版本,而不会影响整个系统。

    解决方案: 服务网格

    想像一下,如果我们可以在服务和网络之间透明地注入一层基础设施,为运营商提供所需的控制,同时让开发人员不必将分布式系统问题的解决方案解决到他们的代码中。这种统一的基础设施层结合服务部署通常被称为服务网格。正如微型服务器有助于将功能团队相互分离的一种,服务网格可以帮助操作人员脱离应用程序功能开发和发布过程。 Istio通过系统地将代理注入到其中的网络路径中,将不同的微服务转变为综合服务网格。

    基于我们为内部和企业客户构建和运营大规模微服务的常见经验,Google,IBM和Lyft联手创建Istio,希望为微服务开发和维护提供可靠的基础。 Google和IBM在自己的应用程序中与这些大型微服务机构有丰富的经验,并在敏感/监管的环境中与企业客户有丰富的经验,而Lyft开发了特使来解决他们内部的可操作性挑战。 Lyft开源的Envoy在成功使用它一年以上,可以管理超过100个服务,跨越10,000个虚拟机,处理2M请求/秒。

    Istio好处

    1. 范围的可见性:发生故障,运营商需要工具来保持群集的健康状况和微服务的图形。 Istio生成关于使用Prometheus&Grafana呈现的应用程序和网络行为的详细监控数据,可以轻松扩展,将度量标准和日志发送到任何收集,聚合和查询系统。 Istio可以使用Zipkin跟踪分析性能热点和分布式故障模式的诊断。
    2. 灵活性和效率:在开发微服务时,运营商需要假设网络不可靠。 运营商可以使用重试,负载平衡,流量控制(HTTP / 2)和断路以补偿由于不可靠的网络导致的一些常见故障模式。 Istio提供了一种统一的方法来配置这些功能,使其更容易操作高度弹性的服务网格。
    3. 开发人员的生产力:Istio通过让他们专注于以所选择的语言构建服务功能,大大提升了开发人员的生产力,而Istio则以统一的方式处理弹性和网络挑战。 开发人员无需将解决方案的分布式系统问题解决到其代码中。 Istio通过提供支持A / B测试,canarying和故障注入的常用功能,进一步提高生产力。
    4. 政策驱动行动:Istio授权不同领域的团队独立运作。 它将集群运营商与功能开发周期分离,允许改进安全性,监控,扩展和服务拓扑,无需更改代码。 运营商可以路由精确的生产流量子集,以符合新的服务版本。 他们可以在流量中注入故障或延迟,以测试服务网格的弹性,并设置速率限制,以防止服务超载。 Istio还可用于强制执行合规性规则,在服务之间定义ACL,以允许只有授权的服务相互通信。
    5. 默认安全:网络安全是分布式计算的常见错误。 Istio使运营商能够使用相互的TLS连接来认证和保护服务之间的所有通信,而不会对开发人员或运营商造成麻烦的证书管理任务负担。 我们的安全框架与新兴的SPIFFE规范保持一致,并且基于在Google内广泛测试的类似系统。
    6. 增量采用:我们将Istio设计为对网络中运行的服务完全透明,允许团队随着时间推移逐步采用Istio的功能。 采用者可以从启用车队范围的可视性开始,一旦他们对环境中的Istio感到满意,他们可以根据需要切换其他功能。
    展开全文
  • Istio 教程

    2018-04-12 09:08:57
    istio 初级教程,介绍了istio基本组成及功能,希望对大家有用。
  • Istio Kubernetes的Istio资产。
  • Istio 服务网格——后 Kubernetes 时代的应用网络实践 是由 Google、IBM、Lyft 等共同开源的 Service Mesh(服务网格)框架,于2017 年开源。本书作为的姊妹篇,希望读者在了解了 Kubernetes 的基础上阅读。 本书的...
  • 使用Istio创建服务网格 保护Istio 学分 这些研讨会练习是在Google和的众多杰出的Kubernetes和Istio专家的帮助下进行的。 此内容是免费使用的,我们只要求您保留任何将来的贡献或分叉中包含的原始属性。 瑞安·奈特...
  • istio talk

    2018-02-13 14:26:12
    istio talk 2017 gluecon pdf istio talk 2017 gluecon
  • Istio An open platform to connect, manage, and secure microservices. For in-depth information about how to use Istio, visit istio.io To ask questions and get assistance from our community, ...
  • Istio Handbook——Istio 服务网格进阶实战 Istio Service Mesh Advanced Practical - Master the Services in Post Kubernetes Era 是由 Google、IBM、Lyft 等共同开源的 Service Mesh(服务网格)框架,作为云...
  • 本文来自于csdn,文章主要介绍了如何学习Istio架构,讲述了Istio核心功能,架构及设计目标。 这幅图中描述了以下内容:1.Istio可以在虚拟机和容器中运行2.Istio的组成Pilot:服务发现、流量管理 Mixer:访问控制、...
  • Istio istio示例和资源 istioctl 1.8.3二进制文件: : minikube安装: ://minikube.sigs.k8s.io/docs/start/ minikube istio: ://istio.io/latest/docs/setup/platform-setup/minikube/ minikube start:“ ...
  • IstioIstio)的“ Hello World” 这是什么回购协议? 这是我一年前(12/17)假期里写的一个非常简单的应用程序,详细介绍了我在istio上的经验和反馈。 需要明确的是,它是我在这里使用的一个非常基本的NodeJS应用...
  • [istio]istio学习笔记

    2020-12-27 19:57:40
    2.下载istio curl -L https://istio.io/downloadIstio | sh - 将istio的bin加入到环境变量 [root@master ~]# cat ~/.bash_profile |grep istio PATH=/home/yunwei/istio-1.5.1/bin:$PATH:$HOME/bin 3.安装istio ...
  • istio 部署

    2020-10-29 13:37:15
    环境:kubernetes v1.11.5,istio 1.3.2,centos7 安装部署 1、 github 下载 istio1.3.2 版本,解压到 istio-1.3.2 2、创建 namespace istio-system [root@k8s01 istio-1.3.2]# kb create ns istio-system 3、创建 ...
  • istio微服务实验 这是旧版本,不再更新内容。
  • Istio简介

    2020-12-18 10:37:46
    Istio 是什么? 云平台令使用它们的公司受益匪浅。但不可否认的是,上云会给 DevOps 团队带来压力。为了可移植性,开发人员必须使用微服务来构建应用,同时运维人员也正在管理着极端庞大的混合云和多云的部署环境。...
  • Istio Architecture

    2018-03-14 10:31:46
    istio入门(01)istio是什么? istio入门(02)istio的架构和概念 深度剖析Service Mesh服务网格新生代Istio

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,081
精华内容 5,632
关键字:

istio