将 PetClinic 微服务部署到阿里云 K8s 环境|学习笔记

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
MSE Nacos/ZooKeeper 企业版试用,1600元额度,限量50份
注册配置 MSE Nacos/ZooKeeper,182元/月
简介: 快速学习将 PetClinic 微服务部署到阿里云 K8s 环境

开发者学堂课程【阿里云 K8S 微服务部署案例将 PetClinic 微服务部署到阿里云 K8s 环境学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/668/detail/11576


将 PetClinic 微服务部署到阿里云 K8s 环境


内容介绍

一、将 Petclinic 微服务部署到阿里云 K8s 环境

二、微服务扩容和缩容演示


一、将Petclinic微服务部署到阿里云K8s环境

(一)图示为 Petclinic 阿里云 K8s 部署架构,然后会根据部署架构部署 Petclinic微服务到阿里云 K8s 环境

image.png

(二)部署演示

1、首先打开一个   进入到 Petclinic 微服务项目,里面有一个阿里云 K8s 部署文件。

输入 cd mydev/github/spring2go/spring-petclinic-msa

  1. 我们首先要部署 config,因为微服务中其他服务都依赖于这些配置,

输入 cd config 进入到 config 目录,里面有 Petclinic-config.yml 文件,首先看一下其内容。

image.png

这些为配置项,需要注意的是,我们要修改数据库连接字户串,应链接刚才创建的rds 数据库,由于已事先更新过,因此可以核对一遍。

在 rds 数据库控制管理台基本信息里可看到,经核对正确无误,数据库用户名为root,PASSWORD 为 Petclinic1234

image.png

  1. 接下来发布 Petclinic-config,首先核对本地 Kubectl 连接的哪个集群,

输入 Kubect l config current-context

得到

kubernetes-admin-c0d6a2a2dbc6d43838e7100550e54b8d9

config git:(master)x

可看出连接的是阿里云的集群,然后进行部署

输入 Kubect l apply-f .得到

configmap/petclinic-config created

config git:(master) x

输入 Kubect l  get cm 得到

此时 Petclinic-config 已部署

4、也可以通过阿里云的控制服务台,查看刚才的配置项,点进去后可看到相关配置项内容

image.png

5、输入 cd . . 退回到上级目录,里面有别的微服务发布文件

aliyun git:(master) X ls

config customers-svc.yml gateway-svc.yml vets-svc.yml visits-svc.yml  web-app·yml

aliyun git:(master) x

输入 Kubect l apply -f.,就可以将当前文件下所有的.yml 文件全部发布,可得到

输入 Kubect l get all

image.png

可看到 pod 目前处于创建状态,service 已创建,其中 gateway 的 TYRE 为LoadBalancer,

内部有 CLUSTER-IP,且在公网上绑定了一个 IP 106.15.172.146(阿里云分布给微服务的公网 IP)

image.png

然后是 deployment和replicaset,输入 get all 可以查看

6、其次还可用控制台查看应用集群概况,点到 default 空间

image.png

可看到都处于运行在状态,以 customers 为例点进去查看其日志

image.png

注意:

gateway 较为特殊,其类型为 LoadBalancer,所以在集群节点上内部暴露为8080,我们可通过外部端点,如公网 IP 和对外端口,可直接点击公网 IP 和外部端口对其访问

image.png

可以对 Petclinic 应用进行校验,OWNERS 可查询所有的数据,说明查询是没用问题的

image.png

点击进入后可随意添加一个宠物

image.png

添加完成后可重新进入进行查看,发现没有问题后,添加一个 visit,然后查看可发现仍没有问题。

image.png

7、可以再随意注册一个 Owner,完成后查看发现已注册成功

image.png

然后可通过 RDS 数据库进行校验,首先登录到数据库,用户名为 root,密码是Petclinic1234,登录成功后查看刚添加的 owner

image.png

可以看到刚添加的数据已经进入到 RDS 数据库,说明端口和端口是相通的

复习一遍整体架构:

通过浏览器已校验Petclinic应用是可以正常访问的,可以查询和添加数据,说明RDS数据库连接是正常的。我们是通过公网IP8080,说明ELB、gateway连接后台的微服务都是正常的。


二、微服务扩容和缩容演示

1.可以看到所有的容器组都是两个 POD,假如当两个 POD 不够,CPU 负载时,就可以对其进行扩容

2.扩容演示 (以 customers 为例)

首先回到 term,输入 get all,可看到每个服务都是两个 POD 且都在运行中,然后输入 code 并找到 customers service

可看到目前有两个 replicas,将其修改为5个,扩容添加一些 POD,修改后输入apply -f.发布,只针对 customers configured 做出了修改其他不变。

输入 get all 进行查看

image.png

可以看到5个 POD 已有3个在运行,还可以去阿里云控制台进行查看,此时5个POD 已经全部运行

image.png

  1. 缩容演示(当服务运行 CUP 资源利用率不高时,可进行缩容)操作与扩容演示相同

首先调整发布文件,将 replicas 从5改为3进行缩容,然后再输入 apply -f.发布,同样其他不会改变,然后输入 get all 进行查看,可以看到就剩3个 POD,也可以通过控制台进行查看容器组,也是剩3个在运行中,缩容完成。

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
2月前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 API 网关 2025 年 6 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要。
|
2月前
|
API
阿里云微服务引擎 MSE 及 API 网关 2025 年 7 月产品动态
阿里云微服务引擎 MSE 及 API 网关 2025 年 7 月产品动态
|
2月前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 API 网关 2025 年 7 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要。
|
3月前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 API 网关 2025 年 5 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
4月前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 API 网关 2025 年 4 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
阿里云微服务引擎 MSE 及 API 网关 2025 年 4 月产品动态
|
7月前
|
Shell Go 开发工具
【环境】Rocky8使用gvm配置Go多版本管理的微服务开发环境(go-zero)
通过本文的介绍,我们详细讲解了如何在Rocky8上使用gvm来管理多个Go版本,并配置go-zero框架的开发环境。通过gvm的灵活管理,开发者可以轻松切换不同的Go版本,以适应不同项目的需求。同时,go-zero框架的使用进一步提升了微服务开发的效率和质量。希望本文能帮助开发者构建高效的Go语言开发环境,提高项目开发的灵活性和稳定性。
198 63
|
5月前
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
306 12
|
6月前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2025 年 2 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
609 11
阿里云微服务引擎 MSE 及 云原生 API 网关 2025 年 2 月产品动态
|
5月前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2025 年 3 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
7月前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2025 年 1 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
阿里云微服务引擎 MSE 及 云原生 API 网关 2025 年 1 月产品动态

推荐镜像

更多