基于CloudIDE的云原生应用开发
引导式阅读
Others
基于CloudIDE的云原生应用开发
作者
HDC.Cloud
上架时间
2023-04-07 17:05:40

基于CloudIDE的云原生应用开发

您在体验过程中有任何疑问,都可以在此留言反馈>> 问题反馈

介绍

<span>华为云CloudIDE</span>是面向软件开发者的云端集成开发环境服务,通过浏览器访问即可实现环境获取、代码编写、调试运行、配置管理代码入库、环境访问等能力,同时支持插件扩展。

  • 随时:CloudIDE能即时获取开发环境,计算和存储资源按需配置,对开发语言的支持能做到一键配备;
  • 随地:CloudIDE提供移动化开发能力,不论身在何处都可以通过连接互联网络的终端设备访问;
  • 随心:CloudIDE对本地资源无依赖,仅需一个可上网的浏览器,就可以实现编码、调试、运行你的代码。

本指南将指导开发者通过华为云CloudIDE服务,以最快速度开发、构建、部署和验证一个云原生应用,摆脱繁琐的工具和流程依赖。通过本指南,您将体验到:

  • 开通必要的华为云服务

  • 在云上开发一个微服务

  • 在云上制作微服务容器镜像

  • 部署和验证微服务容器镜像

  • 释放资源以节约账户资金

1. 准备工作

1.1 开通容器镜像服务

登录容器镜像服务并申请开通获取使用权限。

1.2 创建容器镜像组织

登录容器镜像服务,如果没有新建过组织,则在“组织管理”页面单击“创建组织”完成组织新建。

点击放大

1.3 获取镜像仓库访问地址、区域项目名称

操作步骤如下:

  1. 访问我的凭证

  2. 在“项目列表”页签中查找当前区域对应的项目。

    镜像仓库地址为:swr.<区域项目名称>.myhuaweicloud.com,如中国华北区4对应的镜像仓库地址为:swr.cn-north-4.myhuaweicloud.com

    点击放大

1.4 获取AK/SK访问密钥

如果已有无需重复获取,操作步骤如下:

  1. 访问我的凭证

  2. 在“管理访问密钥”页签,单击“新增访问密钥”,创建新的访问密钥。

    点击放大

  3. 输入当前用户的登录密码,并通过邮箱或手机进行验证。

    > 在统一身份认证服务中创建的用户,如果创建时未填写邮箱或者手机号,则只需校验登录密码。

  4. 单击“确定”,下载访问密钥excel文件。

2. 微服务开发与调试

2.1 打开IDE实例

  1. 登录CloudIDE,如果提示未开通则单击“OK”跳转至开通页面完成服务开通,成功登录后的页面如下:

    点击放大

  2. 单击“新建实例”,进入IDE实例模板配置页面并完成配置,详细操作可参见CloudIDE入门流程,已有实例并完成载入了项目工程则可以跳过该步骤。动图演示如下:

    点击放大

  3. 实例创建完成后,在“我的IDE”页签单击实例所在行的启动按钮即可进入实例页面。

2.2 开发调试微服务

代码编写完毕,单击左侧Debug页签中的“Start Debug”或Main函数中的“Debug”启动工程,在代码文件行号前鼠标左键单击打上断点,完成监听端口的外部访问权开通即可边调试边在浏览器中查看代码修改的应用效果。

动图演示如下: 点击放大

3. 制作微服务容器镜像

3.1 编辑pom文件增加构建容器镜像的配置

为了可以在云环境内完成容器镜像打包,需要借助谷歌jib插件。打开微服务工程中的“pom.xml”文件,在plugins标签下增加如下代码(jib的maven配置格式):

&lt;plugin&gt; &lt;groupId&gt;com.google.cloud.tools&lt;/groupId&gt; &lt;artifactId&gt;jib-maven-plugin&lt;/artifactId&gt; &lt;version&gt;1.8.0&lt;/version&gt; &lt;configuration&gt; &lt;from&gt; &lt;image&gt;用户账户ID.mirror.swr.myhuaweicloud.com/library/java&lt;/image&gt; &lt;/from&gt; &lt;to&gt; &lt;image&gt;swr.区域项目名称.myhuaweicloud.com/个人在SWR中创建的组织/springboot-demo:1.0&lt;/image&gt; &lt;auth&gt; &lt;username&gt;区域项目名称@申请AK&lt;/username&gt; &lt;password&gt;获取到的长期有效的Docker登录密钥&lt;/password&gt; &lt;/auth&gt; &lt;/to&gt; &lt;container&gt; &lt;mainClass&gt;微服务入口类&lt;/mainClass&gt; &lt;/container&gt; &lt;/configuration&gt; &lt;/plugin&gt;
  • 用户账户ID、区域项目名称、AK/SK信息可通过访问我的凭证获取。

  • 长期有效的Docker登录密钥:可通过在Terminal中执行命令如下获取,其中的 $AK$SK 替换成

    准备工作 章节获取到的真实AK/SK。

    printf "$AK" | openssl dgst -binary -sha256 -hmac "$SK" | od -An -vtx1 | sed 's/[ \n]//g' | sed 'N;s/\n//'
  • 个人在SWR中创建的组织:需要个人登录SWR服务事先完成创建。

  • library:容器镜像服务中镜像中心的组织名,该组织下分享了很多官方的容器镜像。

  • java:镜像名。

    点击放大

3.2 编译打包和向SWR推送镜像

完成jib配置后,在Terminal中执行以下命令:

mvn package -Dmaven.test.skip=true jib:build

动图演示如下:

点击放大

3.3 登录SWR验证微服务镜像推送结果

登录SWR服务,验证查询容器镜像是否完成推送,动图演示如下: 点击放大

4. 部署微服务云容器实例

4.1 安装Developer Console插件

打开插件市场,搜索到**“Developer Console”**后,单击“Install”即可完成安装,动图演示如下:

点击放大

4.2 配置Profile

Profile是一组API调用鉴权所需配置的抽象,Profile中的相关信息可通过访问我的凭证获取,有了这些信息就可以获取到镜像列表、vpc列表、cci负载/命名空间等数据。

  • name:用于标识区分不同的Profile,只能输入大小写英文字母、下划线、中划线。
  • ProjectID:对应项目ID。
  • ProjectName:对应项目名称的英文。
  • Region:将控制台切换到区域项目所在region,网页URL中的region字段,如:cn-north-4。
  • UserID:用户ID。
  • UserName:用户名。
  • AK/SK:下载管理访问密钥页面中密钥excel文件,注意该文件的下载只有首次添加可以下载。

点击放大

4.3 添加Namespace

点击放大

4.4 创建Deployment

  1. 选择Profile和Namespace后,单击 “Add” 会出现deployment的配置输入,如果需要配置更多,则可以单击

    “Go to Portal” 跳转至CCI页面进行创建。

    • 如果Pod中的镜像启动需要监听端口并且需要开放外部访问权时,则需要增加容器端口跟elb端口的映射关系,其中elb的端口一定要填写未被占用的。

    • 如果Pod中的镜像启动无监听端口或者不需要开发外部访问权时,则网络映射配置中的**“Type”选择“Not enable”**。

  2. 创建完成后,单击“Upgrade”将在IDE中直接升级负载,放弃升级则单击“Cancel”,如果希望跳转到CCI页面进行升级,则只需要单击与“Upgrade”平级的“Go to Portal”即可。

  3. 单击“Delete”,当前deployment则会被立即删除并附带删除配置的service数据。

点击放大

4.3 验证访问您的容器实例

进入云容器实例(CCI)服务,查看您刚才部署成功的容器实例,并尝试访问(如下图):

image-20200303175226936

5. 释放资源

1、停止和删除CCI容器实例

在云容器实例(CCI)服务中,停止和删除您刚刚部署完成的容器实例,可以停止计费。

2、释放ELB和EIP资源

进入“我的资源”列表,从资源列表中删除为实现容器部署创建的EIP和ELB资源:

image-20200303175622601

3、删除CloudIDE实例

进入CloudIDE服务页,删除刚刚创建的CloudIDE服务实例,可以停止计费。

Image18

6. 恭喜你

至此,你已经成功完成此Codelab教程。恭喜你知识更进一步,获得以下技能:

  • 如何用华为云CloudIDE服务创建云端开发环境;
  • 如何在CloudIDE实例内开发和运行微服务;
  • 如何在CloudIDE实例内构建微服务容器镜像;
  • 如何在CloudIDE实例内一键式部署微服务容器实例;
  • 如何检查和清除资源消耗以节约资金;

7. 参与互动赢好礼

请保存完成截图,参与华为云DevCloud闯关活动瓜分160万码豆。

闯关有礼