SpringCloud 应用在 Kubernetes 上的最佳实践 — 诊断(线上联调)
作者 | 纳海 阿里巴巴高级开发工程师
导读:上篇我们介绍了应用成功上云后,面对应用的管理,如何做可灰度的线上发布,那么当云上的应用行为不符合预期的时候,您会怎么处理呢?修改代码,打包,部署,然后查看日志?或者开远程调试端口远程调试?
相关文章推荐:
- 《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 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的公众号。”

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
阿里云ARMS助力「铁皮人」解锁系统定位分析技能包
叫叫阅读系列是成都书声科技有限公司(铁皮人)旗下的教育Apps。 主要针对3-12岁孩子,以儿童身心发展规律为依据,秉承叶圣陶先生的语文教育论,多读书,读好书,勤思考。由小学语文老师、幼小衔接专家、诵读老师、儿童节目主持人组成的优秀师资团队带领孩子解读名篇,领略汉语文字之美,建立其知识格局,完善其独立人格,提升其语文素养。通过“在线互动课堂+在线班主任辅导+线下配纸质书”的三位一体的教学模式,丰富孩子的知识,培孩子的能力,提升孩子的素养。 2007到2011年,叫叫阅读创作的绘本500余册,部分绘本被大中华,北美等地区选为课外指定阅读绘本;2011到2017年,原创的教育类app以及叫叫系列产品诞生,斩获用户7000万;近年来,通过提供更为丰富的在线语文,数学课程,特别是疫情下,学员人数累创新高。铁皮人一路走来,荣誉为断,斩获最佳绘本类应用,年度最佳儿童教育游戏,“回响中国”教育盛典的影响力儿童教育教育品牌,丝路书香工程重点图书。 新的需求 随着在线教育的风口来临,叫叫阅读的业务呈现指数般增长,依托于以微服务化为基础的互联网架构下,系统中折分的应用越来越多,应用间以及应用内的问题监控/...
- 下一篇
95后宠爱的百变音乐神器,唱鸭玩转云原生AI
公司简介 作为国内首款弹唱App,唱鸭在产品创新的不断探索为音乐行业带来了全新的用户价值,包括弹唱、音效键盘等功能,让它在过去一年中迅速成为了拥有千万级别用户量的音乐产品。唱鸭的MAU较去年同期增长了11倍,其中“95后”占比超过90%。 业务痛点 天下武功惟快不破,作为玩音乐的先行者,唱鸭从首发弹唱功能、多轨道和弦,以及最新上线的“音效键盘”,都是在不断满足年轻人“玩音乐”的诉求。业务背后对app的需求,则是必须敏捷快速可以随时迭代,跟上强劲的业务创新迭代。业务本身也基于微服务架构,服务的日发布频率超过十次,需要 DevOps 全自动化流程提高研发迭代效率。客户业务采用大规模容器化部署,除了业务快速迭代,也由于容器化存在高动态及高密度部署、不可信三方及开源软件的引入。需要将安全保障内置在 DevOps 的流水线中,从端到端提升业务的安全合规性,实现 DevSecOps 的安全、高效交付流程。 解决方案 方案架构图: 方案细节: 应用与算法上云构建的镜像托管 (1)业务开发将算法代码提交都 GitLab 代码托管平台。 (2)ACR EE 收到 GitLab 代码变更的 webhook...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Hadoop3单机部署,实现最简伪集群
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作