OpenShift - 部署基于MongoDB和NodeJS的多层应用
《OpenShift 4.x HOL教程汇总》
部署MongoDB数据库
- 创建项目
$ oc new-project multitiered-app
- 部署MongoDB
$ oc new-app mongodb-ephemeral -l app.openshift.io/runtime=mongodb, app.kubernetes.io/part-of=multi-tiered-app
部署应用后端
- 部署kiosk-backend模块。
$ oc new-app https://github.com/RedHatWorkshops/openshiftv4-odo-workshop-backend.git --name=kiosk-backend \
-l app.openshift.io/runtime=nodejs, app.kubernetes.io/part-of=multi-tiered-app
- 在kiosk-backend和mongodb之间建立关联。
$ oc annotate deployment/kiosk-backend app.openshift.io/connects-to=mongodb
- 修改kiosk-backend访问mongodb的配置参数。
$ oc patch deployment/kiosk-backend --type='json' -p='[{"op": "add", "path": "/spec/template/spec/containers/0/env", "value": [ { "name": "username", "valueFrom": { "secretKeyRef": { "name": "mongodb", "key": "database-user" } } },{ "name": "password", "valueFrom": { "secretKeyRef": { "name": "mongodb", "key": "database-password" } } },{ "name": "database_name", "valueFrom": { "secretKeyRef": { "name": "mongodb", "key": "database-name" } } },{ "name": "admin_password", "valueFrom": { "secretKeyRef": { "name": "mongodb", "key": "database-admin-password" } } } ] }]'
部署应用前端
- 部署前端应用kiosk-frontend。
$ oc new-app https://github.com/RedHatWorkshops/openshiftv4-odo-workshop.git --name=kiosk-frontend \
-l app.openshift.io/runtime=nodejs, app.kubernetes.io/part-of=multi-tiered-app \
-e COMPONENT_BACKEND_HOST=$(oc get svc kiosk-backend --template={{.spec.clusterIP}}) \
-e COMPONENT_BACKEND_PORT=$(oc get svc kiosk-backend -o=jsonpath='{ .spec.ports[?(@.name == "8080-tcp")].targetPort }')
- 在kiosk-frontend和kiosk-backend之间建立关联。
$ oc annotate deployment/kiosk-frontend app.openshift.io/connects-to=kiosk-backend
- 根据Service生成Route
$ oc expose svc kiosk-frontend
- 在OpenShift控制台查看部署的应用资源。
测试应用
访问上图中的Route链接,设置需要购买的数量,然后提交,可以看到订单记录。
OpenShift - 部署基于MongoDB和NodeJS的多层应用相关推荐
- OpenShift 容器平台社区版 OKD 4.10.0部署--基于VSphere
参考:OpenShift 容器平台社区版 OKD 4.10.0部署 OpenShift - 部署 OKD 4.5_51CTO博客_openshift 部署 一.Openshift简介 RedHat O ...
- nginx nodejs环境配置_基于docker的nodejs、php开发环境,包含多种组合安装
dnnmmp 基于docker的nodejs.php开发环境 (docker,nodejs,php,nginx,mongo,mysql,redis) Dnnmmp包含以下组合 dnm(Docker + ...
- openshift 部署_在OpenShift上部署Java EE微服务
openshift 部署 我昨天用WildFly Swarm在博客上发布了有关简单JAX-RS微服务的博客. 您学习了如何使用Maven构建所谓的"胖子",还使用Maven Doc ...
- 全力升级篇-基于Mongodb与Nginx负载均衡打造共享单车项目实战 最新完整项目升级版
全力升级篇-基于Mongodb与Nginx负载均衡打造共享单车项目实战 最新完整项目升级版 课程作为全新的升级项目课程,基于Nginx负载均衡,Flume与Kafka,Mongodb和Redis等技术 ...
- 详解基于MongoDB的地理位置查询,结合Symfony2演示
简介 随着近几年各类移动终端的迅速普及,基于地理位置的服务(LBS)和相关应用也越来越多,而支撑这些应用的最基础技术之一,就是基于地理位置信息的处理.我所在的项目也正从事相关系统的开发,我们使用的是S ...
- 部署基于嵌入的机器学习模型的通用模式
2020-01-31 21:00:32 作者:Robbe Sneyders 编译:ronghuaiyang 导读 给大家介绍一下如何在生产中部署基于嵌入的机器学习模型. 由于最近大量的研究,机器学习模 ...
- logicaldoc 6.5 结合postgresql 9.x安装部署—基于windows平台
2019独角兽企业重金招聘Python工程师标准>>> 湘中朱生 2012年9月于深圳 说明:原创内容,请勿转载! <1> 从官网下载部署包 官方网站提供源码包和集成 ...
- 基于 MongoDB 的 python 日志功能
本文首发于 Gevin的博客 原文链接:基于MongoDB的python日志功能 未经 Gevin 授权,禁止转载 基于MongoDB的python日志功能 why-log-to-mongodb 我几 ...
- 使用Docker Compose部署基于Sentinel的高可用Redis集群
大家一定非常熟悉如何利用Docker启动单个Redis容器用于开发环境,本文将介绍如何利用Docker Compose模板在本机和云端部署基于Sentinel的高可用Redis 3集群. Redis集 ...
最新文章
- 爬虫笔记|r.text-r.request.headers|修改,头
- c语言实现程序只执行一次,请问大家,为什么我调用我定义的函数俩次,但是程序只执行一次...
- 详解centos7使用无线wifi连接的方法
- 超音速 启动_从根本上讲超音速亚原子Enterprise Java
- OpenGL程序运行提示“glut32.dll丢失问题”
- 04.MyBatis别名的设置和类型转换器
- Spring : Spring @Transactional事物创建
- 有关C++11标准的一些粗浅认识
- xposed 修改手机定位
- 如何避免计算机被别人共享,win7如何防止别人偷窥电脑 win7防止别人偷窥电脑操作方法...
- Zabbix SNMP traps使用
- c语言程序设计实验结果与分析,C语言程序设计实验报告(7)
- 本科计算机专业考北大软微,2019北大软微计算机867高分经验分享
- ESP32使用I2C数字电阻AD5254做PT100仿真
- 怎么建立局域网_用ZeroTier搭建属于自己的虚拟局域网(VLAN)
- 中国锂电设备行业营状况分析及未来发展动向预测报告2022-2028年版
- 腾讯云轻量应用服务器搭建网站
- Platform机制
- 公网部署freeswitch1.8.6后,终端注册成功后,在fs_cli控制台执行originate user/1000 echo,呼通1000的SIP终端后,终端讲话没有收到fs的回声解决方法
- html中用CSS设置背景
热门文章
- 黑盒法测试c语言,黑盒测试的测试用例设计方法(经典理论知识,推荐)
- python 输入密码不显示_Python开发实例:隐藏输入密码时屏幕回显
- linux磁盘iops限制,linux – 我需要多少IOPS?我的工作量瓶颈是存储
- mmu计算机组成原理,计算机组成原理
- php 变量代码,php中的可变变量(代码详解)
- vue 图片引入_一个Vue的时间插件
- UI图标设计素材|风格多样的图标
- zookeeper watch java_Apache ZooKeeper Watcher 机制源码解释
- python scipy stats_Python Scipy stats.binned_statistic_dd()用法及代码示例
- Windows系统判断是否为64位系统(C++)