文档

通过Kubectl和Helm快速在K8s集群中部署Spring Cloud和Dubbo应用

为了帮助您快速体验如何部署微服务应用,EDAS提供了Spring Cloud、Dubbo和HSF微服务应用Demo,您可以将应用Demo部署至指定的K8s环境(集群)中。本文介绍如何通过原生的方式在K8s环境中部署微服务应用。

前提条件

背景信息

部署应用

微服务应用Demo镜像包含一个服务端应用(Provider)和一个客户端应用(Consumer)。

  1. 执行以下命令,下载Demo应用的Helm Chart包。

    wget https://edas-hz.oss-cn-hangzhou.aliyuncs.com/helm/edas-apps-demo-chart-1.0.0.tgz

    该Helm Chart中包含原生的Deployment、Service和Ingress,用来部署及访问应用。

  2. 执行以下命令,创建应用。

    helm install edas-apps-demo edas-apps-demo-chart-1.0.0.tgz
  3. 查看应用是否创建完成。

    • 方式一:执行以下命令,查看创建的两个应用。

      kubectl get cloudapps

      image.png

    • 方式二:在EDAS控制台的应用管理 > 应用列表页面查看应用是否创建完成。

      image.png

    说明

    由于在Helm Chart包中,Deployment的YAML配置了edas.alibabacloud.com/app标签,所以创建Deployment后会自动由EDAS托管,并创建出一个EDAS应用。更多详情,请参见使用K8s原生方式创建EDAS应用

  4. 应用处于运行中后,执行以下命令,获取应用的服务入口IP。

    kubectl get ingress

    image.png

  5. 执行以下命令,调用Consumer应用的consumer-echo接口。

    curl -H "Host: www.edas-consumer.com" http://<IP_ADDRESS>/consumer-echo/Hello

    <IP_ADDRESS>:Ingress对应的IP,替换为4中的ADDRESS值。该IP是集群中nginx-ingress的LoadBalance的IP。

    说明

    在创建K8s集群时,如果开启公网访问,该IP可直接访问。如果该IP属于私网IP,只能在VPC内正常访问。

  6. 返回如下结果,表明应用部署完成。

    1696991186943 Consumer received.
    	1696991187105 Provider received.
    		Provider processed after sleep 1 second! Echo String: "Hello"
    	1696991188105 Provider Return
    1696991188138 Consumer Return

删除应用

验证完成后,如需删除测试应用,只需执行以下命令,卸载安装的Helm Chart即可。

helm uninstall edas-apps-demo
  • 本页导读 (1)
文档反馈