开发者学堂课程【阿里云 K8S 微服务部署案例:将 PetClinic 微服务部署到阿里云 K8s 环境】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/668/detail/11576
将 PetClinic 微服务部署到阿里云 K8s 环境
内容介绍
一、将 Petclinic 微服务部署到阿里云 K8s 环境
二、微服务扩容和缩容演示
一、将Petclinic微服务部署到阿里云K8s环境
(一)图示为 Petclinic 阿里云 K8s 部署架构,然后会根据部署架构部署 Petclinic微服务到阿里云 K8s 环境
(二)部署演示
1、首先打开一个 进入到 Petclinic 微服务项目,里面有一个阿里云 K8s 部署文件。
输入 cd mydev/github/spring2go/spring-petclinic-msa
- 我们首先要部署 config,因为微服务中其他服务都依赖于这些配置,
输入 cd config 进入到 config 目录,里面有 Petclinic-config.yml 文件,首先看一下其内容。
这些为配置项,需要注意的是,我们要修改数据库连接字户串,应链接刚才创建的rds 数据库,由于已事先更新过,因此可以核对一遍。
在 rds 数据库控制管理台基本信息里可看到,经核对正确无误,数据库用户名为root,PASSWORD 为 Petclinic1234
- 接下来发布 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、也可以通过阿里云的控制服务台,查看刚才的配置项,点进去后可看到相关配置项内容
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
可看到 pod 目前处于创建状态,service 已创建,其中 gateway 的 TYRE 为LoadBalancer,
内部有 CLUSTER-IP,且在公网上绑定了一个 IP 106.15.172.146(阿里云分布给微服务的公网 IP)
然后是 deployment和replicaset,输入 get all 可以查看
6、其次还可用控制台查看应用集群概况,点到 default 空间
可看到都处于运行在状态,以 customers 为例点进去查看其日志
注意:
gateway 较为特殊,其类型为 LoadBalancer,所以在集群节点上内部暴露为8080,我们可通过外部端点,如公网 IP 和对外端口,可直接点击公网 IP 和外部端口对其访问
可以对 Petclinic 应用进行校验,OWNERS 可查询所有的数据,说明查询是没用问题的
点击进入后可随意添加一个宠物
添加完成后可重新进入进行查看,发现没有问题后,添加一个 visit,然后查看可发现仍没有问题。
7、可以再随意注册一个 Owner,完成后查看发现已注册成功
然后可通过 RDS 数据库进行校验,首先登录到数据库,用户名为 root,密码是Petclinic1234,登录成功后查看刚添加的 owner
可以看到刚添加的数据已经进入到 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 进行查看
可以看到5个 POD 已有3个在运行,还可以去阿里云控制台进行查看,此时5个POD 已经全部运行
- 缩容演示(当服务运行 CUP 资源利用率不高时,可进行缩容)操作与扩容演示相同
首先调整发布文件,将 replicas 从5改为3进行缩容,然后再输入 apply -f.发布,同样其他不会改变,然后输入 get all 进行查看,可以看到就剩3个 POD,也可以通过控制台进行查看容器组,也是剩3个在运行中,缩容完成。