在K8S平台部署Spring Cloud微服务项目
微信公众号:运维发展故事,作者:双冬
1.熟悉 Spring Cloud 微服务项目
代码分支说明:
-
dev1 交付代码
-
dev2 写Dockerfile建镜像
-
dev3 K8S资源布局
-
dev4微服务链路监控
-
大师终于上线了
2. K8S部署Spring Cloud微服务项目的逻辑架构
! zoz100037](https://programming.vip/images/doc/1963d4c911109b78bf0e7d8b5da5ff10.jpg)
整体逻辑架构图

服务曝光示意图
3.准备环境
一组k8s集群,可以是单master,也可以是多master
知识产权
角色
配置
192.168.73.138
掌握
2C4G
192.168.73.139
节点1
2C4G
192.168.73.140
敲
2C4G
192.168.73.137
港口,mysql
1C2G
-
CoreDNS
-
Ingress Controller(参考之前的k8s构建文件)
-
准备mariadb数据库
192.168 在 k8s 之外。在 73.137 上安装 mariadb
[root@localhost ~]# yum -y install mariadb mariadb-server
[root@localhost ~]# systemctl start mariadb && systemctl enable mariadb
创建了从 /etc/systemd/system/multi-user.target.wants/mariadb.service 到 /usr/lib/systemd/system/mariadb.service 的符号链接。
[root@localhost ~]# mysql_secure_installation ###初始化数据库,除了设置密码为123456,其他都可以返回
参考文章:https://www.jianshu.com/p/85ad52c88399
4.源代码构建
Maven 项目对象模型 (POM) 允许您使用简短的描述来管理用于项目构建、报告和文档的项目管理工具软件
安装jdk和maven环境
[root@k8s-master ~]# yum install java-1.8.0-openjdk maven -y
[root@k8s-master ~]# java -version
openjdk 版本“1.8.0_242”
OpenJDK 运行时环境 (build 1.8.0_242-b08)
OpenJDK 64-Bit Server VM(build 25.242-b08,混合模式)
[root@k8s-master ~]# mvn -version
Apache Maven 3.0.5(红帽 3.0.5-17)
Maven 主页:/usr/share/maven
Java 版本:1.8.0_242,供应商:甲骨文公司
Java 主页:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64/jre
默认语言环境:en_US,平台编码:UTF-8
操作系统名称:“linux”,版本:“3.10.0-957.el7.x86_64”,arch:“amd64”,家族:“unix”
设置maven的内窥镜图像源
/etc/maven/settings.xml
<镜像>
<id>nexus-阿里云</id>
<mirrorOf>*</mirrorOf>
<name>Nexus阿里云</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</镜像>
拉取替换码
[root@k8s-master ~]# cd /opt
[root@k8s-master opt]# git clone https://github.com/lizhenliang/simple-microservice.git
[root@k8s-master opt]# cd simple-microservice/
[root@k8s-master simple-microservice]# ls
basic-common eureka-service k8s lombok.config pom.xml product-service stock-service
数据库网关服务许可证订单服务门户服务 README.md
代码编译构建测试
[root@k8s-master simple-microservice]# mvn clean package -Dmaven.test.skipu003dtrue
........
[INFO] 反应堆摘要:
[信息]
[INFO] 简单微服务 ................... 成功 [0.164s]
[INFO] basic-common ...................... 成功 [ 0.008s]
[INFO] basic-common-core .................................. 成功 [4.749s\ ]
[INFO] 网关服务 .................................... 成功 [5:54.575 s]
[INFO] eureka-service .................... 成功 [29.727s ]
[INFO] 产品-服务 .................................... 成功 [0.005s\ ]
[INFO] product-service-api ...................... 成功 [0.987s]
[INFO] 库存服务 .................................... 成功 [0.003 s]
[INFO] stock-service-api ................................. 成功 [0.808s\ ]
[INFO] product-service-biz ................... 成功 [11.105s]
[INFO] stock-service-biz .................... 成功 [1.290s\ ]
[INFO] 订单服务 ..................................... 成功 [0.002 s]
[INFO] order-service-api ................................. 成功 [1.319s\ ]
[INFO] order-service-biz ................................. 成功 [2.531s\ ]
[INFO] basic-common-bom ...................... 成功 [0.002s ]
[INFO] 门户服务 .................................... 成功 [3.707s ]
........
5.构建项目镜像推送到镜像仓库
项目的每个服务下都有一个Dockerfile,可以用来构建项目镜像。我们可以到网关服务的gateway-service目录下查看文件。这个demo工程已经写好了,可以直接构建镜像,然后打包推送到镜像仓库
[root@k8s-master simple-microservice]# cd gateway-service/
[root@k8s-master 网关服务]# ls
Dockerfile 查明 pom.xml src 目标
[root@k8s-master gateway-service]# cat Dockerfile
FROM lizhenliang/java:8-jdk-alpine
LABEL 维护者 www.ctnrs.com
ENV JAVA_ARGSu003d"-Dfile.encodingu003dUTF8 -Duser.timezoneu003dGMT+08"
复制 ./target/gateway-service.jar ./
复制 pinpoint /pinpoint
暴露9999
CMD java -jar -javaagent:/pinpoint/pinpoint-bootstrap-1.8.3.jar -Dpinpoint.agentIdu003d$(echo $HOSTNAME | awk -F- '{print "gateway-"$NF}') -Dpinpoint。 applicationNameu003dms-gateway $JAVA_ARGS $JAVA_OPTS /gateway-service.jar
回到上一级,进入k8s目录,你会看到一个构建镜像并推送到镜像仓库的脚本,将每一项包裹在一个循环中,然后推送到harbor镜像仓库,仓库地址在哪里需要修改到自己的地址,然后去harbor镜像仓库创建一个微服务项目
[root@k8s-master 网关服务]# cd ..
[root@k8s-master simple-microservice]# cd k8s/
[root@k8s-master k8s]# ls
docker_build.sh eureka.yaml gateway.yaml order.yaml portal.yaml product.yaml stock.yaml
[root@k8s-master k8s]# cat docker_build.sh
#!/bin/bash
kubectl 创建 ns ms
码头工人_registryu003d192.168.73.137
kubectl 创建 ns ms
kubectl 创建秘密 docker-registry registry-pull-secret --docker-serveru003d$docker_registry --docker-usernameu003dadmin --docker-passwordu003dHarbor12345 --docker-emailu003dadmin@ctnrs.com -n ms
service_listu003d"eureka-service gateway-service order-service product-service stock-service portal-service"
服务_listu003d${1:-${service_list}}
工作_diru003d$(目录名 $PWD)
当前_diru003d$PWD
cd $work_dir
mvn 清洁包-Dmaven.test.skipu003dtrue
用于 $service_list 中的服务;做
cd $work_dir/$service
if ls |grep biz &>/dev/null;然后
cd ${服务}-biz
菲
服务u003d${服务%-*}
image_nameu003d$docker_registry/microservice/${service}:$(date +%F-%H-%M-%S)
docker build -t ${image_name} 。
搬运工推送 ${图像_name}
完成
[root@k8s-master k8s]# ./docker_build.sh
6.K8S服务布局
- Gateway 服务网关,使用Deployment创建pod,使用ingress暴露服务
[root@k8s-master k8s]# cat gateway.yaml
apiVersion:扩展/v1beta1
种类:入口
元数据:
名称:网关
命名空间:毫秒
规格:
规则:
- 主机:gateway.ctnrs.com
网址:
路径:
- 路径:/
后端:
服务名称:网关
服务端口:9999
api版本:v1
种类:服务
元数据:
名称:网关
命名空间:毫秒
规格:
端口:
- 端口:9999
名称:网关
选择器:
项目:女士
应用程序:网关
api版本:应用程序/v1
种类:部署
元数据:
名称:网关
命名空间:毫秒
规格:
复制品:2
选择器:
匹配标签:
项目:女士
应用程序:网关
模板:
元数据:
标签:
项目:女士
应用程序:网关
规格:
imagePullSecrets:
- 名称:registry-pull-secret
容器:
- 名称:网关
镜像:192.168.73.137/微服务/网关:2020-03-08-16-40-54
imagePullPolicy:总是
端口:
- 协议:TCP
容器端口:9999
环境:
- 名称:JAVA_OPTS
值:“-Xmx1g”
资源:
要求:
中央处理器:0.5
内存:256Mi
限制:
中央处理器:1
内存:1Gi
就绪探针:
tcpSocket:
端口:9999
初始延迟秒数:60
periodSeconds: 10
活性探针:
tcpSocket:
端口:9999
初始延迟秒数:60
periodSeconds: 10
- 前端传送门
[root@k8s-master k8s]# cat product.yaml
apiVersion:扩展/v1beta1
种类:入口
元数据:
名称:门户
命名空间:毫秒
规格:
规则:
- 主机:portal.ctnrs.com
网址:
路径:
- 路径:/
后端:
服务名称:门户
服务端口:8080
api版本:v1
种类:服务
元数据:
名称:门户
命名空间:毫秒
规格:
端口:
- 端口:8080
名称:门户
选择器:
项目:女士
应用程序:门户
api版本:应用程序/v1
种类:部署
元数据:
名称:门户
命名空间:毫秒
规格:
复制品:1
选择器:
匹配标签:
项目:女士
应用程序:门户
模板:
元数据:
标签:
项目:女士
应用程序:门户
规格:
imagePullSecrets:
- 名称:registry-pull-secret
容器:
- 名称:门户
图片:192.168.73.137/微服务/门户:2020-03-08-16-41-31
imagePullPolicy:总是
端口:
- 协议:TCP
容器端口:8080
环境:
- 名称:JAVA_OPTS
值:“-Xmx1g”
资源:
要求:
中央处理器:0.5
内存:256Mi
限制:
中央处理器:1
内存:1Gi
就绪探针:
tcpSocket:
端口:8080
初始延迟秒数:60
periodSeconds: 10
活性探针:
tcpSocket:
端口:8080
初始延迟秒数:60
periodSeconds: 10
- 库存服务库存的yaml
[root@k8s-master k8s]# cat stock.yaml
api版本:应用程序/v1
种类:部署
元数据:
名称:股票
命名空间:毫秒
规格:
复制品:2
选择器:
匹配标签:
项目:女士
应用程序:股票
模板:
元数据:
标签:
项目:女士
应用程序:股票
规格:
imagePullSecrets:
- 名称:registry-pull-secret
容器:
- 名称:股票
图片:192.168.73.137/microservice/stock:2020-03-08-16-41-23
imagePullPolicy:总是
端口:
- 协议:TCP
容器端口:8030
环境:
- 名称:JAVA_OPTS
值:“-Xmx1g”
资源:
要求:
中央处理器:0.5
内存:256Mi
限制:
中央处理器:1
内存:1Gi
就绪探针:
tcpSocket:
端口:8030
初始延迟秒数:60
periodSeconds: 10
活性探针:
tcpSocket:
端口:8030
初始延迟秒数:60
periodSeconds: 10
- 用于订单服务的yaml文件
[root@k8s-master k8s]# cat order.yaml
api版本:应用程序/v1
种类:部署
元数据:
名称:订单
命名空间:毫秒
规格:
复制品:2
选择器:
匹配标签:
项目:女士
应用程序:订购
模板:
元数据:
标签:
项目:女士
应用程序:订购
规格:
imagePullSecrets:
- 名称:registry-pull-secret
容器:
- 名称:订单
图片:192.168.73.137/微服务/订单:2020-03-08-16-41-04
imagePullPolicy:总是
端口:
- 协议:TCP
容器端口:8020
环境:
- 名称:JAVA_OPTS
值:“-Xmx1g”
资源:
要求:
中央处理器:0.5
内存:256Mi
限制:
中央处理器:1
内存:1Gi
就绪探针:
tcpSocket:
端口:8020
初始延迟秒数:60
periodSeconds: 10
活性探针:
tcpSocket:
端口:8020
初始延迟秒数:60
periodSeconds: 10
- 商品服务产品的yaml文件
[root@k8s-master k8s]# cat product.yaml
api版本:应用程序/v1
种类:部署
元数据:
名称:产品
命名空间:毫秒
规格:
复制品:2
选择器:
匹配标签:
项目:女士
应用:产品
模板:
元数据:
标签:
项目:女士
应用:产品
规格:
imagePullSecrets:
- 名称:registry-pull-secret
容器:
- 名称:产品
图片:192.168.73.137/微服务/产品:2020-03-08-16-41-14
imagePullPolicy:总是
端口:
- 协议:TCP
容器端口:8010
环境:
- 名称:JAVA_OPTS
值:“-Xmx1g”
资源:
要求:
中央处理器:0.5
内存:256Mi
限制:
中央处理器:1
内存:1Gi
就绪探针:
tcpSocket:
端口:8010
初始延迟秒数:60
periodSeconds: 10
活性探针:
tcpSocket:
端口:8010
初始延迟秒数:60
periodSeconds: 10
- 用于注册表 eureka 的 yaml 文件
使用有状态控制器 StatefulSet 部署并公开服务无头服务以使用入口控制器进行访问
[root@k8s-master k8s]# cat eureka.yaml
apiVersion:扩展/v1beta1
种类:入口
元数据:
名称:尤里卡
命名空间:毫秒
规格:
规则:
- 主机:eureka.ctnrs.com
网址:
路径:
- 路径:/
后端:
服务名称:eureka
服务端口:8888
api版本:v1
种类:服务
元数据:
名称:尤里卡
命名空间:毫秒
规格:
集群IP:无
端口:
- 端口:8888
名称:尤里卡
选择器:
项目:女士
应用程序:尤里卡
api版本:应用程序/v1
种类:StatefulSet
元数据:
名称:尤里卡
命名空间:毫秒
规格:
复制品:3
选择器:
匹配标签:
项目:女士
应用程序:尤里卡
服务名称:“尤里卡”
模板:
元数据:
标签:
项目:女士
应用程序:尤里卡
规格:
imagePullSecrets:
- 名称:registry-pull-secret
容器:
- 名称:尤里卡
图片:192.168.73.137/microservice/eureka:2020-03-08-16-40-31
端口:
- 协议:TCP
容器端口:8888
环境:
- 名称:JAVA_OPTS
值:“-Xmx1g”
- 名称:MY_POD_NAME
值来自:
字段参考:
fieldPath: metadata.name
资源:
要求:
中央处理器:0.5
内存:256Mi
限制:
中央处理器:1
内存:1Gi
就绪探针:
tcpSocket:
端口:8888
初始延迟秒数:60
periodSeconds: 10
活性探针:
tcpSocket:
端口:8888
初始延迟秒数:60
periodSeconds: 10
7.在 K8S 中部署 Eureka 集群(注册表)
使用准备好的 yaml 文件手动部署
❝
注意修改,yaml中的镜像地址
❞
[root@k8s-master simple-microservice]# cd k8s/
[root@k8s-master k8s]# kubectl apply -f eureka.yaml
ingress.extensions/eureka 创建
服务/尤里卡创建
statefulset.apps/eureka 创建
[root@k8s-master k8s]# kubectl get pod,svc,ingress -n ms -o wide
名称就绪状态重新启动年龄 IP 节点提名节点就绪门
pod/eureka-0 1/1 运行 1 3h51m 172.17.10.4 192.168.73.140 <无> <无>
pod/eureka-1 1/1 运行 0 3h47m 172.17.10.5 192.168.73.140 <无> <无>
pod/eureka-2 1/1 运行 0 149m 172.17.42.3 192.168.73.135 <无> <无>
名称类型 CLUSTER-IP EXTERNAL-IP PORT(S) 年龄选择器
service/eureka ClusterIP 无 <none> 8888/TCP 3h51m appu003deureka,projectu003dms
名称主机地址端口年龄
ingress.extensions/eureka eureka.ctnrs.com 80 3h51m
对于本地主机文件中的 Eureka。 Ctnrs。 COM域名,然后浏览访问

登记中心
8.将数据库文件导入 MySQL 数据库
在数据库服务器上:
[root@localhost ~]# scp -r root@192.168.73.138:/opt/simple-microservice/db 。
[root@localhost ~]# mysql -uroot -p
输入密码:
mysql>使用mysql;
MariaDB [mysql]> update user set host u003d '%' where user u003d 'root' and hostu003d'localhost';
查询正常,1 行受影响(0.07 秒)
匹配行:1 更改:1 警告:0
MariaDB [mysql]> 从用户中选择主机、用户;
+-----------+------+
|主持人 |用户 |
+-----------+------+
| % |根 |
| 127.0.0.1 |根 |
| ::1 |根 |
+-----------+------+
3 行(0.00 秒)
MariaDB [(none)]> 显示数据库;
+--------------------+
|数据库 |
+--------------------+
|信息_架构 |
| mysql |
|性能_schema |
+--------------------+
3 行(0.01 秒)
MariaDB [(none)]> 创建数据库 tb_order;
查询正常,1 行受影响(0.00 秒)
MariaDB [(none)]> 创建数据库 tb_product;
查询正常,1 行受影响(0.00 秒)
MariaDB [(none)]> 创建数据库 tb_stock;
查询正常,1 行受影响(0.00 秒)
MariaDB [(none)]> 显示数据库;
+--------------------+
|数据库 |
+--------------------+
|信息_架构 |
| mysql |
|性能_schema |
|待定_订单 |
|待定_产品 |
|待定_库存 |
+--------------------+
6 行(0.01 秒)
MariaDB [(none)]> 使用 tb_order;
数据库已更改
MariaDB [tb_order]> 源 ~/db/order.sql;
查询正常,0 行受影响(0.00 秒)
查询正常,0 行受影响(0.00 秒)
查询正常,0 行受影响(0.00 秒)
查询正常,0 行受影响(0.00 秒)
查询正常,0 行受影响(0.00 秒)
查询正常,0 行受影响(0.00 秒)
查询正常,1 行受影响(0.01 秒)
查询正常,0 行受影响(0.00 秒)
查询正常,0 行受影响(0.00 秒)
查询正常,0 行受影响(0.00 秒)
查询正常,0 行受影响(0.00 秒)
查询正常,0 行受影响(0.00 秒)
MariaDB [tb_order]> 使用 tb_product;
数据库已更改
MariaDB [tb_product]> 源 ~/db/product.sql;
查询正常,0 行受影响(0.00 秒)
查询正常,0 行受影响(0.00 秒)
查询正常,0 行受影响(0.00 秒)
查询正常,0 行受影响(0.00 秒)
查询正常,0 行受影响(0.01 秒)
查询正常,0 行受影响(0.00 秒)
查询正常,1 行受影响(0.00 秒)
查询正常,0 行受影响(0.00 秒)
查询正常,4 行受影响(0.00 秒)
记录:4 重复:0 警告:0
查询正常,0 行受影响(0.00 秒)
查询正常,0 行受影响(0.00 秒)
查询正常,0 行受影响(0.00 秒)
查询正常,0 行受影响(0.00 秒)
MariaDB [tb_product]> 使用 tb_stock;
数据库已更改
MariaDB [tb_stock]> 源 ~/db/stock.sql;
查询正常,0 行受影响(0.00 秒)
查询正常,0 行受影响(0.00 秒)
查询正常,0 行受影响(0.00 秒)
查询正常,0 行受影响(0.00 秒)
查询正常,0 行受影响(0.00 秒)
查询正常,0 行受影响(0.00 秒)
查询正常,1 行受影响(0.00 秒)
查询正常,0 行受影响(0.00 秒)
查询正常,4 行受影响(0.00 秒)
记录:4 重复:0 警告:0
查询正常,0 行受影响(0.00 秒)
查询正常,0 行受影响(0.01 秒)
查询正常,0 行受影响(0.00 秒)
查询正常,0 行受影响(0.00 秒)
MariaDB [tb_stock]>
9.部署网关
❝
注意在yaml中修改镜像地址
❞
[root@k8s-master k8s]# kubectl create -f gateway.yaml
ingress.extensions/gateway 创建
服务/网关已创建
deployment.apps/gateway 创建
[root@k8s-master k8s]# kubectl get pod -n ms -o wide
名称就绪状态重新启动年龄 IP 节点提名节点就绪门
eureka-0 1/1 运行 1 4h28m 172.17.10.4 192.168.73.140 <无> <无>
eureka-1 1/1 运行 2 4h24m 172.17.10.5 192.168.73.140 <无> <无>
eureka-2 1/1 运行 0 3h6m 172.17.42.3 192.168.73.135 <无> <无>
gateway-7877fc8867-gsb59 1/1 运行 0 9m32s 172.17.42.2 192.168.73.135 <无> <无>
gateway-7877fc8867-rbxqz 1/1 运行 0 9m32s 172.17.5.2 192.168.73.138 <无> <无>
10.部署业务程序(产品、库存、订单)
需要注意修改三个业务程序配置文件中的数据库地址和yaml中的镜像地址
[root@k8s-master k8s]# vim ../product-service/product-service-biz/src/main/resources/application-fat.yml
弹簧:
数据源:
网址:jdbc:mysql://192.168.73.137:3306/tb_product?characterEncodingu003dutf-8
用户名:root
密码:123456
驱动程序类名:com.mysql.jdbc.Driver
尤里卡:
实例:
首选 IP 地址:真
客户:
向尤里卡注册:真
获取注册表:真
服务网址:
defaultZone: http://eureka-0.eureka.ms:8888/eureka,http://eureka-1.eureka.ms:8888/eureka,http://eureka-2.eureka.ms:8888/eureka
[root@k8s-master k8s]# kubectl create -f product.yaml
deployment.apps/product 创建
[root@k8s-master k8s]# vim ../stock-service/stock-service-biz/src/main/resources/application-fat.yml
弹簧:
数据源:
网址:jdbc:mysql://192.168.73.137:3306/tb_stock?characterEncodingu003dutf-8
用户名:root
密码:123456
驱动程序类名:com.mysql.jdbc.Driver
尤里卡:
实例:
首选 IP 地址:真
客户:
向尤里卡注册:真
获取注册表:真
服务网址:
defaultZone: http://eureka-0.eureka.ms:8888/eureka,http://eureka-1.eureka.ms:8888/eureka,http://eureka-2.eureka.ms:8888/eureka
[root@k8s-master k8s]# kubectl create -f stock.yaml
deployment.apps/stock 创建
[root@k8s-master k8s]# vim ../order-service/order-service-biz/src/main/resources/application-fat.yml
弹簧:
数据源:
网址:jdbc:mysql://192.168.73.137:3306/tb_order?characterEncodingu003dutf-8
用户名:root
密码:123456
驱动程序类名:com.mysql.jdbc.Driver
尤里卡:
实例:
首选 IP 地址:真
客户:
向尤里卡注册:真
获取注册表:真
服务网址:
defaultZone: http://eureka-0.eureka.ms:8888/eureka,http://eureka-1.eureka.ms:8888/eureka,http://eureka-2.eureka.ms:8888/eureka
[root@k8s-master k8s]# kubectl create -f order.yaml
deployment.apps/order 创建
- 查看pod状态
所有 pod 都处于运行状态是很正常的。当出现其他状态时,需要使用r命令进行整理,适当减少pods,增加健康检查时间
-
kubectl get pod -o yaml #检查Pod是否配置正确
-
kubectl describe pod #查看 Pod 详细信息
-
kubectl logs [-c] #查看容器日志
[root@k8s-master k8s]# kubectl get pod -n ms -o wide
名称就绪状态重新启动年龄 IP 节点提名节点就绪门
eureka-0 1/1 运行 1 5h11m 172.17.10.4 192.168.73.140 <无> <无>
eureka-1 1/1 运行 2 7s 172.17.10.5 192.168.73.140 <无>
eureka-2 0/1 运行 1 3m45s 172.17.42.2 192.168.73.135 <none> <none>
gateway-7d9c68f9b9-597b8 1/1 运行 0 7m28s 172.17.42.3 192.168.73.135 <无> <无>
product-5bb494596b-5m75d 1/1 运行 0 16s 172.17.10.3 192.168.73.140 <无> <无>
product-845889bccb-9z982 1/1 Running 10 36m 172.17.42.4 192.168.73.135 <无> <无>
stock-7fdb87cf6c-wsp4r 1/1 运行 9 32m 172.17.42.5 192.168.73.135 <无> <无>
11.部署前端(门户)
❝
注意在yaml中修改镜像地址
❞
[root@k8s-master k8s]# kubectl create -f portal.yaml
ingress.extensions/portal 创建
服务/门户已创建
deployment.apps/portal 创建
[root@k8s-master k8s]# kubectl get pod -n ms -o wide
名称就绪状态重新启动年龄 IP 节点提名节点就绪门
eureka-0 1/1 运行 1 5h11m 172.17.10.4 192.168.73.140 <无> <无>
eureka-1 1/1 运行 2 7s 172.17.10.5 192.168.73.140 <无>
eureka-2 0/1 运行 1 3m45s 172.17.42.2 192.168.73.135 <none> <none>
gateway-7d9c68f9b9-597b8 1/1 运行 0 7m28s 172.17.42.3 192.168.73.135 <无> <无>
product-5bb494596b-5m75d 1/1 运行 0 16s 172.17.10.3 192.168.73.140 <无> <无>
product-845889bccb-9z982 1/1 Running 10 36m 172.17.42.4 192.168.73.135 <无> <无>
stock-7fdb87cf6c-wsp4r 1/1 运行 9 32m 172.17.42.5 192.168.73.135 <无> <无>
portal-cc6844699-4wr9j 1/1 运行 1 46m 172.17.10.2 192.168.73.140 <无> <无>
12.访问前端身份验证
对于本地主机文件中的门户。 Ctnrs。 COM域名,然后浏览访问

登记中心

前端

商品服务

商品服务

订单服务热情


如果你喜欢这篇文章,请分享到你的朋友圈并关注我以获取更多信息。
更多推荐
所有评论(0)