微信公众号:运维发展故事,作者:双冬

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域名,然后浏览访问

登记中心

前端

商品服务

商品服务

订单服务热情

如果你喜欢这篇文章,请分享到你的朋友圈并关注我以获取更多信息。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐