auth-server

This commit is contained in:
huanqing.shao
2019-09-28 19:53:11 +08:00
parent d4d3ca265e
commit c1db1d7cf2
4 changed files with 59 additions and 2 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

View File

@ -94,20 +94,74 @@ spring:
## 确定部署方案
auth-server 为无状态服务,使用 Deployment 部署,并通过环境变量覆盖如下参数:
auth-server 为无状态服务,使用 Deployment 部署
根据 [在K8S上部署eureka-server](./eureka-server.html)、 [在K8S上部署mysql](./mysql.html)、 [在K8S上部署redis](./redis.html) 的部署结果,我们应该通过环境变量覆盖 auth-server 的如下参数:
* eureka.client.serviceUrl.defaultZone
```
http://cloud-eureka-0.cloud-eureka.ocp.svc.cluster.local:1111/eureka,http://cloud-eureka-1.cloud-eureka.ocp.svc.cluster.local:1111/eureka,http://cloud-eureka-2.cloud-eureka.ocp.svc.cluster.local:1111/eureka
```
* spring.datasource.druid.core.url
```
jdbc:mysql://db-auth-center:3306/oauth-center?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false
```
* spring.datasource.druid.core.username
`root` 与默认配置相同
* spring.datasource.druid.core.password
`root` 与默认配置相同
* spring.datasource.druid.log.url
```
jdbc:mysql://db-log-center:3306/log-center?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false
```
* spring.datasource.druid.log.username
`root` 与默认配置相同
* spring.datasource.druid.log.password
`root` 与默认配置相同
* spring.redis.host
`cloud-redis`
* spring.redis.port
`6379` 与默认配置相同
## 部署auth-server
* 在 Kuboard 界面进入 `ocp` 名称空间,点击 **创建工作负载** 按钮,并填写表单,如下图所示:
| 字段名称 | 填写内容 | 备注 |
| -------- | ------------------------------------------------------------ | ------------------------------------------- |
| 服务类型 | Deployment | |
| 服务分层 | 服务层 | |
| 服务名称 | auth-server | |
| 服务描述 | 认证中心 | |
| 副本数 | 1 | |
| 容器名称 | auth-server | |
| 镜像 | ocpsample/auth-server:latest | |
| 抓取策略 | Always | |
| 环境变量 | <div style="max-width: 500px;"><font color="blue">eureka.client.serviceUrl.defaultZone=</font>http://cloud-eureka-0.cloud-eureka.ocp.svc.cluster.local:1111/eureka,http://cloud-eureka-1.cloud-eureka.ocp.svc.cluster.local:1111/eureka,http://cloud-eureka-2.cloud-eureka.ocp.svc.cluster.local:1111/eureka<br /><font color="blue">spring.datasource.druid.core.url=</font>jdbc:mysql://db-auth-center:3306/oauth-center?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false<br /><font color="blue">spring.datasource.druid.log.url=</font>jdbc:mysql://db-log-center:3306/log-center?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false<br /><font color="blue">spring.redis.host=</font>cloud-redis</div> | 此处的内容与前面的mysql 和 redis 的部署匹配 |
| Service | ClusterIP集群内访问<br />协议`TCP` 服务端口`8000` 容器端口 `8000` | |
| Ingress | 域名 `svc-auth-server.ocp.demo.kuboard.cn`<br />URL `/` 服务端口 `8000` | 域名 |
::: tip 域名
* 该域名由 `工作负载名`.`名称空间`.`集群名字`.`一级域名` 组成,这种命名规则下,只需要将 `*.demo.kuboard.cn` 的域名解析指向集群 Ingress Controller 的地址就可以
* 在测试环境,为了更好地测试,才为 svc 配置 Ingress
* 服务层的服务通过 eureka-server 进行服务发现,因此,原则上不需要为 Spring Cloud 在服务层的 Pod 配置 Kubernetes Service此处是为了配置 Ingress 才启用 Kubernetes Service
:::
![Kubernetes教程_部署SpringCloud微服务_OCP_auth-server](./auth-server.assets/image-20190928191352140.png)
## 检查部署结果
* 在浏览器访问 `http://svc-auth-server.ocp.demo.kuboard.cn/swagger-ui.html`
![Kubernetes教程_部署SpringCloud微服务_OCP_auth-server_检查部署结果](./auth-server.assets/image-20190928191709649.png)
* :tada: :tada: :tada: 您已在 K8S 上完成了 auth-server 的部署

View File

@ -57,7 +57,10 @@ description: Kubernetes教程_使用Kuboard在Kubernetes上部署Spring_Cloud微
* 使用 StatefulSet 部署 eureka-server副本数量为 3
* 使用 OCP eureka-server 的 application-slave0.yml 这个 profile
* 使用环境变量覆盖 `eureka.client.service-url.defaultZone` 取值,将其设置为: `http://cloud-eureka-0.cloud-eureka.ocp.svc.cluster.local:1111/eureka,http://cloud-eureka-1.cloud-eureka.ocp.svc.cluster.local:1111/eureka,http://cloud-eureka-2.cloud-eureka.ocp.svc.cluster.local:1111/eureka`
* 使用环境变量覆盖 `eureka.client.service-url.defaultZone` 取值,将其设置为:
```
http://cloud-eureka-0.cloud-eureka.ocp.svc.cluster.local:1111/eureka,http://cloud-eureka-1.cloud-eureka.ocp.svc.cluster.local:1111/eureka,http://cloud-eureka-2.cloud-eureka.ocp.svc.cluster.local:1111/eureka
```
::: tip
通过 cloud-eureka-0.cloud-eureka 也可以访问到对应的 POD但是此处必须使用完整域名否则 eureka-server 将不被认为是 available
:::