精华内容
参与话题
问答
  • Istio

    千次阅读 2019-07-24 13:07:49
    由Lyft、IBM与google联合开发,Istio可以在不修改微服务源代码的情况下,轻松为其加上如负载均衡、身份验证等功能,它可以通过控制Envoy等代理服务来控制所有的流量。此外,Istio提供容错、金丝雀部署、A/B测试、...

    什么是lstio ?

        由Lyft、IBM与google联合开发,Istio可以在不修改微服务源代码的情况下,轻松为其加上如负载均衡、身份验证等功能,它可以通过控制Envoy等代理服务来控制所有的流量。此外,Istio提供容错、金丝雀部署、A/B测试、监控等功能,并且支持自定义的组件和集成。

    • istio 适用于容器或虚拟机环境(特别是 k8s),兼容异构架构。
    • istio 使用 sidecar(边车模式)代理服务的网络,不需要对业务代码本身做任何的改动。
    • HTTP、gRPC、WebSocket 和 TCP 流量的自动负载均衡。
    • istio 通过丰富的路由规则、重试、故障转移和故障注入,可以对流量行为进行细粒度控制;支持访问控制、速率限制和配额。
    • istio 对出入集群入口和出口中所有流量的自动度量指标、日志记录和跟踪。

    Lstio 架构图:

        

        Istio架构在网格逻辑上主要分为控制平面(Control Plane API)和数据平面(Data Plane)。
       控制平面:负责管理和配置代理来路由流量。主要分为三个组件Pilot、Mixer、Citadel

    • Pilot:为Envoy sidecar提供服务发现功能,为智能路由和弹性提供管理功能,它将控制流量行为的高级路由转化为特定于Envoy的配置,并在运行时将它们传播到sidecar。

    • Mixer:独立于平台,负责在Service Mesh上执行访问控制和使用策略,并从Envoy代理和其它服务中收集遥测数据。

    • Citadel:通过内置身份和凭证管理以提供服务与服务间的身份验证并且可以升级Service Mesh中未加密的流量。

     

    展开全文
  • 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介绍

    万次阅读 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 talk

    2018-02-13 14:26:12
    istio talk 2017 gluecon pdf istio talk 2017 gluecon
  • Istio 教程

    2018-04-12 09:08:57
    istio 初级教程,介绍了istio基本组成及功能,希望对大家有用。
  • <div><p>This will only work in Jenkins where we...We used to read from istio.RELEASE, but that meant updating the file after each release.</p><p>该提问来源于开源项目:istio/old_pilot_repo</p></div>
  • Point to istio/istio master

    2020-12-25 23:53:56
    <div><p>该提问来源于开源项目:istio/istio.io</p></div>
  • Istio简介

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

    Istio 是什么?

    云平台令使用它们的公司受益匪浅。但不可否认的是,上云会给 DevOps 团队带来压力。为了可移植性,开发人员必须使用微服务来构建应用,同时运维人员也正在管理着极端庞大的混合云和多云的部署环境。 Istio 允许您连接、保护、控制和观察服务。

    从较高的层面来说,Istio 有助于降低这些部署的复杂性,并减轻开发团队的压力。它是一个完全开源的服务网格,作为透明的一层接入到现有的分布式应用程序里。它也是一个平台,拥有可以集成任何日志、遥测和策略系统的 API 接口。Istio 多样化的特性使您能够成功且高效地运行分布式微服务架构,并提供保护、连接和监控微服务的统一方法。

    服务网格是什么?

    Istio 解决了开发人员和运维人员所面临的从单体应用向分布式微服务架构转变的挑战。了解它是如何做到这一点的可以让我们更详细地理解 Istio 的服务网格。

    术语服务网格用来描述组成这些应用程序的微服务网络以及它们之间的交互。随着服务网格的规模和复杂性不断的增长,它将会变得越来越难以理解和管理。它的需求包括服务发现、负载均衡、故障恢复、度量和监控等。服务网格通常还有更复杂的运维需求,比如 A/B 测试、金丝雀发布、速率限制、访问控制和端到端认证。

    Istio 提供了对整个服务网格的行为洞察和操作控制的能力,以及一个完整的满足微服务应用各种需求的解决方案。

    为什么使用 Istio?

    通过负载均衡、服务间的身份验证、监控等方法,Istio 可以轻松地创建一个已经部署了服务的网络,而服务的代码只需很少更改甚至无需更改。通过在整个环境中部署一个特殊的 sidecar 代理为服务添加 Istio 的支持,而代理会拦截微服务之间的所有网络通信,然后使用其控制平面的功能来配置和管理 Istio,这包括:

    • 为 HTTP、gRPC、WebSocket 和 TCP 流量自动负载均衡。

    • 通过丰富的路由规则、重试、故障转移和故障注入对流量行为进行细粒度控制。

    • 可插拔的策略层和配置 API,支持访问控制、速率限制和配额。

    • 集群内(包括集群的入口和出口)所有流量的自动化度量、日志记录和追踪。

    • 在具有强大的基于身份验证和授权的集群中实现安全的服务间通信。

    Istio 为可扩展性而设计,可以满足不同的部署需求。

    核心特性

    Istio 以统一的方式提供了许多跨服务网络的关键功能:

    流量管理

    Istio 简单的规则配置和流量路由允许您控制服务之间的流量和 API 调用过程。Istio 简化了服务级属性(如熔断器、超时和重试)的配置,并且让它轻而易举的执行重要的任务(如 A/B 测试、金丝雀发布和按流量百分比划分的分阶段发布)。

    有了更好的对流量的可视性和开箱即用的故障恢复特性,您就可以在问题产生之前捕获它们,无论面对什么情况都可以使调用更可靠,网络更健壮。

    请参考流量管理文档获取更多细节。

    安全

    Istio 的安全特性解放了开发人员,使其只需要专注于应用程序级别的安全。Istio 提供了底层的安全通信通道,并为大规模的服务通信管理认证、授权和加密。有了 Istio,服务通信在默认情况下就是受保护的,可以让您在跨不同协议和运行时的情况下实施一致的策略——而所有这些都只需要很少甚至不需要修改应用程序。

    Istio 是独立于平台的,可以与 Kubernetes(或基础设施)的网络策略一起使用。但它更强大,能够在网络和应用层面保护pod到 pod 或者服务到服务之间的通信。

    请参考安全文档获取更多细节。

    可观察性

    Istio 健壮的追踪、监控和日志特性让您能够深入的了解服务网格部署。通过 Istio 的监控能力,可以真正的了解到服务的性能是如何影响上游和下游的;而它的定制 Dashboard 提供了对所有服务性能的可视化能力,并让您看到它如何影响其他进程。

    Istio 的 Mixer 组件负责策略控制和遥测数据收集。它提供了后端抽象和中介,将一部分 Istio 与后端的基础设施实现细节隔离开来,并为运维人员提供了对网格与后端基础实施之间交互的细粒度控制。

    所有这些特性都使您能够更有效地设置、监控和加强服务的 SLO。当然,底线是您可以快速有效地检测到并修复出现的问题。

    请参考可观察性文档获取更多细节。

    平台支持

    Istio 独立于平台,被设计为可以在各种环境中运行,包括跨云、内部环境、Kubernetes、Mesos 等等。您可以在 Kubernetes 或是装有 Consul 的 Nomad 环境上部署 Istio。Istio 目前支持:

    • Kubernetes 上的服务部署

    • 基于 Consul 的服务注册

    • 服务运行在独立的虚拟机上

    整合和定制

    Istio 的策略实施组件可以扩展和定制,与现有的 ACL、日志、监控、配额、审查等解决方案集成。

    展开全文
  • Istio Architecture

    2018-03-14 10:31:46
    istio入门(01)istio是什么? istio入门(02)istio的架构和概念 深度剖析Service Mesh服务网格新生代Istio
  • <div><p>Pick up changes to <code>istio-iptables.sh</code> from <code>istio/istio:master, esp. https://github.com/istio/istio/pull/17989 which removes cleanup code from the script. Cf. ...
  • ServiceMesh-Istio:2. Istio架构和原理 文章目录ServiceMesh-Istio:2. Istio架构和原理认识IstioIstio 架构数据平面控制平面组件解释ProxyPilotMixerGallyCitadelIstio解决的问题故障排查应用容错性应用升级发布...
  • Istio integration

    2021-01-01 02:08:54
    I am running <code>haproxy-ingress-0.0.23</code> version of this chart with Istio 1.5.1. I'm looking for a way to setup a north-south proxy backed up by your ha-proxy and a est-west one backed up ...
  • 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 1.0

    2020-12-09 05:22:00
    <div><p>This is a rebase of istio-1.0 on the latest in master. There have been no commits to istio-1.0 branches yet and from what I can tell the latest master changes work against the existing 1.0 ...
  • 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-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 ...
  • addon/istio/ingress.yaml": namespaces "istio-system" not found 错误如下: <pre><code> ➜ kubernetes-vagrant-centos-cluster git:(master) ✗ kubectl apply -f addon/istio/ namespace &#...
  • <div><p>Right now if updates are done manually and only after every few weeks, the documentation testing might regress in istio.io and we wouldn't know until the istio/istio dependency is updated....
  • Istio 安装

    千次阅读 2020-03-09 09:08:12
    Istio 安装 官方中文文档: https://preliminary.istio.io/zh/docs/setup/getting-started 下载 Istio 下载 Istio,下载内容将包含:安装文件、示例和 istioctl 命令行工具。 访问 Istio release 页面下载与您操作...
  • istio安装

    2020-08-25 14:14:15
    istioctl安装 安装包地址:https://github.com/istio/istio/releases export ISTIO_VERSION=1.6.0 curl -L https://istio.io/downloadIstio | sh - ...mv istio-1.6.0 /usr/local/istio echo "export PATH=/usr
  • <div><p>the new istio test includes both k8s (ran on a system with istio) and istio tests. to check this fix you must add a CI hook enabling to write <code>run skydive-istio-tests</code> if successful...
  • <div><p>There were changes to the test framework that required a few tweaks.</p><p>该提问来源于开源项目:istio/istio.io</p></div>

空空如也

1 2 3 4 5 ... 20
收藏数 11,229
精华内容 4,491
关键字:

istio