天天看点

在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用(二)

本文为spring cloud与阿里云容器服务系列文章的第二篇,讨论了如何将示例代码一键部署到阿里云容器服务上。为了比较全面地展示高可用和负载均衡的能力,这里也会演示如何创建虚拟专有网和负载均衡。

二、部署spring cloud应用示例(本文)

本步准备工作是可选的,但基于安全性和网络效率的考虑,强烈建议用户使用vpc网络,原因是支持经典网络的overlay的网络带宽损耗很大,而基于vpc的网络可以做到基本无损。

在<code>专有网络vpc</code>控制台中选择<code>华东1</code>地域,点击<code>创建专有网</code>按钮。

在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用(二)

进入创建专有网页面,填写<code>专有网名称</code>字段,例如<code>vpc-springcloud</code>,点击<code>确定</code>按钮创建vpc。

在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用(二)

在创建成功页面点击<code>管理交换机</code>

在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用(二)

在管理交换机页面创建一个交换机,命名为<code>vs1</code>,配置网段。

在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用(二)

本步准备工作是可选的,可以在创建集群后,创建应用之前完成,如果只是用于非生产环境的尝试,也可以用容器服务在创建集群是自动配置的slb来做,这里就不演示了。

进入负载均衡控制台创建负载均衡,选择<code>华东1</code>区,其他设置保持不变,点击<code>立即购买</code>按钮,支付后静候短信通知。

在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用(二)

负载均衡创建成功后回到控制台,点击<code>端口/健康检查</code>一栏里的<code>配置</code>链接。

在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用(二)

在监听和服务器配置页面,创建一个监听:前端http 8080端口,后台8080端口。

在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用(二)

点击<code>下一步</code>进入<code>健康检查配置</code>页面,将<code>检查路径</code>设置为<code>/acs</code>。

在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用(二)
在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用(二)

示例规格为2节点 2核4g或以上,设置口令,点击<code>创建集群</code>按钮。

在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用(二)
注意:开通的集群规格一定要有2个节点,原因是2个gateway容器,每个容器都会映射 到同一个主机端口,如果只有1个节点会导致只有一个gateway能够启动成功。另外,每个 节点的配置最好在2核4g以上,否则会出现因为内存不足造成java应用启动失败,或启动 时间过长。

应用名称定为<code>springcloud-demo</code>,点击<code>使用编排模版创建</code>按钮。

在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用(二)

进入模版编辑器。注意其中的<code>${slbname}</code>将来会替换为前面创建的负载均衡名字或id。

在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用(二)

点击<code>创建并部署</code>按钮,在对话框中输入负载均衡id,确认后创建应用。

在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用(二)
在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用(二)

点击访问端点,进入eureka页面,在这个页面中可以看到所有注册到eureka的服务的状态。其中<code>foo</code>服务的实例数目为1。

在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用(二)

我们尝试将<code>foo</code>服务的数目从1增加到2,点击<code>变更配置</code>链接:

在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用(二)

进入服务的配置更改页面,将<code>容器数量</code>从1改为2。

在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用(二)

服务更新完成后回到eureka页面,可以看到其中foo服务的示例数已经由1变成2了。

在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用(二)

我们已经了解了如何把创建好的镜像部署到阿里云容器服务上。如果更改了代码,如何构建镜像呢,如何在本地开发环境中运行应用呢?

运行前需要修改脚本中的<code>regprefix</code>变量。

运行前需要修改脚本中的<code>regprefix</code>变量,并docker登录。

在项目根目录下运行如下命令即可启动本地测试环境。

本文演示了如何在本地开发环境中编译并运行spring cloud应用,以及如何将spring cloud应用部署到阿里云容器服务上。随后文章会详细介绍spring cloud应用容器化的细节。