ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] # 一、安装git& ~~~ $ yum install -y git $ git clone --branch kubernetes https://gitee.com/wells2333/sg-exam.git $ cd sg-exam ~~~ ![](https://img.kancloud.cn/1d/6a/1d6aad3080f728cdecab99be91143521_1280x504.png) # 二、配置 ## 数据库 分为本地环境和生产环境,区别主要是数据库的配置不一样 本地环境默认采用内嵌数据库,并且自动初始化脚本**不需要额外安装MySQL** 生产环境建议采用外部数据库服务,默认通过域名访问`sg.exam.mysql.com`数据库的,可以配置host,配置成对应的IP地址,如: ``` 192.168.31.89 sg.exam.mysql.com ``` MySQL的用户名和密码配置在`mysql-credentials`里,具体见`deploy-prod.bash`,可根据实际情况修改 本地环境的运行脚本:`deploy-dev.bash` 生产环境的运行脚本:`deploy-prod.bash` 两个脚本主要逻辑: * 创建namespace、configmap、secret * 启动服务 ## Redis 默认内嵌Redis服务,不需要额外安装 如有需要,可参考MySQL的配置,增加一个`type=ExternalName`的服务,详见`mysql-prod.yml` Redis的配置见`deploy-dev.bash`、`deploy-prod.bash` # 三、打包、构建镜像 构建服务镜像,包括后端微服务、前端服务、数据库镜像,构建时间可能有点长,耐心等待即可,构建命令: ``` ./gradlew build && docker-compose build ``` ![](https://img.kancloud.cn/98/96/9896722c3e1aa14a8deb258c9285c59e_1180x726.png) 构建成功: ![](https://img.kancloud.cn/09/5d/095dde6dd0cc37627e639cd74261aa3b_1194x738.png) # 四、部署 镜像构建完成后,执行部署脚本: ``` ./kubernetes/scripts/deploy-prod.bash ``` 该脚本的执行创建namespace `sg-exam`,创建`configmap`、`secret`,部署各个服务 ![](https://img.kancloud.cn/e7/31/e7313bd408b8c37541c6852c4d2ef738_1772x1472.png) # 查看容器启动 执行脚本后,登录k8s控制台查看启动情况,首先启动k8s控制台: ``` kubectl proxy --port=8001 ``` ![](https://img.kancloud.cn/9a/2f/9a2f3744de9ee6f90c51a2383099626b_532x98.png) 访问:[http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/ ](http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/) 命名空间选择sg-exam,看到如下界面即表示服务正常启动: ![](https://img.kancloud.cn/d5/b9/d5b915d7bf6425c5c1ca24f0f7ecc4fd_2812x1346.png) # 五、访问系统 服务正常启动后,即可访问后台或前台进入系统: 前台:http://localhost/ 后台:http://localhost/admin 可用以下账号登录: | 单位ID | 账号 | 密码 | 角色 | | --------- | -------- | -------- | -------- | | gitee | admin | 123456 | 管理员 | | gitee | student | 123456 | 学生 | | gitee | teacher | 123456 | 老师 | 前台首页: ![](https://img.kancloud.cn/7b/1a/7b1a655eeb5f5ed29a6e0943f9032f29_2880x1598.png) 后台首页: ![](https://img.kancloud.cn/4f/f4/4ff4afa70b0d5d52dee6dba07fcc6f3b_1000x555.jpg) # 六、系统监控 主要介绍部署并启动相关监控组件 ## 部署kiali ``` $ cd /usr/local/istio-1.11.2 $ kubectl apply -f samples/addons ``` ![](https://img.kancloud.cn/b2/21/b221331bde67486183d4c3f60aa8cbf8_1214x574.png) 可能pod会起不来,一般是因为pull镜像失败,重试几次或者手动pull一下失败镜像就行了,如我本机kiali起不来,手动pull镜像就行了`docker pull quay.io/kiali/kiali:v1.38` 检查pod运行状况 ``` $ kubectl get pod -n istio-system ``` ![](https://img.kancloud.cn/f0/7e/f07e32907ae679bf3b3376c6d69af0b1_1216x374.png) 启用kiali ``` $ istioctl dashboard kiali ``` 访问[http://localhost:2978/kiali](http://localhost:2978/kiali) ![](https://img.kancloud.cn/63/f0/63f0156cce61d2c2b15ac1690243b8e5_2858x1434.png) ![](https://img.kancloud.cn/02/df/02dfe579780ffdbc6ef832f58551f455_2840x1574.png) 参考资料:[可观察性工具 kiali](https://jimmysong.io/istio-handbook/setup/istio-observability-tool-kiali.html) ## jaeger ``` istioctl dashboard jaeger ``` 访问[http://localhost:16686/jaeger/search](http://localhost:16686/jaeger/search) ![](https://img.kancloud.cn/a6/cc/a6cc2817e05ababb69bb765a4edb9113_2850x1498.png) ## prometheus ``` istioctl dashboard prometheus ``` 访问[http://localhost:9090](http://localhost:9090) ## 其它监控 istioctl dashboard ``` $ istioctl dashboard ``` ![](https://img.kancloud.cn/84/6a/846a17fb103c742dc6e9202da4b9d8e6_1144x628.png)