当前位置: 首页 > news >正文

【Istio系列--Istio基础理论和部署】

istio

1.istio的概念

1.1 istio的架构

istio在逻辑上分为数据平面和控制平面
在这里插入图片描述

  • 控制平面:管理和配置代理路由流量
  • 数据平面:有一组sidecars部署的智能代理(envoy)组成。这些代理调解和控制微服务之间所有的网络通信。他们还接收集合报告所有的网络交通的遥测数据

1.2 istio的部署

在这里插入图片描述

1.2.1 确定kubernetes集群兼容的istio版本

https://istio.io/latest/docs/releases/supported-releases/
在这里插入图片描述

1.2.2 部署istioctl

部署istio的方式有很多种,我这里选择使用istioctl部署,使用istioctl部署需要服务器能从hub.docker.io拉取镜像,如果你服务器没法从docker.io拉取镜像可以参考以下链接把镜像上传至阿里云仓库

https://qiuqin.blog.csdn.net/article/details/148135144?fromshare=blogdetail&sharetype=blogdetail&sharerId=148135144&sharerefer=PC&sharesource=weixin_58519482&sharefrom=from_link

在这里插入图片描述

root@k8s-master-1:~# wget https://github.com/istio/istio/releases/download/1.26.3/istio-1.26.3-linux-amd64.tar.gz
root@k8s-master-1:~# tar -xvf istio-1.26.3-linux-amd64.tar.gz 
root@k8s-master-1:~# cp /root/istio-1.26.3/bin/istioctl  /usr/bin/istioctl
root@k8s-master-1:~# istioctl versionclient version: 1.26.3control plane version: 1.26.3data plane version: 1.26.3 (2 proxies)
1.2.3 部署istio
root@k8s-master-1:~# istioctl x precheck
root@k8s-master-1:~# istioctl install --set profile=demo -y
root@k8s-master-1:~# istioctl verify-install
root@k8s-master-1:~# kubectl get pod -n istio-system
NAME                                    READY   STATUS    RESTARTS   AGE
istio-egressgateway-94675df4b-vc7wj     1/1     Running   0          14d
istio-ingressgateway-787647fc48-bvwcb   1/1     Running   0          14d
istiod-5b788b4cfc-q9gd4                 1/1     Running   0          14d
1.2.4部署istio其他组件
root@k8s-master-1:~# kubectl apply -f samples/addons   
root@k8s-master-1:~# kubectl delete -f samples/addons/loki.yaml   #loki需要存储组件,故delete
root@k8s-master-1:~# kubectl get pods -n istio-system#访问 Kiali 仪表板
istioctl dashboard kiali --address 0.0.0.0 --browser=false#访问 Prometheus+Grafana
istioctl dashboard grafana --address 0.0.0.0 --browser=false#访问 jaeger
istioctl dashboard jaeger --address 0.0.0.0 --browser=false

1.2 istio的组成

  • Gateway(gw)
  • VirtualService (vs)
  • DestinationRule(dr)

1.2.1 Gateway

  • Istio Gateway充当了服务网格中的边界和负载均衡器,被用来管理网格的入站和出站流量
  • 可以配置Gateway指定接收、限制进入或者离开网格的流量
  • Gateway是运行在网格边缘使用proxyv2镜像运行的独立的Envoy代理,而不是与业务容器一起运行的Envoy变成代理
  • Istio提供了两种预先配置好的网关代理部署,分别管理网格入站和出站流量(istio-ingressgatway和istio-engressgateway)

istio Gateway比kubernetes ingress API具有更加强大流量路由能力和灵活性。Istio Gateway可以配置L4-L6层的负载均衡属性,如对外暴露的端口、TLS设置等。然后将应用层流量路由L7交由关联的VS来处理。这让您可以像管理网格中其他数据平面的流量一样去管理网关流量

1.2.2 Istio VirtualService

  • 解耦客户端请求的目标地址与实际响应请求的目标工作负载,增强Istio流量管理的灵活性和有效性

  • 通过向Pod内注入的Envoy边车代理下发策略,实现L4-L7层负载均衡

    1. 弥补了kubernetes内部只能通过Service做L4负载均衡的缺陷
    2. 弥补了kubernetes只支持通过pod数量缩放方式实现金丝雀发布
    3. 弥补kubernetes只能通过ingress在南北流量上实现A/B测试
    4. 为容器实现L7委派(Delegate)、故障注入(Fault)、重写(rewrite)、重定向转发(Redirect)、重试、超时、流量镜像、跨域资源共享(CORS)

1.2.3 Istio DestinationRule

  • dr跳过svc,使用subsets.labels重新关联同名称空间中一系列标签的真实目标pods,称为一个子集
  • 接收vs中特定路由规则匹配的流量分发给对应subsets,实现A/B测试和金丝雀发布
  • 流量到达每个子集中真实目标的多个pods后,可使用trafficPolicy.loadBalancer.simple指定负载均衡策略,支持的策略:UNSPECIFIED、RANDOM、PASSTHROUGH、ROUND_ROBIN、LEAST_REQUEST、LEAST_CONN
  • HTTP和TCP通用连接设置,可以使用trafficPolicy.connectionPool.tcp限制通用连接池以支持熔断,支持的字段:maxConnections、connectTimeout、tcpKeepalive、maxConnection、maxRetries、idleTimeout

1.2.3 GateWay/VS/DR工作原理

在这里插入图片描述

在这里插入图片描述

http://www.dtcms.com/a/316747.html

相关文章:

  • leetcode 104.二叉树的最大深度
  • 数据结构3-双向链表、循环链表
  • 14.Home-新鲜好物和人气推荐实现
  • 大模型|极简说清“数据并行”
  • 06-队列
  • Crawl4AI:开源的AI友好型网页爬虫与数据抓取工具
  • 电子秤利用Websocket做为Client向MES系统推送数据
  • 软件测试——接口自动化
  • STM32内部读写FLASH
  • 90、【OS】【Nuttx】【启动】栈溢出保护:配置项解析
  • Swift 实战:用队列巧解 LeetCode 346 数据流中的移动平均数
  • 服务器端口连通性的测试工具和方法
  • XXL-JOB调度中心、执行器、Job之间的关系
  • MQTT:消息详解
  • 备忘录记事本 任务清单 html
  • 基于铁头山羊STM32的平衡车电机转速开环闭环matlab仿真
  • 线性规划最优解
  • 饿了么招java开发咯
  • tarjan找SCC,缩点建DAG,找唯一源头节点
  • 强光干扰下误报率↓82%!陌讯多模态融合算法在火焰识别的落地优化
  • 不可变集合
  • nflsoi 7.31 题解
  • 信息化项目验收,项目成功的最后确认
  • Redis中的sdshdr的len和alloc那块的知识点详解
  • 【经验记录贴】在windows系统中启动服务
  • CMU-15445(7)——PROJECT#2-BPlusTree-Task#2Task#3
  • BGA 芯片贴片加工关键注意事项
  • Fiddler 中文版实战指南,如何构建高效的 API 调试工作流?
  • 第13届蓝桥杯Scratch_选拔赛_真题2021年11月27日
  • 老旧体育场馆照明翻新:预算有限?3 步实现 “低成本升级”