diff --git a/learning/k8s-practice/ocp/auth-server.assets/image-20190928191352140.png b/learning/k8s-practice/ocp/auth-server.assets/image-20190928191352140.png new file mode 100644 index 0000000..3f5bc00 Binary files /dev/null and b/learning/k8s-practice/ocp/auth-server.assets/image-20190928191352140.png differ diff --git a/learning/k8s-practice/ocp/auth-server.assets/image-20190928191709649.png b/learning/k8s-practice/ocp/auth-server.assets/image-20190928191709649.png new file mode 100644 index 0000000..0b8cc78 Binary files /dev/null and b/learning/k8s-practice/ocp/auth-server.assets/image-20190928191709649.png differ diff --git a/learning/k8s-practice/ocp/auth-server.md b/learning/k8s-practice/ocp/auth-server.md index 1e8d4be..6d5d309 100644 --- a/learning/k8s-practice/ocp/auth-server.md +++ b/learning/k8s-practice/ocp/auth-server.md @@ -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 | | + | 环境变量 |
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.log.url=jdbc:mysql://db-log-center:3306/log-center?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false
spring.redis.host=cloud-redis
| 此处的内容与前面的mysql 和 redis 的部署匹配 | + | Service | ClusterIP(集群内访问)
协议`TCP` 服务端口`8000` 容器端口 `8000` | | + | Ingress | 域名 `svc-auth-server.ocp.demo.kuboard.cn`
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 的部署 diff --git a/learning/k8s-practice/ocp/eureka-server.md b/learning/k8s-practice/ocp/eureka-server.md index 5c7b3b6..06fc843 100644 --- a/learning/k8s-practice/ocp/eureka-server.md +++ b/learning/k8s-practice/ocp/eureka-server.md @@ -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 :::