Kubernetes上的服务网格 Istio - 分布式追踪篇

摘要: 2017年5月,Google、IBM和Lyft发布了开源服务网格框架Istio,提供微服务的连接、管理、监控和安全保护。Istio提供了一个服务间通信的基础设施层,解耦了应用逻辑和服务访问中版本管理、安全防护、故障转移、监控遥测等切面的问题。

点此查看原文:http://click.aliyun.com/m/41483/

图片描述

微服务架构将复杂系统切分若干小服务,每个服务可以被独立地开发、部署和伸缩;微服务架构和容器(Docker/Kubernetes)是天作之合,可以进一步简化微服务交付,加强整体系统的弹性和健壮性。然而由大量的微服务构成的分布式应用架构也会增加运维、调试、和安全管理的复杂性。为了解决上述挑战,Spring Cloud和Dubbo/EDAS等微服务框架将服务治理能力内置在编程框架中。

2017年5月,Google、IBM和Lyft发布了开源服务网格框架Istio,提供微服务的连接、管理、监控和安全保护。Istio提供了一个服务间通信的基础设施层,解耦了应用逻辑和服务访问中版本管理、安全防护、故障转移、监控遥测等切面的问题。

Istio为希腊语,意思是“启航”,虽然是一个非常年轻的项目却得到了极大的关注,其生态发展非常迅猛。我们今天先关注一下在其分布式服务追踪(Distributed Tracing)相关的进展。

本文参考了 Istio 官方文档内容 https://istio.io/docs/tasks/telemetry/distributed-tracing.html

安装 Istio 
配置 Kubernetes 集群

我们可以使用Minikube或者阿里云容器服务Kubernetes集群进行验证。

Minikube的安装方式请参见Minikube - Kubernetes本地实验环境

由于我们将采用 Initializers 方式进行部署,需要运行如下命令开启相应的 Initializers 准入控制插件。

minikube start \
    --memory 4096 \
    --registry-mirror=https://registry.docker-cn.com \
    --extra-config=apiserver.Admission.PluginNames="Initializers,NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,ResourceQuota"

阿里云容器服务在1.8+版本以上的Kubernetes集群已经内置开启了 Initializers 插件,无需额外的配置工作。

注:由于部署Istio之后会为每个Pod注入sidecar,来接管服务通信,建议在独立的测试环境中进行验证。

需要根据集群管理页面信息,配置相应的连接信息

图片描述

下载 Istio 发行版

在 Istio releases页面 获取最新的安装包,解压到本地,或者执行如下命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值