关于云原生-cloud-native:SpringCloud-应用在-Kubernetes-上的最佳实践-诊断线上联调

54次阅读

共计 1858 个字符,预计需要花费 5 分钟才能阅读完成。

作者 | 纳海  阿里巴巴高级开发工程师

导读: 上篇咱们介绍了利用胜利上云后,面对利用的治理,如何做可灰度的线上公布,那么当云上的利用行为不合乎预期的时候,您会怎么解决呢?批改代码,打包,部署,而后查看日志?或者开近程调试端口近程调试?

相干文章举荐:

  • 《SpringCloud 利用在 Kubernetes 上的最佳实际 —— 开发篇》
  • 《SpringCloud 利用在 Kubernetes 上的最佳实际 — 部署篇 (开发部署)》
  • 《SpringCloud 利用在 Kubernetes 上的最佳实际 — 部署篇 (工具部署)》
  • 《SpringCloud 利用在 Kubernetes 上的最佳实际 — 线上公布(可灰度)》

前言

当云上的利用行为不合乎预期的时候,您会怎么解决呢?批改代码,打包,部署,而后查看日志?或者开近程调试端口近程调试?

这些步骤都比拟繁琐。当初 EDAS 提供了端云联调的工具,让您在本地就能够启动利用并且能跟云端服务联调。只需三个步骤,您就能够在本地取得跟云端服务联调的能力,上面咱们一起来体验吧!

关上调试开关

默认状况下,EDAS 端云联调性能是敞开的,只有关上命名空间中的调试开关后,本地服务能力跟云端联调。您能够只对开发环境的命名空间开启端云联调,而对其余环境放弃敞开,这样既不便本地开发,也保障其余环境服务稳固。

EDAS 命名空间的默认敞开状态如下所示,关上开关即可启用此性能:

筹备可近程拜访的节点

EDAS 端云联调只需一个可近程 SSH 的 Kubernetes 集群节点即可,如果您已具备这样的节点可跳过此节,否则可参考如下步骤来进行配置。

在 Kubernetes 集群内任意抉择一个机器节点,进入 ECS 实例详情,绑定一个弹性公网 IP:

绑定弹性公网 IP 后,须要设置实例平安组规定以放通 SSH 端口的流量。进入实例平安组,设置入方向规定容许拜访 SSH 的 22 端口:

上图中的受权对象 0.0.0.0/0 示意 22 端口对公网凋谢,您能够依据本地网络的公网进口 IP 来设置受权对象,只容许您所在的网络拜访实例的 22 端口,进一步晋升安全系数。

最初,设置实例登录明码并重启即可实现 SSH 配置:

配置插件

当初咱们来配置 IDE 插件来启用端云联调。此性能反对 Intellij IDEA 和 Eclipse 两种 IDE,配置流程雷同,上面以 Intellij IDEA 来阐明配置参数。

关上 IDE 配置页面,抉择 Alibaba Cloud Toolkit -> EDAS 页面,勾选 Join EDAS Registry 选项,如下所示:

参数阐明如下:

  • Region:您的 Kubernetes 集群及服务所在区域;
  • Namespace:EDAS 命名空间,如未看到所需的命名空间,请参考下面的《关上调试开关》大节关上端云联调性能;
  • Gateway Host:可近程 SSH 的节点,请参考下面的《筹备可近程拜访的节点》大节来配置;
  • Username:可近程 SSH 的账号名。这里可填入一个不存在的账号,插件会进行检测,如不存在则进行创立;
  • Password:可近程 SSH 的账号密码。如果账号不存在,则插件应用此明码来创立账号;
  • Server Port:您的 Spring Cloud 我的项目服务端口。

填入以上信息后,点击页面上的 Add SSH Rule 按钮进行配置,插件会提醒授予 root 权限来进行代理配置:

授予 root 权限,点击 Add 实现配置。至此,您已实现全副的配置流程,团队成员可间接复用上述配置的 SSH 的节点、账号和明码,无需重新配置。

启动利用进行联调

当初咱们跟平时一样启动本地利用,IDE 会提醒以后处于端云联调状态:

在此状态下,本地服务能失常调用云端服务,云端服务也能调用本地服务。另外,您也能够应用 IDE 的调试模式来启动本地利用,端云联调同样失效。

结语及后续

在本篇文章中,咱们介绍了 EDAS 端云联调工具,借助此工具本地服务能跟云端服务进行联调。端云联调对于可重现的问题来说是一个十分高效的解决方案,但不适用于如下问题:

  • 已产生的问题;
  • 不能稳固重现的问题;

对于这样的问题,咱们有更好用的解决方案:APM 监控。通过 APM 监控,您能够不便的查看剖析零碎异样、服务异样、接口异样等各种异样信息,下一讲咱们将具体介绍《APM 监控》。

首届云原生微服务大会

首届云原生微服务大会 PC 端地址:https://developer.aliyun.com/topic/microservices2020#/

“阿里巴巴云原生关注微服务、Serverless、容器、Service Mesh 等技术畛域、聚焦云原生风行技术趋势、云原生大规模的落地实际,做最懂云原生开发者的公众号。”

正文完
 0