OpenShift构建与部署自动化示例1

18个容器编排平台 OpenShift 的基本用法,包括应用部署、服务发现教 OpenShift 是一个由 Red Hat 公司推出的基于 Kubernetes 的容器编排平台,可以帮助开发人员快速、可靠地构建、部署、扩展和管理应用程序。与 Kubernetes 不同的是,OpenShift 提供了更加全面的开发体验和更高级的开发工具,使开发人员可以更轻松地创建和管理容器化应用程序。它还提供了许多附加功能,如 CI/CD 管道、应用程序监控和日志记录,使开发人员能够更好地了解应用程序的性能和健康状况。 阅读详情

一个Java应用的容器化之旅

本节把一个简单的 Java Web应用 My Bank进行容器化。 Mybank是一个非常简单和
典型的 Java Web应用。

  • 它包含了Java源代码、JSP文件、图片和CSS等静态资源文件。
  • My Bank的项目结构是基于 Maven的要求布置的,通过 Maven可以编译和构建Mybank的部署包——WAR包。
  • 和其他的应用程序一样, Mybank在开发过程中,它的所有源代码都被上传到了配置管理库进行版本控制。这里所用的配置管理服务器是 Github.

下面开始容器化这个应用。

(1)首先安装源代码工具Git

[root@bastion ~]# yum -y install git

(2)从Github上下载示例的Java应用源代码

[root@bastion ~]# git clone https://github.com/nichochen/mybank-demo-maven.git

(3)准备编译和构建环境。安装应用构建所需的Java开发工具包JDK及构建工具 Maven

[root@bastion ~]# yum -y install maven

(4)通过构建工具编译及构建应用。

[root@bastion ~]# cd mybank-demo-maven/
[root@bastion mybank-demo-maven]# mvn package

构建完毕后,将在 target目录下生成一个WAR包ROOT.war。

[root@bastion mybank-demo-maven]# ls target/
classes         maven-status  ROOT.war          test-classes
maven-archiver  ROOT          surefire-reports

(5)选择满足应用运行要求的基础容器镜像,或者从基础的操作系统镜像开始安装和构建。为了方便,这里选择 Tomcat7的官方镜像 tomcat:7.0.70-jre7- alpine。一般推荐预先把镜像下载到本地,以方便本地调试。

[root@bastion mybank-demo-maven]# docker pull tomcat
[root@bastion mybank-demo-maven]# docker images
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
REPOSITORY                 TAG      IMAGE ID       CREATED      SIZE
docker.io/library/tomcat   latest   24207ccc9cce   4 days ago   692 MB

(6)编写 Dockerfile。这个例子中我们的逻辑比较简单,就是把构建好的应用部署包拷贝到发布目录。 Dockerfile 7示例如下。

[root@bastion mybank-demo-maven]# mkdir test
[root@bastion mybank-demo-maven]# cd test/
[root@bastion test]# cat Dockerfile
FROM tomcat:latest
ADD ../target/ROOT.war /usr/local/tomcat/webapps/mybank.war

(7)执行 Docker Build构建镜像。把镜像命名为 mybank- tomcat.。在没有指定镜像的tag的请求下,默认的标签为latest。

[root@bastion test]# docker build -t mybank-tomcat .
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
STEP 1: FROM tomcat:latest
STEP 2: ADD ../target/ROOT.war /usr/local/tomcat/webapps/mybank.war
STEP 3: COMMIT mybank-tomcat
5f45d5e7f3b39e7942e56042545731e02e0e9c6e69fd7776083217f1e1f2ebde

构建完毕后,可以看见刚才Docker Build生成的新镜像

[root@bastion test]# docker images | grep mybank-tomcat
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
localhost/mybank-tomcat    latest   5f45d5e7f3b3   About a minute ago   693 MB

(8)测试镜像。通过 docker run命令测试新创建的镜像。这里通过参数-p8080:8080把容器的8080端口映射到主机的8080端口,以方便测试。

[root@bastion test]# docker run -it --rm -p 8080:8080 mybank-tomcat

容器启动完毕后,可以通过curl或浏览器测试应用是否工作正常。如果一起正常,通过浏览器访问 My Bank的主页就会看到一只可爱的小猪储蓄罐了。

[lab-user@bastion ~]$ curl http://bastion:8080/mybank/
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.or                                                                        g/TR/html4/loose.dtd">
<html>
<head>
<title>欢迎</title>
<link href="css/style.css" rel="stylesheet" type="text/css"/>
</head>
<body>
        <div class="title">
​```
    <div style="float: left;margin-left:20px;">World Bank | 世界银行</div>

    <div style="float: right;margin-right:20px;">服务器:
            f3f4be7b33d6
            /10.88.0.2</div>
    </div>
    <div class="main">
    <img style="margin:50px;" src="images/small_bank.png"><br>
            <div class="linkbox"><a href="offices.jsp">--服务网点--</a></div                                                                        >
    </div>
​```
</body>
</html>

(9)推送镜像。测试通过后,下一步将把镜像发布到相应的镜像仓库中。先通过 docker tag创建指向目标镜像仓库的镜像名称,然后通过 docker push推送镜像至目标仓库。

docker tag XXX
docker push XXX
OpenShift从源码构建部署应用初体验 OpenShift从源码构建部署应用初体验 这两天在翻OceanBase 0.4版本(唯一开源的版本)的源码,原因是前些天有人讲OceanBase非分区表的数据也是打散到多个节点分布的,这与我观看过的蚂蚁金融云上OB文档不一样,文档中讲OB是基于表分区在多个节点间分布数据的,非分区表不打散全部数据的任一副本只存放在一个节点上。后来了解到是OB过往版本与现行版本间数据分布的方式不一样。 所以大致... 阅读详情

相关推荐

OpenShift简介

文章目录OpenShift简介1.OpenShift是什么?OpenShift与K8S的区别1. 应用部署2. 应用管理3. 节点配置4. 安全性2. 为什么要用OpenShift?3. OpenShift的版本4. OpenShift架构概览4.1基础架构层4.2 容器引擎层4.3 容器编排层4.4 PaaS服务层4.5 界面及工具层5. 核心组件详解5.1 MasterAPI Server数据源(Data Store)调度控制器(Scheduler)复制控制器(Replication Controll

hongcloudtech的博客 6696

配置GitHub push自动触发OpenShift自动构建和部署

文章目录配置GitHub push自动触发OpenShift自动构建和部署查看BuildConfig的GitHub Webhook配置在GitHub上配置Webhook测试WebhookTroubleshootingPush代码后没有触发自动构建参考文档 配置GitHub push自动触发OpenShift自动构建和部署 查看BuildConfig的GitHub Webhook配置 在OpenShift上,打开BuildConfig,查看Webhooks。 在GitHub Webhook后,点击“Copy

锐意工作室 1148

DO280介绍红帽OPENSHIFT容器平台--OpenShift特性和架构

第一章 介绍红帽OPENSHIFT容器平台--OpenShift特性和架构

IT民工金鱼哥,专注运维技术。 2073

OpenShift构建镜像

OpenShift构建镜像 使用镜像和仓库作为source和output 1、准备一个git仓库,包含一个Dockerfile,以下仅包含一行内容用于最简单的演示。 text_Q1NETiBA6YGl5LiN5Y-v5Y-K55qE6Ieq55Sx,size_20,color_FFFFFF,t_70,g_se,x_16) FROM docker.io/bitnami/nginx:1.21.6 以gitlab仓库为例,你可以使用github等其他仓库 2、创建BuildConfig文件 点击构建,选择构建

IT 2164

OpenShift部署实战指南:自动化与集群管理

OpenShift是Red Hat推出的基于Kubernetes的容器应用平台,它扩展了Kubernetes的能力,增加了应用生命周期管理,让开发人员和运维人员能更容易地部署和管理容器化应用。OpenShift提供了一种更高级别的抽象,使得开发人员无需直接与底层容器编排和管理工具打交道。oc 命令行工具包含了大量用于管理 OpenShift 集群的命令。以下是一些基础但非常有用的 oc 命令:oc login:使用此命令连接到 OpenShift 集群。oc get。

weixin_42502040的博客 1023

OpenShift自动化部署利器:基于Ansible的用户自定义基础设施解决方案

OpenShift Auto UPI(User-Provisioned Infrastructure)是红帽OpenShift在用户自管理基础设施上实现自动化部署的核心模式,赋予企业对底层环境的完全控制权。与IPI相比,Auto UPI 不依赖云平台自动创建资源,而是通过预定义的网络、存储和安全架构,结合Ansible等自动化工具完成集群部署,适用于私有云、混合云及合规敏感场景。

weixin_42476987的博客 787

OpenShift 4 之通过Dockerfile部署容器应用

OpenShift能够自动根据目录中包括的资源类型,然后使用对应方式构建应用容器。以下是通过Dockerfile生成应用容器并部署的命令: $ oc new-app --name sleep https://github.com/liuxiaoyu-git/openshift-dockerfile-example.git $ oc logs bc/sleep ...

多恩斯基的博客 1108

利用Juniper Contrail和Openshift/Openstack 构建安全自动化的多云环境文档

2018 红帽论坛,超过500位客户亲临现场。演讲人 Zhenxing Wan 瞻博网络大中国区解决方案架构师。

将Docker映像部署到OpenShift

OpenShift是RedHat的云开发平台即服务( PaaS )。 它使用Kubernetes作为容器编排(因此您可以使用OpenShift作为Kubernetes的实现),但是提供了Kubernates缺少的一些功能,例如容器构建过程的自动化,运行状况管理,动态供应存储或多租户等。 在本文中,我将解释如何将Docker镜像从Docker Hub部署到OpenShift实例中。 需...

danpob13624的博客 1230

2024年最新双摄像头的实时视频拼接及目标跟踪(一)_监控视频拼接实时(1),网络相关+C C++三方库的源码分析+数据结构与算法

opencv中采用了SURF,ORB进行特征点提取,如果装的是opencv2.0版本,则可以直接用SURF,如果是3.0版本,则需要下载相应的contrib库进行安装。原理不赘述,给出其实验结果对比和分析,原始图像1SURF特征点提取网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化的资料的朋友,可以添加戳这里获取一个人可以走的很快,但一群人才能走的更远!

m0_51437227的博客 937

【eNSP 华为模拟器】单臂路由实战:从原理到配置全解析

本文详细解析了单臂路由技术,通过华为eNSP模拟器从原理到配置进行实战教学。文章阐述了单臂路由如何利用路由器单物理接口创建多个子接口,实现不同VLAN间通信,并提供了完整的操作步骤、配置命令及排错方法,帮助网络工程师掌握这一经典网络技术。

698

Jenkins与OpenShift集成实现CI/CD自动化部署

持续集成与持续部署(CI/CD)是现代云原生应用开发的核心实践,通过自动化构建、测试和部署流程显著提升交付效率。Jenkins作为广泛使用的自动化服务器,与OpenShift容器平台的深度集成能够为企业级应用提供强大的CI/CD能力。OpenShift Pipeline插件作为关键技术桥梁,支持在Jenkins流水线中直接调用OpenShift API,实现从代码提交到生产部署的全流程自动化。这种集成方案特别适用于微服务架构,能够将部署时间从小时级缩短到分钟级,同时支持蓝绿部署、滚动更新等高级部署策略。通过

搜索 426

EEGLAB安装、EDF数据导入、EEG预处理(Matlab)

目录下载和安装下载安装遇到问题及解决方案导入EDF数据EEG预处理 下载和安装 下载 链接:https://pan.baidu.com/s/17eMT6B7LgZ4PyqWvD5ixmg 提取码:12gz 安装 **第一步:**将下载下来的文件解压,修改名称为eeglab,将此文件夹存放在matlab的安装目录里的toolbox文件夹下,下图是我的路径,需要拷贝到自己相对应的路径中 第二步: 打开Matlab软件,点击主页中的设置路径 设置路径 点击添加并包含子文件夹,将eeglab文件夹添加进来,保

y18771025420的博客 1万+

快速部署OpenShift应用

本文介绍了使用Service Catalog和OC命令部署OpenShift应用、部署基本概念和流程、扩展存储、清理OpenShift对象等。以Angular 6集成Spring Boot 2,Spring Security,JWT和CORS中的Spring Boot和Angular项目为例,详细讲解了S2I和Pipeline两种部署方式。 OKD版本3.11,Spring Boot项目源码her...

weixin_33739627的博客 4139

Java Swing之多文档界面设计-JDesktopPane、JInternalFrame类简单应用示例

Java MDI多文档界面是一种用户界面风格,允许在一个主窗口中包含多个子窗口(文档窗口),每个子窗口可以显示不同的内容或功能模块,从而可以满足用户打开不同窗口完成不同功能的需求。开发多文档程序,一般需要JDesktopPane(桌面面板类)和JInternalFrame(内部窗体类)两个类。以下简单介绍,最后通过一个实例介绍实现逻辑。

编程语言教学工作者的博客 2209

Bioinformatics2021 | FraGAT+:基于分子原始片段的多尺度图注意力机制的分子性质预测模型

Bioinformatics2021 | FraGAT:基于分子原始片段的多尺度图注意力机制的分子性质预测模型

justBeHerHero 1999

Jenkins与OpenShift集成实现高效CI/CD部署

持续集成与持续部署(CI/CD)是现代DevOps的核心实践,通过自动化构建、测试和部署流程显著提升软件交付效率。Jenkins作为最流行的开源自动化服务器,与Kubernetes平台OpenShift的深度集成,为企业级应用提供了强大的容器化部署能力。这种技术组合利用OpenShift Pipeline插件实现无缝对接,支持从代码提交到生产部署的全流程自动化,特别适合微服务架构和云原生应用的持续交付场景。通过合理的权限控制和蓝绿部署等高级特性,团队可以在保证系统稳定性的同时实现快速迭代。

aoe41606的博客 438

1553B总线介绍及其硬件方案设计

军用1553B总线 1.简介 简单介绍可参考(https://blog.youkuaiyun.com/ScilogyHunter/article/details/108444231)博主写的很详细。 1553B总线是MIL-STD-1553总线的简称,其中B就是BUS,MIL-STD-1553B总线是飞机内部时分制命令/响应式多路复用数据总线。1553B数据总线标准是20世纪70年代由美国公布的一种串行多路数据总线标准。1553B总线能挂31个远置终端,1553B总线采用指令/响应型通信协议,它有三种终端类型: BC:

小幽余生不加糖 1万+

OpenShift 与 Rancher

Rancher 是一个容器管理平台,专为在生产中部署容器的组织而构建。Rancher 可以 轻松地在任何地方运行 Kubernetes,为 DevOps 团队提供支持。Rancher 为 DevOps 工程 师提供直观的用户界面,以管理他们的应用程序工作负载。用户无需深入了解 Kubernetes 概念即可开始使用 Rancher。OpenShift 是自由和开放源码的云计算平台,开发人员可以创建、测试和运行他们的应用程序,并且可以把它们部署到云中。本章详细介绍oopenshift和rancher安装和配置

Linux运维老纪的博客 2146

【YOLOv11多模态融合改进】| CVPR2025 LCA轻量交叉注意力 双向模态交叉引导 + 双支路噪点抑制,兼顾纹理与热目标特征融合

可见光模态富含纹理、色彩、边缘细节,但夜间/低照度场景信噪比极低,暗区噪声泛滥;红外模态依靠热辐射凸显弱小目标、暗区物体轮廓,但缺失真实色彩与精细纹理。简单拼接/逐加融合仅做浅层特征叠加,无法建立可见光纹理、红外热特征的双向引导关联,两类模态互补信息无法精准互通;普通自注意力仅单模态内部建模,跨模态交互匮乏,红外热目标易被可见光暗噪声淹没,可见光有效纹理易被红外灰度信息覆盖;

Limiiiing的博客 116

【教程4>第5章>第28节】基于帧同步+相位同步+位同步的QPSK调制解调通信系统整体性能分析

综上所述:1.SNR<10db时,整体性能下降,当SNR=0db时,系统无法正常工作。2.gardner环性能达到2.5e-5时偏可以正常工作,增加之后无法正常工作。3.当相位偏差大于pi/4的时候,对最后的性能会有一定影响。

FPGA/MATLAB学习教程/源码/项目合作开发 556

Hive:OpenShift 4集群一键部署与管理

Hive:OpenShift 4集群一键部署与管理 在现代云计算环境中,自动化和效率是至关重要的。Hive 作为一个 API 驱动的 OpenShift 4 集群部署与管理工具,以其出色的自动化能力成为企业级解决方案的佼佼者。 项目介绍 Hive 是运行在 Kubernetes/OpenShift 之上的服务,提供了 OpenShift 集群的自动化部署和初始化配置功能。它通过使用 OpenShi...

gitblog_00299的博客 669

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

openshift安装部署_一文读懂OpenShift架构

1.架构概述从技术堆栈的角度分析,作为容器云,OpenShift自底而上包含了以下几个层次:基础架构层、容器引擎层、容器编排层、PaaS服务层、界面及工具层,如图所示。1.1.基础架构层基础架构层为OpenShift平台的运行提供了基础的运行环境。OpenShift支持运行在物理机、虚拟机、基础架构云(如OpenStack、Amazon Web Service等)或混合云上。在操作系统层...

weixin_39788703的博客 2421

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

OpenShift 部署应用

OpenShift 部署应用

IT 3638

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

OpenShift - 在本地部署 OpenShift Lightspeed

说明:本文已经在 OpenShift 4.18 + OpenShift Lightspeed 1.0 的环境中验证。

多恩斯基的博客 844
上一篇: OpenShift核心流程详解
下一篇: 为什么现代数据环境需要一个中立的、多平台的多维数据可观察性解决方案
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值