Istio 原理解析

本文深入解析Istio的定义、功能和架构,涵盖Istio的安装、Envoy代理、Pilot流量管理、Mixer策略执行以及服务访问外网的解决方案。通过自动和手动注入Envoy,了解Istio如何实现服务间的流量管理和安全通信。
摘要由CSDN通过智能技术生成

目录:

  • istio 定义
  • 为什么需要istio
  • istio的主要功能
  • istio架构
  • 安装istio
  • istio之envoy
  • istio之point
  • istio之mixer
  • istio访问外网问题

Istio定义

一个用来连接、管理和保护微服务的开放平台。
Istio提供一种简单的方式来建立已部署服务网络,具备负载均衡、服务间认证、监控等功能,而不需要改动任何服务代码。
想要为服务增加对Istio的支持,您只需要在环境中部署一个sidecar,使用Istio控制面板功能配置和管理代理,拦截微服务之间的所有网络通信。

为什么需要Istio

随着微服务出现,微服务的连接、管理和监控成为难题。Kubernetes 可以处理多个容器的工作负载,但当涉及更复杂的需求时,需要像Istio这样的微服务网格。

Istio的主要功能

  • 流量管理(Pilot)。控制服务之间的流量和API调用的流向,使得调用更灵活可靠,并使网络在恶劣情况下更加健壮。

  • 可观察性。通过集成zipkin等服务,快速了解服务之间的依赖关系,以及它们之间流量的本质和流向,从而提供快速识别问题的能力。

  • 策略执行(mixer)。将组织策略应用于服务之间的互动,确保访问策略得以执行,资源在消费者之间良好分配。策略的更改是通过配置网格而不是修改应用程序代码。

  • 服务身份和安全(Istio-auth)。为网格中的服务提供可验证身份,并提供保护服务流量的能力,使其可以在不同可信度的网络上流转。

除此之外,Istio针对可扩展性进行了设计,以满足不同的部署需要:

  • 平台支持。Istio旨在可以在各种环境中运行,包括跨云、预置环境、Kubernetes、Mesos等。最初专注于Kubernetes,但很快将支持其他环境。
  • 集成和定制。策略执行组件可以扩展和定制,以便与现有的ACL、日志、监控、配额、审核等解决方案集成。

Istio 架构

image

分为控制平面和数据平面两部分。
- 控制平面:Pilot, Mixer, Istio-Auth,分别对Istio中的服务做流量管理,策略配置,安全通信等规则配置
- 数据平面:所有pod上的Envoy,负责所有规则的执行

安装Istio

安装过程

//官网下载最新版本
$ wget https://github.com/istio/istio/releases/download/0.7.1/istio-0.7.1-linux.tar.gz

//解压,切换目录
$ tar -zxvf istio-0.7.1-linux.tar.gz
$ cd istio-0.7.1

//通过yaml文件安装Istio
$ kubectl apply -f install/kubernetes/istio.yaml

或者使用TLS认证模式安装Istio
$ kubectl apply -f install/kubernetes/istio-auth.yaml

解压文件内容

  • install/: K8s 使用 .yaml 文件
  • sample/: 简单的示例服务
  • bin/: istioctl命令,记得将其路径配置到环境变量

安装成功检验

首先已经部署了这些服务:

[root@user ~]# kubectl get svc -n istio-system
NAME            CLUSTER-IP       EXTERNAL-IP   PORT(S)                                                            AGE
istio-ingress   192.168.30.166   <pending>     80:62495/TCP,443:21986/TCP                                         12d
istio-mixer     192.168.30.238   <none>        9091/TCP,15004/TCP,9093/TCP,9094/TCP,9102/TCP,9125/UDP,42422/TCP   12d
istio-pilot     192.168.30.107   <none</
  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值