Openshift-3scale简单介绍
API经济3scale做了什么?关注指标 支持应用数据 完整用例的数量 用户数量 资金价值 开发速度 部署速度 迁移工作量 已有问题 完整的API管理不仅仅只是创建与发布,还需要配套全方位的运维 创建与发布API 度量和计费 安全 & 认证 API文档Portal 扩展性 & 集中策略 API监控 版本控制 生命周期 配置 & 告警 API测试 3scale架构(可容器化部署) 实验内容github.com/hgueere
Openshift-All-In-One一键部署工具上线
Openshift All In One工具制作的初衷: 工作中为了测试各种情况,比如备份恢复等,经常需要部署一套全新的Openshift环境,虽然镜像与安装包都是现成,但是部署过程中还是很容易出错,毕竟还是有些复杂的。竟然部署过程是一致的,那就干脆用脚本化,一键到位得了。 Openshift3.9部署手册,这是我之前整理的一篇单机部署Openshift 3.9的手册,有一些朋友看了后,按照上面的操作还是会遇到一些问题,毕竟步骤有那么多,差了一步,就很容易就会失败。有了这个脚本工具后,想要部署测试Openshift的朋友就很容易去部署测试了,而不是在部署这一步就放弃了。 有些厂商提供了Openshift的解决方案,但是做支持的厂商朋友并不太熟悉容器平台环境,也想在自己的环境下部署一套Openshift来测试,最后往往困难重重,从展望到放弃。 做个自动化工具,让所有关心Openshift/K8s的朋友就可以跳过部署的步骤,快速进入到Paas这个神奇的世界,去了解到自己真正关心的内容。 进入正题 什么是正题?直接上工具git地址OpenshiftOneClick:http...
Openshift-F5集成(南北流量走F5)
使用F5与Openshift集成目的外部流量访问应用时,通过F5 BIG-IP硬件设备直接代理到集群中的Pod。这样做的好处,很明显。 使用硬件负载均衡器替换掉软件负载均衡器,提高性能。 F5有更灵活的配置,可以实现更复杂的流量控制 Openshift操作Openshift通过BIG-IP Controller来控制BIG-IP设备。由于Openshift是基于Kubernetes的,所以它们使用同一个Controller(k8s-bigip-ctlr)。BIG-IP Controller为集群中的应用配置BIG-IP对象,提供南北流量的服务。 BIG-IP Controller有两种方式来使用F5 BIG-IP设备 为Openshift中的Service提供代理流量 为Openshift中的Route提供代理流量 为Openshift中的Service提供代理流量_(不介绍具体部署操作)_这种方式,我们测试下来发现,需要为对外提供服务的Service绑定到F5的不同端口,同时外部访问应用时需要指定端口号。如:app1.openshift.example.com:8000...
Openshift-Build构建详解
Build是什么Build是Openshift容器平台上将输入转化为输出的过程,通常情况下是将代码转化为镜像的过程。 Build的配置叫BuildConfig,它将定义构建策略及构建参数。设置的构建策略和参数确定了Build的构建过程。 Openshift构建有四种主要策略 Docker 构建 源代码构建(S2i) 自定义构建 Pipeline构建可以实现复杂的工作流 Docker构建、S2i构建、Pipeline构建是默认支持的。 不同的构建有六种源 Git Dockerfile Binary Image Input secrets External artifacts 其中Binary和Git不能同时使用。 Dockerfile和Image可以单独使用,也可以与Git或Binary一起使用。 如果使用Binary作为BuildConfig.spec.source.type,只能通过命令行工具oc start-build来构建。 BuildConfig实例 123456789101112131415161718192021222324252627282930kind: ...
Openshift-F5集成(总结)——与Router方案对比
这篇文章来自9月份自己在F5年度会议上分享的PPT,感谢过程中帮忙一起联调的小伙伴。PPT也分享出来,地址如下:openshift与F5的联合解决方案Openshift-F5集成(南北流量走F5)Openshift-F5集成(续)——实现灰度发布 Openshift的基础概念Openshift简介红帽® OpenShift 是一款性能强大的开源企业级PaaS产品。不仅是企业级的Kubernetes,可以构建、部署与管理容器应用,还提供从开发到投入生产的整个应用生命周期内使用的完整解决方案,帮助客户享受快速创新带来的收益,同时保持企业级平台的稳定性、可靠性和安全性。Openshift支持多种环境下部署,无论是在企业内部,公共云,或是托管环境中。 Openshift Pod Pod是Openshift调度的最小单元 一个Pod包含一个或多个容器 Pod内的容器共享网络,IP不固定 实例: 12345678910111213apiVersion: v1kind: Podmetadata: name: MyApp labels: app: MyApp spec...
Openshift-F5集成(续)——实现灰度发布
上篇:Openshift-F5集成(南北流量走F5)中介绍了如何实现使用F5替换掉Openshift中的Route,但是它的可控性是弱的。本篇则通过手动创建VS及iRule来实现更强的流量控制,实现识别客户端IP来访问相应的服务。 为什么要使用灰度发布 什么是灰度发布灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。ABtest就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。 灰度发布的价值使用灰度发布可以在产品正式上线前针对特定一些目标用户进行开放,获得这些目标用户的反馈,及早发现问题,修复问题,完善产品的不足。如果发现新的版本价值不大,能够及早更换思路,避免产品直接上线后产生不好的影响。 Openshift Route自带的灰度发布功能 Openshift Route自带的灰度发布,是通过Route下“挂载”两个或两个以上Service,并调整各个Service的权值进行控制流量的分布。 例如...
Openshift-GitLab安装及使用Nodeport支持ssh访问
部署Gitlab 创建gitlab项目 1oc new-project gitlab 创建cicd serviceaccount 1$ oc create serviceaccount cicd -n gitlab 导入Gitlab模板 12wget https://gitee.com/xhua/OpenshiftOneClick/raw/3.11/openshift-templates/gitlab-template.yamloc create -f openshift-template.json -n openshift 创建持久化存储(如果没有pv的情况下) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384$ cat gitlab-pv.yamlapiVersion: v1items:- ap...
Openshift-HPA(Horizontal-Pod-Autoscaler)自动伸缩过程及算法
1、HPA介绍HPA(Horizontal Pod Autoscaler)是Openshift中的一个非常重要的对象,它定义了系统如何根据收集对应的Pod的状态(CPU/Memory)对DeploymentConfig、ReplicationController对象进行扩容与缩容。 HPA依赖于收集到的Pod资源的使用状态,所以要使HPA生效,Openshift必须安装好cluster metrics应用。 被监控的pod必须设置好了spec.containers.resources.requests属性,HPA才能正常工作。 仅支持CPU/Memory使用率的判断,如果自定义监控项,只能使用经验值,不能使用使用率。 支持对象:DeploymentConfig、ReplicationController、Deployment、Replica Set。 2. HPA伸缩过程及算法 HPA进行伸缩过程 收集该HPA控制下所有Pod最近的cpu使用情况(CPU utilization) 对比在扩容条件里记录的cpu限额(CPUUtilization) 调整实...
Openshift-Jenkins共享并支持pipeline
诉求 使用Openshift的pipeline构建流水线,在Openshift上统一管理 使用一个公共的Jenkins,而不需要每个Project下都创建一个新的jenkins。以节约资源 在创建新的项目时,尽量少地改动完成以上的需求 问题openshift默认的BuildConfig如果设置为jenkinsPipelineStrategy策略,将会在当前project下查找jenkins服务,如果没有的话,将会使用master-config中设置的默认jenkins模板所在位置在当前project下创建一个新的jenkins应用,便使用该应用执行相关的pipeline。每个项目都会创建一个新的jenkins。 解决思路 禁用Openshfit默认的JenkinsPipeline机制,不在当前项目下面自动创建Jenkins 在创建一个新的project时,创建名为jenkins的service,同时将它指向公共的Jenkins服务。 同时为了在当前Project界面下能够跳转到jenkins的界面,再创建一个jenkins Route,支持跳转到jenkins进行查看运行日志...
Openshift-Route证书HTTPS配置
后台应用为http服务Termination Type: EdgeInsecure Traffic: Allow 后台应用为https服务Termination Type: PassthroughInsecure Traffic: None

