利用Openshift中的cronjob-+-zalenium实现网站监控
背景介绍有一个网站(pf.apps.example.com),会获取主机的信息,但是主机信息的格式不统一,而且经常性会添加机器,但是信息又是不确定的,所以有时添加新机器会缺失字段,导致网站异常。 有两种解决方法, 优化代码,提高代码的兼容性,不致于导致页面无法显示。 严格规范字段的输入,必须保证字段的完整性。 不管哪种方法,我们都需要在页面出现故障时第一时间知道。这就要求编写代码自动监测网站相关页面的可用性,一旦出现问题,及时发邮件告知,第一时间恢复。 有使用到上篇介绍的zalenium Openshift部署zalenium(容器化的selenium)及Python自动测试 编写监控脚本监控脚本使用selenium控制浏览器,先模拟登录,再访问需要测试的页面,如果页面正常打开则正常,否则发邮件告警。(由于这个网站的每个页面都有id=content的一个div,所以通过检测页面中是否存在id=content的div来判断页面是否正常)monitor.py 123456789101112131415161718192021222324252627...
基于容器技术构建一站式业务支撑平台——实现业务需求快速交付,应用稳定可靠运行
来自2020年全国职业容器云大赛冠军队二二一队作品。 兴业数金 二二一团队成员:潘晓华、方胜、全彬元、徐林、孙佳明 1 建设背景随着互联网的兴起,互联网企业依托互联网,特别是移动互联网为公众提供越来越多方便快捷、稳定高效的服务,对传统业务带来了很大冲击。作为应对,传统行业也在业务上不断创新,带来对IT基础设施和应用架构方面进行转型升级的要求。例如为了支撑电商促销活动对带来的高峰期海量支付请求,某银行很早就对支付渠道相关业务应用进行微服务架构改造,由此带来了容器技术的研究和运用。经多年实践证明,采用容器技术平台很好地支撑了新的业务模式和业务容量。 基于业务发展的需要,和快速进步的金融科技技术,越来越多的传统企业开始思考自身的互联网战略、上云规划等。其中重要内容之一,是希望从技术层面更有效地支持业务创新,如微服务架构、更好的灵活性、扩展性、高可用性、更高效的业务上线效率等,因此跟上云计算技术发展的趋势,建设并推广适合自身的基于容器技术的云平台是关键任务。 2 需求分析2.1 业务需求2.1.1 应用架构****改造需求某银行的客户交互渠道系统存在以下两点架构问题,制约了其快速迭...
如何在Openshift中让Router-Pod独占Router节点
概念 什么是Router Pod? Router Pod是Openshift中管理外部流量访问集群服务的重要的入口,它是通过一个haproxy的Pod实现的。由于Router Pod的独特性,几乎所有的流量都过Router中的Pod代理到真正的服务,所以它是一个非常非常重要的服务。 什么是Router节点 因为集群中的Router Pod数量是有限的,外部流量通过负载均衡器到达Router的Pod,所以对于Router Pod必须固定在负载均衡器下的节点上。这些运行Router Pod的节点,我们叫做Router节点。它有两个特点: 运行default/router的pod; 被外部负载均衡器监听 为什么需要让Router Pod独占Router节点上几乎所有的外部访问集群服务的流量都通过Router Pod代理,所以它是非常重要。在正式使用时,需要对它进行保护。让它独占节点,防止其它Pod抢占Router Pod的资源,以确保集群下服务的可用性。 具体实施Router Pod独占绑定Router节点 Router节点上添加label 1oc label...
如何为运行OpenShift容器的数字用户设置用户名
OpenShift容器平台会使用一个不带用户名,数字类型的用户ID(如:10003000)来运行容器,但是有些情况下启动应用的用户必须有用户名,比如访问sftp服务。 **解决思路:**在容器中的/etc/passwd文件中添加对执行用户的相关配置::x:::<说明>::/sbin/nologin。 执行步骤 基础镜像中为/etc/passwd设置root组用户可写的权限 1RUN chmod g=u /etc/passwd 应用启动时为用户设置用户名,要在ENTRYPOINT/CMD的脚本中添加如下代码 123456789USER_NAME=${USER_NAME:-uidname}USER_ID=$(id -u)if ! whoami &> /dev/nullthen if [ -w /etc/passwd ] then echo "${USER_NAME}:x:${USER_ID}...
容器平台武林盟主争夺大战
容器技术是继虚拟化技术后又一革命性的后台技术,厂商为了争夺容器PaaS的话语权,必将发起一场声势浩大的战争。谁也没想到挑起这场革命性战争的竟然是一家仅3年的创业公司——dotCloud。 2013年前:大战前夕——一片祥和 虚拟化技术已经深入人心,以aws与openstack为主的云平台已经非常成熟。 PaaS理念也得到了普及,cloud foundry成为当时PaaS的标准 cloud foundry吸引了包括百度、京东、华为、IBM 等一大批国内外技术厂商,开启了以开源 PaaS 为核心构建平台层服务能力的变革。“PaaS 的时代就要来了!” PaaS公司有:Cloud foundry、Heroku、Pivotal、Red Hat PaaS 项目被大家接纳的一个主要原因,就是它提供了一种名叫“应用托管”的能力。 2013年容器武林大战——一鸣惊人 2013年3月:一家创业公司dotCloud开源了它的产品Docker,解决应用构建、分发与发布的问题,它的最大改进是引入了镜像构建。 Cloud Foundry 的首席产品经理 James Bayer 做了一次详细对比...
应用日志方案
原生方式 DaemonSet方式 Sidecar方式 集日志类型 标准输出 标准输出 文件 部署运维 低,原生支持 一般,需维护DaemonSet 较高,需要为每个容器采集日志的 日志分类存储 无法实现 可通过容器、路径映射实现 每个Pod可单独配置,灵活性高 支持集群规模 本地存储无限制,若使用syslog/fluentd会有单点限制 取决于配置数 无限制 资源占用 低,docker引擎提供 较低,每个节点运行一个容器 较高,每个Pod运行一个容器 查询便捷性 低,grep原始日志 较高,自定义查询、统计 高,根据业务特点定制 适用场景 测试、POC等非生产环境 日志分类明确的集群 大型、混合型集群
对文件目录设置acl权限
尽管 sudo 可以设置某个用户有特殊权限,确实会增大这个用户的权限。 为了限制这个特殊目录只有特定用户可以读,您可以对特殊用户设置目录访问控制列表 acl。 以 user 用户为例,这样设置之后可以实现只有 user 用户可以对这个目录有读权限,其他普通用户无权限 setfacl -m u:user:r– /目录名/文件名 如果想要一次设置可以添加 -R 参数 递归设置整个目录,以及整个目录下的所有文件 setfacl -R -m u:user:r– /目录名/ 这样就可以保证某个特殊普通用户对这个目录有可读权限 如果这个目录需要 user 用户可以 cd 进入的话,设置时可以增加大写 X 参数,设置 acl 的时候,大写 X 表示遇到目录给执行权限,遇到文件对象不给执行权限 setfacl -m u:user:r-X /目录名/setfacl -m u:user:r-X /目录名/文件名 这样设置,可以让 user 用户能 cd 进入特殊目录
快速使用SonarQube对应用进行静态代码扫描
1、启动SonarQube服务 12$ mkdir -p /sonar/{conf,data,extensions}$ docker run -v /sonar/conf:/opt/sonarqube/conf -v /sonar/data:/opt/sonarqube/data -v /sonar/extensions:/opt/sonarqube/extensions -p 9000:9000 xhuaustc/sonarqube:7.9.1 本地目录为~/Downloads/sonar/2、登录SonarQube服务端:http://127.0.0.1:9000/projects,登录用户名:admin,密码:admin3、创建新的项目,获得projectKey与token值4、下载对应版本的sonar scanner工具:SonarScanner下载地址5、请在代码目录中执行扫描工具 123456/xx/bin/sonar-scanner \ -Dsonar.projectKey=test \ -Dsonar.sources=. \ -Dsona...
技术中台
金融机构中台战略之路 在传统金融机构体系中,系统往往由各个项目组独立建设,每个机构中有成百上千套复杂的系统,它们相互调用,形成复杂的网状结构,很难进行管理。随着银行数字化转型的深入,大量业务以互联网的形式向用户开放,对系统高并发、大数据量、强一致性等需求越来越高。与此同时,为了满足用户多样化的需求,银行必须从以业务为中心向以人为中心转变,并做出快速响应。中台建设正是目前解决这些问题的新兴平台型企业架构。 企业中台为业务而生,快速敏捷地响应业务变化,以服务的形式为业务提供支撑,服务接入层以统一的路由适配转发。在整个技术构架上需要考虑可拓展性、敏捷性、轻量化,并注重与前台的交互,灵活地通过服务编排实现应用功能,满足前台需求。因此中台融合分布式、微服务、容器云、DevOps、大数据处理及高可用高性能高并发架构,遵循“高内聚、松耦合”设计原则。业务中台需要微服务、云原生、分布式事务体系支撑,并设计业务模型和微服务边界,最终形成业务单元;数据中台汇聚企业内外割裂的数据,并通过统一治理、建模加工,消除数据孤岛,实现数据资产化,为企业提供客户画像、商品智能推荐、业务实时监控,达到数据驱动业务能...
数据库写测试
先出结果数据库Mysql 5.7数据 NetApp Ceph NFS-SSD NFS-SAS HOST PATH 写(qtps) 33333 888 20000 3000 延时(us) 1029 40488 1184 NetApp 12345678910111213141516171819202018-06-27 17:56:45 ======================== mysql_test ========================2018-06-27 17:56:45 SQL01 exe=5000 fail=0 row=5000 ela=5180 ms avg=1036 us2018-06-27 17:56:45 SQL01 1 ms exec= 2853, ela= 2530 ms, avg= 886 us, pct= 57, 572018-06-27 17:56:45 SQL01 2 ms exec= 2122, ela= 2443 ms, avg= 115...



