为什么K8s需要服务网格Istio?

这篇具有很好参考价值的文章主要介绍了为什么K8s需要服务网格Istio?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

什么是Kubernetes服务网格

Kubernetes服务网格是一种工具,用于在平台级别而非应用级别为应用程序注入可观测性、可靠性和安全性功能。Kubernetes和微服务的兴起推动了人们对这项技术的兴趣,许多组织都采用了Kubernetes服务网格解决方案。

微服务架构高度依赖于网络,而服务网格可以管理应用程序服务之间的流量。虽然也有其他管理网络流量的方法,但这些方法需要手动执行易错的任务,会给DevOps团队带来了更多的操作负担,而服务网格则避免了这种劣势。

Kubernetes服务网格通常会被实现为一组网络代理,这些代理作为边车(sidecar)容器与应用程序容器部署在同一pod中。边车代理作为服务网格功能的入口点,管理容器化微服务之间的通信。Kubernetes服务网格包括控制平面和数据平面,其中数据平面就是由代理组成的。

服务网格架构和Kubernetes随着云原生应用的兴起而出现,一个应用程序可能由数百个容器化服务组成,而每个服务可能有数千个实例。这些实例会迅速变化,需要动态调度,这正是Kubernetes所擅长的。

什么是Istio

Istio是一种服务网格技术,管理基于容器或虚拟机工作负载之间的服务交互,它允许开发人员无论使用何种供应商或平台,都能安全地连接、运行、控制和监控分布式微服务架构。

Istio是开源且独立的,因此它可以在任何平台上使用,但是当与Kubernetes结合时,会发生最奇妙的化学反应。将两者结合使用,可以在网络和应用层面确保服务间和Pod间的通信安全。

与Istio集成扩展了容器编排软件的功能,Kubernetes可以处理微服务等多容器工作负载,但不具备故障处理和流量管理等功能,而Istio弥补了这一短板,可以创建了更高效、更可靠的系统。

在Kubernetes中使用Istio的好处

Istio使组织能够大规模地交付去中心化应用,它有助于简化网络操作,如服务间流量管理、加密、授权、故障排除和审计。

除了纯Kubernetes提供的功能外,Istio还提供了以下能力:

  • 云原生应用安全,可以专注于应用级别的安全,利用强大的基于身份的授权、身份验证和加密。
  • 高效的流量管理,通过使用丰富的路由规则、故障转移、重试和错误注入,实现对流量和网络行为的精细控制。在生产后测试中,Chaos Monkey集成能够让SRE注入故障和延迟,以提高系统的韧性。
  • 服务网格监控,Istio提供了服务级别的可观测性,以便运维人员能够跟踪、监控和排查问题。没有低细粒度的细节,瓶颈问题可能需要很长时间才能定位解决。服务网格使得禁用故障服务或副本以及维护API响应变得更加容易。
  • 轻松部署,在Kubernetes中部署Istio变得非常容易。
  • 简化的负载均衡,高级功能可以自动执行负载均衡,提供基于客户端的路由,并支持金丝雀部署。
  • 策略执行,Istio通过其配置API和策略层来支持访问控制、配额和速率限制等策略的执行。

Istio 的工作原理

以下是 Istio 核心功能的概述。

  • 流量管理

Istio 的流量管理 API 可以在细粒度级别管理服务网格的流量。你可以使用这个 API 添加流量配置,并使用 Kubernetes 自定义资源(CRDs)定义 API 资源。用于控制流量路由的主要 API 资源包括目标规则和虚拟服务。

目标规则有助于控制到特定目标的流量,例如,根据版本对服务实例进行分类。虚拟服务允许你配置 Istio 服务网格中服务的请求路由,它们由一个或多个按顺序评估的路由规则组成。在评估虚拟服务的路由规则后,即可以应用目标规则。

  • 安全性

Istio 的安全性要求为每个服务分配一个强大的身份。Envoy 代理与 Istio 代理一起运行,使用 istiod 自动轮换证书和密钥。

Istio 提供了两种身份验证选项:请求身份验证和对等身份验证。请求身份验证允许最终用户进行身份验证,Istio 通过 JSON Web Tokens (JWTs) 和自定义或基于 OIDC 的身份验证程序进行验证。对等身份验证允许服务之间进行身份验证,Istio 提供了一个完整的双向 TLS 解决方案。

Istio 允许你通过应用授权策略来控制对服务的访问。授权策略通过 Envoy 代理对入站流量执行访问控制。它们允许你在不同级别上强制执行访问控制,例如在整个网格级别、命名空间级别或服务级别。

  • 可观测性

Istio 为所有服务网格通信提供细粒度的遥测数据,包括指标、访问日志和链路跟踪。Istio 可以生成详细的代理级别、面向服务的和控制平面的指标。

Istio 还通过 Envoy 代理创建分布式链路跟踪。它支持多种跟踪机制,如 Zipkin、Lightstep、Datadog 和 Jaeger。你可以控制跟踪生成的采样率。此外,Istio 还以可配置格式提供服务流量访问日志。文章来源地址https://www.toymoban.com/news/detail-850332.html

到了这里,关于为什么K8s需要服务网格Istio?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Kubernetes】神乎其技的K8s到底是什么,为什么被越来越多人使用

    🚀欢迎来到本文🚀 🍉个人简介:陈童学哦,目前学习C/C++、算法、Python、Java等方向,一个正在慢慢前行的普通人。 🏀系列专栏:陈童学的日记 💡其他专栏:C++STL,感兴趣的小伙伴可以看看。 🎁希望各位→点赞👍 + 收藏⭐️ + 留言📝 ​ ⛱️万物从心起,心动则万物动🏄

    2024年02月13日
    浏览(41)
  • 部署Kubernetes(k8s)时,为什么要关闭swap、selinux、firewall 防火墙?

     关于防火墙的原因(nftables后端兼容性问题,产生重复的防火墙规则) The ip tables tooling can act as a compatibility layer, behaving like iptables but actually configuring nftables. This nftables backend is not compatible with the current kubeadm packages: it causes duplicated firewall rules and breaks kube-proxy . 大概意思就是

    2024年02月02日
    浏览(58)
  • 为什么企业需要IT服务管理?

    什么是IT服务管理? 将IT服务管理功能扩展到技术服务之外,解决以业务为中心通过单一平台,门户和服务目录管理服务供需,通过PaaS/低代码开发工具加速创新和工作流自动化。   为什么企业需要IT服务管理? 为了更好管理公司内不同业务,员工需要IT,人力资源,设施,法

    2024年02月11日
    浏览(48)
  • Isito 入门:为什么学 Istio、Istio 是什么

    本教程已加入 Istio 系列:https://istio.whuanle.cn 目录 1,Istio 概述 🚩聊聊微服务设计 🥇只使用 Kubernetes 部署容器, 🥈开始使用一些中间件,完善基础设施 ❓我为什么要学 Istio 💡所以,Istio 是什么 Istio 三个主要功能 Istio 原理 似乎用上 Kubernetes ,就是微服务系统了。 碰到很

    2024年02月06日
    浏览(35)
  • k8s整合istio配置gateway入口、配置集群内部服务调用管理

    curl -HHost:tomcat.shenshuxin.cn “http://node101:32318” 端口号是ingressgateway服务的nodeport 查看方式: kubectl get service -n istio-system | grep istio-ingressgateway 找到80端口对应的nodeport即可 注意部署的两个deployment需要指定一下版本标签 version: ?? 注意这里的hosts名称(demo-tomcat-for-istio-name)要和上面

    2024年02月12日
    浏览(37)
  • 云原生之深入解析K8S Istio Gateway服务的架构分析与实战操作

    Istio 提供一种简单的方式来为已部署的服务建立网络,该网络具有负载均衡、服务间认证、监控、网关等功能,而不需要对服务的代码做任何改动。 istio 适用于容器或虚拟机环境(特别是 k8s),兼容异构架构; istio 使用 sidecar(边车模式)代理服务的网络,不需要对业务代

    2024年02月13日
    浏览(59)
  • 建站为什么需要服务器?(Web服务器与计算机对比)

    ​ 在部署网站时,底层基础设施在确保最佳性能、可靠性和可扩展性方面发挥着至关重要的作用。虽然大多数人都熟悉个人计算机 (PC) 作为日常工作和个人任务的设备,但 PC 和 Web 服务器之间存在显著差异。在这篇文章中,我们将讨论这些差异是什么,并解释为什么服务器对

    2024年01月20日
    浏览(75)
  • Spring Cloud【分组消费、为什么需要链路追踪 、Spring Cloud Sleuth是什么、微服务集成Sleuth实现链路打标】(十二)

      目录 消息驱动_分组消费 分布式请求链路追踪_为什么需要链路追踪 

    2024年02月14日
    浏览(52)
  • k8s 安装istio (一)

    前置条件 已经完成  K8S安装过程十:Kubernetes CNI插件与CoreDNS服务部署 部署 istio 服务网格与 Ingress 服务用到了 helm 与 kubectl 这两个命令行工具,这个命令行工具依赖 ~/.kube/config 这个配置文件,目前只在 kubernetes master 节点中生成了这个文件。 以下操作在 Kubernetes Master 节点上执

    2024年02月11日
    浏览(37)
  • k8s 安装 istio(二)

    部署 Jaeger 服务 kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.16/samples/addons/jaeger.yaml 创建  jaeger-vs.yaml  文件 apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata:   name: jaeger-vs   namespace: istio-system spec:   hosts:   - jaeger.域名.com   gateways:   - admin-gateway   http:   -

    2024年02月11日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包