Openshift源码与运作方式初步分析

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

大致看了一下源码,然后参考redhat给的liveCD,分析出一些Openshift的大致运作方式。

首先:openshift是通过打包成RPM来安装的,redhat上面的https://openshift.redhat.com/community/wiki/rebuild-openshift-origin-packages就是再说如何将源程序build成为RPM文件。RPM大致介绍可以看http://en.wikipedia.org/wiki/RPM_Package_Manager。每个RPM都有一个以spec结尾的描述文件,build的时候这个描述文件来进行build。

从github上面取下来的源程序目录结构如下:


每个文件夹大致的内容:

  • build:这个文件夹是用来建立一个Openshift Origin的环境以及提供一个liveCD的kickstart(Installs the OpenShift Origin environment locally and provides a live-cd kickstart)。这个文件夹进入之后有两个内容,一个rakefile还有一个openshift origin的文件夹
    • rakefile是用来为ruby rake命令执行提供的描述文件。rake是ruby的一个类似与make的工具。我们来看一下这个rakefile大致的内容。rakefile里面定义了许多的task,可以在rake的时候显式地调用他们来执行相应的任务,当然task也是可以互相调用的。在这个文件中的task包括许多build、创建product或者dev的 cd、product或者dev的install。创建livecd,clean等。需要更多的研究
    • openshift origin里面首先可以看到一个spec文件,这个文件就是描述如何build RPM的。在那个rakefile中也可以看到对这个文件的引用:specs   = Dir.glob("#{basedir}/**/*.spec")。spec文件的格式可以参考:http://hlee.iteye.com/blog/343499。看其他的文件夹,这些剩下的文件夹大部分会被拷贝至目标安装系统的文件系统的某个位置,在spec的%install中可以找到相应的处理
      • config文件夹:配置的参数,包括ssh key、连接限制等
      • doc文件夹:就是对openshift的说明,一个get started的页面,另一个txt文件
      • init-script:如果没有搞错,应该是livecd的启动。里面的脚本写着:live: Late init script for live image。反正它必然是一个程序的启动脚本,因为最终被放到init.d里面去了
      • kickstart:不明。。
      • skel:放到/etc/skel/目录下面的一些,目前就两个desktop文件,就是livecd进去之后的一个gnome和一个firefox
  • cartridge:各种支持的cartridge。然后每个cartridge文件夹里面的结构也是比较简单的,就是一个spec文件和其他文件夹,spec文件描述如何将RPM安装至目标系统中。然后info文件夹是cartridge的主要运行脚本及数据所在。这个文件夹会被拷贝至目标系统文件系统中。比如在liveCD中,位置为:/user/libexec/stickshift/cartridges。至于在运行的时候如何调用info中的脚本,则应该是ruby的事情了
  • stickshift:ruby主程序。里面包括了其各个模块:broker、common、node、controller以及我不认识的abstract。每个模块当中都有相应的desc文件描述如何创建RPM。具体的就不清楚了,还没有分析
  • swingshift:是一个提供用户认证的可选插件,MD5+salt的方式。同时使用mongodb作为持久化存储。
  • uplift:提供动态DNS服务
  • gearchanger:message/log control
  • rel-eng:版本信息

OpenShift Route路由实现机制探究(2) OpenShift Route路由实现机制探究(2) 在上一篇完成后,又过去了两周时间,这段时间内由于工作需要,在试着在开发环境安装OceanBase数据库试用版,并通读其官网文档一遍。OB新开放的这个官网里的文档,是比原来在蚂蚁金服金融云的文档归整条理了很多,但…… 好了,还是转回来继续OpenShift Route吧。 本篇内容主要是要搞清楚默认Router容器是如何构建的,以及此容器启动... 阅读详情

相关推荐

OpenShift_Descheduler

OpenShift_Descheduler 取消调度涉及根据特定策略逐出容器,以便可以将容器重新调度到更合适的节点上。 出于各种原因,您的集群可以受益于对已经在运行的Pod进行调度和重新调度的原因: 节点未充分利用或过度利用。 Pod和节点亲和力要求(例如污点或标签)已更改,并且原始调度决策不再适用于某些节点。 节点故障需要吊舱移动。 新节点将添加到群集。 脚步: oc创建-f rbac.yaml OC创建配置映射descheduler-policy-configmap -n kube-system --from-file = policy.yaml oc create -f descheduler-job.yaml -n kube-system

Openshift API部分源码学习笔记(一)

Openshift API简介 Openshift API包含了两部分,一部分是Kubernetes v1 REST API,另一部分是OpenShift v1 REST API,这些RESTful API都是通过HTTP(s)来访问OpenShiftContainer Platform的master服务器来调用的。这些API可用于管理终端用户的应用程序,集群和集群用户。 Openshift...

weixin_30602505的博客 294

openshift

开班

OpenCloud事件历史服务:NATS消息流处理与数据持久化完全指南

OpenCloud事件历史服务(eventhistory)是OpenCloud微服务架构中的核心组件,它通过NATS等消息系统消费事件流并提供可靠的数据持久化能力。本文将深入解析其工作原理、配置方法和最佳实践,帮助开发者快速掌握这一关键服务的使用。 ## 核心功能解析:事件捕获与持久化 事件历史服务的核心价值在于**实时事件处理**与**可靠数据存储**的完美结合。服务通过订阅NATS消息流捕

gitblog_00533的博客 735

openshift-demo

启动Openshift sudo ./openshift启动 更改访问权限sudo chmod a + rwX openshift.local.config / master / admin.kubeconfig; 须藤chmod + r openshift.local.config / master / openshift-registry.kubeconfig; 须藤chmod + r openshift.local.config / master / openshift-router.kubeconfig 启动Docker Registry oc登录系统:admin oadm Registry --create --credentials = openshift.local.config / master / openshift-registry.kubeconfig --conf

CS5212芯片实战:手把手教你设计DP转VGA转换电路(附完整原理图)

本文详细介绍了CS5212芯片在DP转VGA转换电路设计中的实战应用,包括芯片架构解析、核心电路设计要点、PCB布局与电磁兼容设计、调试技巧及进阶应用开发。通过完整的原理图和实用设计指南,帮助工程师快速掌握高可靠转换器的设计方法,特别适合需要国产化替代方案的场景。

weixin_30576827的博客 390

解析 | openshift源码简析之pod网络配置(下)

【编者按】openshift底层是通过kubelet来管理pod,kubelet通过CNI插件来配置pod网络.openshift node节点在启动的时会在一个goroutine中启动kubelet, 由kubelet来负责pod的管理工作。   本文主要从源码的角度入手,简单分析在openshift环境下kubelet是如何通过调用openshift sdn插件来配置pod网络。   ...

shurenyun的博客 735

【无线通信】射频杂散(RF Spurious Emissions)

射频杂散(RF Spurious Emissions)是指在无线通信系统中,除了在指定频率范围内的预期信号之外,任何不需要的或非预期的射频信号。这些杂散信号可能会干扰其他通信系统,降低系统性能,并违反无线电通信法规。射频杂散通常包括谐波、次谐波、互调产物和其他非线性失真所产生的信号。

qq_38801607的博客 5424

DO280介绍红帽OPENSHIFT容器平台--管理OpenShift与课外补充

第一章 介绍红帽OPENSHIFT容器平台--管理OpenShift与课外补充

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

UE5网络模块实战:属性复制、RPC与联机开发踩坑指南

多人联机开发中,网络同步是核心难题。UE5网络模块以服务器权威为基础,通过Actor复制、RPC和所有权机制实现多端状态一致。理解属性复制与OnRep回调、区分Server/Client/Multicast RPC的适用场景,是构建稳定联机架构的关键。本文结合数字孪生与多端协作场景,探讨如何将渲染与逻辑分离,并针对打包后网络失效、端口防火墙、崩溃排查等工程实践问题给出解决方案。通过蓝图接口解耦表现层,利用C++创建StaticMesh组件实现服务器逻辑与客户端表现分离,同时注意专用服务器不加载渲染依赖(如D

weixin_29010003的博客 272

基于立创EDA的IP5389BZ+IP6829 100W有线15W无线带屏充电宝DIY全流程解析

本文详细解析了基于立创EDA平台,采用IP5389BZ和IP6829芯片DIY一款100W有线快充、15W无线充电并带显示屏的移动电源的全过程。内容涵盖核心功能规划、硬件选型、电路设计、PCB布局、焊接组装、分步调试以及软件逻辑,为电子爱好者提供了一份从原理到实践的完整指南,并重点强调了电池安全与IP6829供电电压等关键注意事项。

weixin_34374684的博客 307

快速部署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

SAP 批量处理分包事后调整:BAPI_GOODSMVT_CREATE 关键参数与避坑指南

本文详细解析了SAP系统中使用BAPI_GOODSMVT_CREATE进行分包事后批量调整的关键参数配置与常见错误排查。重点介绍了GOODSMVT_CODE设置为'07'的必要性、GOODSMVT_ITEM结构体的正确配置方法,以及如何避免M7384、M7386等常见错误,帮助用户高效处理分包业务中的数量调整问题。

weixin_29276847的博客 567

OpenShift与Rancher

Rancher的部署一、系统初始化1)设置IP地址和主机名称2)添加地址解析和开启路由转发EOFsysctl -p3)关闭防火墙和Selinux二、安装并启动Docker1)安装依赖包2)添加信息源3)更新并安装docker4)Docker镜像加速三、部署rancher四、自定义群集1) 添加群集OpenShift Origin部署一、基本配置:1、设置主机名:2、关闭防火墙。

drrui520的博客 1146

【Android调试】高通adb识别不到设备的完整排查指南:从驱动到端口一步到位

本文系统梳理高通(Qualcomm)平台Android设备adb无法识别的完整排查流程。从最基础的USB连接检查开始,到Windows设备管理器中驱动状态的判断、高通USB驱动的正确安装与更新方法,再到adb端口被占用、USB调试未开启、驱动签名校验失败等高频场景的解决方案。每一步均配截图和操作命令,文末附常见报错速查表,适合做系统开发、刷机调试或者Android Framework bringup时遇到adb不通的工程师快速定位。

weixin_44081096的博客 281

Python 爬虫进阶:爬取 APP 数据(Charles 抓包 + Requests)

本文详细介绍了APP数据爬取的完整技术方案。首先通过Charles抓包工具配置HTTPS代理和证书,解析APP通信协议;然后分析请求参数、反爬机制和动态签名生成规则;接着使用Python的Requests库实现模拟请求、分页爬取和数据存储;最后针对证书问题、Token失效等常见问题提供解决方案。文章强调抓包分析、参数逆向和请求模拟三大核心技术,同时提醒开发者需遵守法律法规,合理控制爬取频率。该方案适用于移动端数据采集场景,为无法直接获取网页数据的情况提供了有效解决方案。

2503_91057718的博客 2120

OpenShift介绍及应用

一、OpenShift概念 OpenShift是红帽的云开发平台即服务(PaaS)。自由和开放源码的云计算平台使开发人员能够创建、测试和运行他们的应用程序,并且可以把它们部署到云中。Openshift广泛支持多种编程语言和框架,如Java,Ruby和PHP等。另外它还提供了多种集成开发工具如Eclipse integration,JBoss Developer Studio和 Jenkins等。OpenShift 基于一个开源生态系统为移动应用,数据库服务等,提供支持。 OpenShift Online

weixin_43034493的博客 1923

YOLOv11改进策略【注意力机制篇】| SE、CBAM、ECA、CA、Swin Transformer等注意力机制全面解析与应用

本文详细介绍了五种主流的注意力机制及其在YOLOv11中的应用。通过合理的模块选择和位置部署,注意力机制能够显著提升目标检测性能。

QQ_778132974的博客 876

Openshift

OpenShift OpenShift是红帽的云开发平台即服务(PaaS)。自由和开放源码的云计算平台使开发人员能够创建、测试和运行他们的应用程序,并且可以把它们部署到云中。Openshift广泛支持多种编程语言和框架,如Java,Ruby和PHP等。另外它还提供了多种集成开发工具如Eclipse integration,JBoss Developer Studio和 Jenkins等。OpenS...

Enweitech Software Works 1627

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

OpenShift:关于OpenShift(OKD)通过命令行的方式部署镜像以及S2I流程Demo

因为参加考试,会陆续分享一些OpenShift的笔记博文内容为安装完OpenShift, 利用OpenShift引擎部署一个镜像应用和一个S2I流程部署应用 Demo学习环境为 openshift v3 的版本,有些旧这里如果专门学习 openshift ,建议学习 v4 版本理解不足小伙伴帮忙指正傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去。在我看来,这是比死亡更可怕的事。--------王小波。

山河已无恙 1831

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

OpenShift 4预览

2019年5月,Red Hat发布了OpenShift 4.3(GitHub),但文档尚不完善。 OpenShift 4新特性 自我管理,自动化安装、修补、更新 使用不同类别的Operator来执行集群操作,并在集群上运行服务供应用程序使用 全新的安装工具OpenShift Installer,installer充当安装向导,提示用户输入必要的参数,并为其他内容提供合理的默认值。Installe...

weixin_33840661的博客 1929

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Openshift Orgin 架构概览

Openshift Orgin 架构概览 概览 OpenShift v3是一个基于Docker容器技术与Kubernetes容器编排平台的PaaS系统,旨在尽可能准确地对使用者暴露底层Docker与Kubernetes的概念与能力,并着重于开发人员能够轻松地组合应用。例如,安装Ruby、推送源码并添加MySQL数据库。 与OpenShift v2不同,在对模型各个方面进行创立后,配置上更...

jj_tyro的专栏 1861

DO280中OpenShift的镜像管理

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33747129的博客 1630
上一篇: OpenShift架构
下一篇: CloudFoundry DEA运作源码分析
Lory_yang
博客等级 码龄18年 48粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值