学习内容

  • 将Petclinic单体解耦拆分为微服务架构
  • 在阿里云部署发布微服务

将Petclinic单体解耦拆分为微服务架构

petclinic微服务架构

image

在这里插入图片描述

image

DeckerFile文件描述

FROM openjdk:8-
使用openJdk

ARG AARTIFACT_NAME  EXPOSED_PORT
传递参数 artifact_name exposed_port

ADD ${ARTIFACT_NAME}.jar /usr/share/app.jar 
把springboot构建出的jar 文件添加到镜像的 /usr/share/app.jar  

EXPOSE ${EXPOSED_PORT}
文档的作用

ENTRPOINT 
指定镜像要启动哪一个命令

springcloud gateway 微服务yaml

springcloud gateway 主要作用是反向路由、转发 找到后台的微服务做调用。

image

K8s部署配置文件

image

image

image

image

image
在这里插入图片描述

进入dashboard页面

image

image

kubectl get ns (查看所有的namespace)
kubectl get secret -n kubernetes-dashboard (查看指定namespace下所有的secret)
kubectl describe secret kubernetes-dashboard-token-qsbwf -n kubernetes-dashboard (查看指定namespace下指定secret的执行详情)
kubectl proxy (启动k8s 代理)

Petclinic微服务的阿里云K8S发布

部署架构

image

VPC: Virtual Private Cloud 虚拟专有云 阿里云K8S集群要求部署在VPC中。

CIDR: IP地址空间

SLB:Server LoadBalancer 在管理端Master节点一般由多个节点组成高可用的集群,为了让管理员能够通过kubectl 命令行工具 以高可用的方式访问APIServer 因为ApiServer肯定是有多台的,
所以前置一般都会有 SLB 负载均衡设备,通过SLB就可以高可用和负载均衡的方式访问ApiServer

NAT: 为了让外部的网络和VPC能够互通,一般需要部署 NAT(网络地址转换设备),
通过NAT管理员可以SSH到Master节点或者Worker节点上,做一些运维管理的操作,
另外通过NAT VPC内部的节点也可以访问外部的网络,比如拉取docker镜像。

应用端SLB: 在应用端,当应用被部署到K8S集群,一般也需要部署前置的SLB负载均衡设备,
这样外部的流量才可以访问到K8S内部的应用,同时实现高可用和负载均衡调用,应用端SLB一般可以通过发布文件动态创建,发布时,serviceType是LoadBalancer。

image

Petclinic微服务配置

在这里插入图片描述

image

image

image

image

image

阿里云环境配置

image

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hdS4hdGN-1634912829284)(http://oss.longmarch.work/k8s-5-22.png)]

image

image

image

在这里插入图片描述

image

配置本地kubectl 连接k8s集群

在这里插入图片描述

部署configMap

image

http://oss.longmarch.work/k8s-5-30.png

扩容缩容:
修改发布文件,达到扩容缩容
kubectl edit deployment 修改配置文件

Logo

开源、云原生的融合云平台

更多推荐