OpenShift 4 - 应急响应Demo应用(AMQ+Knative+Quay+BPM+BDM+SSO)

OpenShift 4.x HOL教程汇总
说明:本文已经在OpenShift 4.8环境中验证

文章目录

架构

应急响应(Emergency Response - ER)应用运行在OpenShift之上,整个应用架构使用了红帽PaaS平台的 AMQ + Knative + Quay + BPM + BDM + SSO + DataGrid 等多种产品组件和技术。应用架构的主要组件和用到的相关产品见下图,
在这里插入图片描述

安装

  1. 创建以下对象,在Openshift的Operator Marketplace中注册“Emergency Response Demo Operator”。
$ oc apply -f - << EOF
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
  name: erdemo-operators
  namespace: openshift-marketplace
spec:
  sourceType: grpc
  image: quay.io/emergencyresponsedemo/erdemo-operator-catalog:2.12.0
  displayName: Emergency Response Demo Operator
  publisher: RedHatGov
EOF
  1. 创建一个新项目来运行ER应用
$ oc new-project erdemo-operator-system
  1. 在“erdemo-operator-system”项目的管理员视图中找到“Emergency Response Demo Operator”,然后进入创建该Operator。
    在这里插入图片描述
  2. 将“Emergency Response Demo Operator”安装到“erdemo-operator-system”项目中。
  3. 在创建完“Emergency Response Demo Operator”后进入该Operator,然后创建“ErDemo”。在“Create ErDemo”页面中根据下图的提示连接进入“https://account.mapbox.com/access-tokens”页面。
    在这里插入图片描述
  4. 如果没有mapbox的账号则注册新用户,然后复制下图中“Default public token”的内容。将其复制到上图的“myToken”中,最后点击“Create”。
    在这里插入图片描述
  5. ER Demo Operator”负责创建应用需要的所有其他环境,包括Operator及其运行环境、部署应用等,因此整个部署过程需要20-30分钟,在执行完部署后会创建以下相关项目。
$ oc get project er-sso er-tools er-amq-streams-operator erdemo-operator-system user1-er-demo user1-er-monitoring user1-er-tools
NAME                      DISPLAY NAME   STATUS
er-sso                                   Active
er-tools                                 Active
er-amq-streams-operator                  Active
erdemo-operator-system                   Active
user1-er-demo                            Active
user1-er-monitoring                      Active
user1-er-tools                           Active
  1. 在完成后可以确认运行环境。下图是“erdemo-operator-system”项目中安装的Operator。
    在这里插入图片描述
    下图是“erdemo-sso”项目中安装的Operator。在这里插入图片描述
    下图是“er-sso”项目中安装的资源。在这里插入图片描述
    下图是“er-tools”项目中安装的资源。在这里插入图片描述
    下图是“user1-er-demo”项目中运行的组件。在这里插入图片描述
    下图是“user1-er-demo”项目中运行的部署。
$ oc get dc -n user1-er-demo
NAME                         REVISION   DESIRED   CURRENT   TRIGGERED BY
disaster-service             1          1         1         config,image(disaster-service:2.12)
disaster-simulator           1          1         1         config,image(disaster-simulator:2.12)
dw-postgresql                1          1         1         config,image(postgresql:12-el8)
emergency-console            1          1         1         config,image(emergency-console:2.12)
incident-priority-service    1          1         1         config,image(incident-priority-service:2.12)
incident-service             1          1         1         config,image(incident-service:2.12)
mission-service              1          1         1         config,image(mission-service:2.12)
postgresql                   1          1         1         config,image(postgresql:12-el8)
process-service              1          1         1         config,image(process-service:2.12)
process-service-postgresql   1          1         1         config,image(postgres-10-decoderbufs:2.12)
process-viewer               1          1         1         config,image(process-viewer:2.12)
responder-client-app         1          1         1         config,image(responder-client-app:2.12)
responder-service            1          1         1         config,image(responder-service:2.12)
responder-simulator          1          1         1         config,image(responder-simulator:2.12)

下图是“user1-er-demo”项目中Route应用访问入口。

$ oc get route -n user1-er-demo
NAME                   HOST/PORT                                                                   PATH   SERVICES               PORT   TERMINATION   WILDCARD
disaster-simulator     user1-disaster-simulator.apps.cluster-8a53.8a53.sandbox1405.opentlc.com            disaster-simulator     8080                 None
emergency-console      user1-emergency-console.apps.cluster-8a53.8a53.sandbox1405.opentlc.com             emergency-console      8080   edge          None
responder-client-app   user1-responder-client-app.apps.cluster-8a53.8a53.sandbox1405.opentlc.com          responder-client-app   8080   edge          None

下图是 “user1-er-demo” 项目中 AMQ 中的资源。
在这里插入图片描述
下图是“user1-er-monitoring”项目中运行的Grafana和Prometheus资源。
![在这里插入图片描述](https://img-blog.csdnimg.cn/在这里插入图片描述
下图是“uer1-er-monitoring”项目中Prometheus的监控资源。
在这里插入图片描述

演示

  1. 打开“user1-er-demo”项目的“emergency-console”路由访问地址。在下图中可以通过“Registry Now”注册一个新用户。
    在这里插入图片描述
  2. 注册完用户可以登录访问“应急响应Demo应用”,其中在“Dashboard”页面中是没有数据的。
    在这里插入图片描述
  3. 查看“user1-er-demo”项目的“disaster-simulator”路由地址,并用浏览器访问。在“Incidents and Responders”页面上的“Create Incidents”区域点击“Submit”。此后系统会生成模拟数据,再查看上图“Dashborad”页面会看到生成的应急事件。
    在这里插入图片描述
  4. 进入“Mission”页面,在图中指定救援者自己所在的位置(如中蓝色图标),然后点击下方的“Available”。
    在这里插入图片描述
  5. 如果当前附近有适合的应急求救人(图中黄色图标),系统将分配给代表救援者的登录用户,并提供导航路线。
    在这里插入图片描述
  6. 在地图上会实时显示救援者的位置,当救援者达到被救着可以点击下方蓝色的“Picked up”。
    在这里插入图片描述
  7. 在救援过程中可以点击上图弹出框中的“Process Diagram”可以显示下图,它反应了救援的流程当前处在哪一步了。
    在这里插入图片描述
  8. 当救援者到达“救援目的地”后,将提示“Mission complete”。
    在这里插入图片描述
  9. 同时此时也可从救援流程中看到救援已经完成。
    在这里插入图片描述

参考

http://www.erdemo.io

猜你喜欢

转载自blog.csdn.net/weixin_43902588/article/details/119985198
今日推荐