从0开始构建CI-CD持续集成流水线[Openshift]
发表于|更新于
|浏览量:
开始前的话
- 完成一只大象装进冰箱需要几步?
三步: 1. 有一个冰箱;2. 有一只大象;3. 把大象装进冰箱 - 构建CI/CD流水线[Openshift]需要几步?
三步: 1. 有Openshift平台;2. 部署CI/CD流水线应用;3. 启动流水线
文章作者: Michael Pan
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Michael Blog!
相关推荐
2020-05-20
Openshift之服务网格Istio
什么是服务网格?服务网络就是指构成应用程序的微服务网络以及应用之间的交互。随着规模和复杂性的增长,服务网格越来越难以理解和管理。它的需求包括服务发现、负载均衡、故障恢复、指标收集和监控以及通常更加复杂的运维需求,例如 A/B 测试、金丝雀发布、限流、访问控制和端到端认证等。 Istio是什么?Istio 是一个用来连接、管理和保护微服务的开放平台。Istio 提供一种简单的方式来为已部署的服务建立网络,该网络具有负载均衡、服务间认证、监控等功能,而不需要对服务的代码做任何改动。想要让服务支持 Istio,只需要在您的环境中部署一个特殊的 sidecar,使用 Istio 控制平面功能配置和管理代理,拦截微服务之间的所有网络通信。 Istio能做什么?Istio 提供了一个完整的解决方案,通过为整个服务网格提供行为洞察和操作控制来满足微服务应用程序的多样化需求。它在服务网络中统一提供了许多关键功能: 流量管理。控制服务之间的流量和API调用的流向,使得调用更可靠,并使网络在恶劣情况下更加健壮。 服务身份和安全。为网格中的服务提供可验证身份,并提供保护服务流量的能力,使...

2020-05-20
Openshift上使用shell-operator创建自己的operator
shell operator是由Falnt公司开发并开源的。Flant公司是一家致力于提供解决所有基础设施问题的解决方案的公司。他们自称是提供DevOps-as-a-Service的服务。 需求 一个简单的任务:监听项目创建与删除事件,并发出告警。 一种简单的解决方法:定时脚本cron,每隔一段时间(如1min)获取对Openshift集群的所有项目,并将它与上次获取的结果值进行比较,得到新创建的项目及删除的项目该方法的缺点: 不及时 性能差,很多时候并没有操作项目,但仍然需要不断执行脚本 如果1min内即创建了新项目,又把这个项目删除了,则无法监测到 另一种解决方法:事件驱动,即订阅来自Kubernetes对象的事件,如果有对Project操作就触发告警。很明显这种方法解决了定时任务的所有问题。 该很么做呢?会不会非常复杂。不会。使用shell-operator项目就可以非常简单地实现。shell-operator项目地址:https://github.com/flant/shell-operator 实现部骤 创建shell-operator项目 1$ oc n...
2020-05-20
下载国外资源加速器
axel https://github.com/axel-download-accelerator/axel
2020-05-20
应用日志方案
原生方式 DaemonSet方式 Sidecar方式 集日志类型 标准输出 标准输出 文件 部署运维 低,原生支持 一般,需维护DaemonSet 较高,需要为每个容器采集日志的 日志分类存储 无法实现 可通过容器、路径映射实现 每个Pod可单独配置,灵活性高 支持集群规模 本地存储无限制,若使用syslog/fluentd会有单点限制 取决于配置数 无限制 资源占用 低,docker引擎提供 较低,每个节点运行一个容器 较高,每个Pod运行一个容器 查询便捷性 低,grep原始日志 较高,自定义查询、统计 高,根据业务特点定制 适用场景 测试、POC等非生产环境 日志分类明确的集群 大型、混合型集群
2020-05-20
OpenShift强大的oc-set命令详解
OpenShift的client工具oc功能非常强大,几乎能实现所有的操作,它的每一个子命令都能实现非常多的功能。其中有个容易被忽视却很强大的子命令oc set可以实现对资源很多额外的配置,包括有环境变量、资源限制、持久化卷挂载、健康检查等等。下面是oc set的帮助详情。 1234567891011121314151617181920212223242526[root@master ~]# oc setConfigure application resourcesUsage: oc set COMMAND [flags]Replication controllers, deployments, and daemon sets: env Update environment variables on a pod template resources Update resource requests/limits on objects with pod templates volumes Update volumes o...
2020-05-20
Openshift上搭建NFS-StorageClass,别再说存储使用不方便
动态存储是什么Openshift持久化存储(PV)有两种,一种是静态的,另一种是动态。 静态存储:需要管理员手动创建PV,供PVC挂载调用 动态存储:通过一个称作 Storage Class的对象由存储系统根据PVC的要求自动创建。 StorageClass是什么 StorageClass是Openshfit中的一个资源对象,它主要用于描述请求的存储,并提供按需传递动态预配置存储的参数的方法。 StorageClass对象还可以用作控制不同级别的存储和对存储的访问的管理机制。 有了StorageClass后,管理员无需手动创建PV。Openshift的使用者在创建PVC时只需要指定StorageClass,会自动按照对应的StorageClass配置,调用对应的Dynamic provisioning来创建需要的存储 没有StorageClass时代,如何使用NFS每次需要手动创建PV,一句话:麻烦。 StorageClass时代来了一次配置,永久自动,无需手动创建PV,一句话:方便。 NFS Provisioner原理 新建PVC时,指定为默认驱动,或者指定sto...
目录
