OpenShift之应用环境变量篇
发表于|更新于
|浏览量:
文章作者: Michael Pan
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Michael Blog!
相关推荐

2020-05-20
Kubefwd——Openshift-K8S-本地开发的福音
小志:“kubefwd 本地开发的福音啊,本地环境直接连接 svc。”当小志推荐这个工具的时候,我正在 Kubecon 大会的现场,听着 Kubernetes 近一年的各种成就和各种新特性。我无法看到微信另一头小志的表情,也许平静,也许跟我现在一样激动。kubefwd,这是第一次听到这个工具,“本地环境直接连接 svc”,openshift 的 port-fowrward 命令就能做到,没什么也不起的吧。我回复道:“openshift 的 port-forward,再加个自动更新本地 hosts 文件”。小志发来了 kubefwd 请求流向图。 服务 api 与服务 auth 提供的都是 80 端口,但是它们能够同时被本地访问,这是 port-forward 无法做到的!我意识到这个工具很不简单,刚才的想法太草率了。我马上回复:“我刚才理解得不对,它可以做到一个 port 对应多个 service!”此刻的心情其实已经非常激动了,因为意识到 kubefwd 这个工具也许解决了困扰我多天的问题。 近一周一直在脑中徘徊的是徐磊老师介绍微软的 TFS 时的演示:开发人员本地修改代码...
2020-05-20
Openshift上部署OpenLDAP实战:为账号一统
Openshift上部署OpenLDAP也并不仅仅只是为了部署,更重要的是要用它来为各种应用统一账号管理。比如GitLab,Gogs, Nexus, Sonarqube等等,同时结合之前的Openshift使用OpenLDAP做账号管理。理想的世界是,一套Openshift,各种应用,它们的用户认证都在一套OpenLDAP上,同时这套OpenLDAP也是非常方便地部署在Openshift上。 为账号一统的第一步,就是我们需要部署OpenLDAP,这也是该篇主题。以下是之前分享的几篇与OpenLDAP有关的文章。 CentOS上搭建双主高可用OpenLDAP ServerOpenshift使用OpenLDAP作为统一用户认证CentOS上OpenLDAP Server使用cn=config方式配置 之前分享的与Openldap相关的几篇文章中,它的部署都是在虚拟机中进行的。那么在Openshift上能否完成部署呢,如果可以的话,那么那些复杂的部署我们都可以将它封装到镜像中去,岂不是更方便?那就一起来操作吧。 应用要求点 方便自定义域及管理员用户名与密码 通过环境变量...
2020-05-20
OpenShift生产集群物理机部署与虚拟机部署各自优缺点
OpenShift是物理机部署,还是虚拟机部署?这是企业在做容器平台架构选型时必须考虑的问题。尤其是大企业,有机器,有业务。今天我们就来列一列物理机与虚拟机部署各自的优缺点。 物理机部署 优点 性能好,无虚拟化层性能开销 小业务集群,节点少 配置高能够支持更大规模的容器数量 License成本更低 架构复杂度低(PaaS) 需要额外准备LB与存储 缺点 运维复杂度高 集群扩容周期长 如果出现故障,恢复周期长,需要及时去机房诊断修复 一台主机出现故障,影响业务范围更广 合规限制,需要更高要求的安全与隐私控制 虚拟机部署 优点 灵活部署、配置、维护简单 快速扩容 能与IaaS资源混合使用(LB、存储等) 一台虚拟机出现故障,影响业务范围小 虚拟机技术成熟,有热迁移技术,恢复快 IaaS高可用+PaaS高可用,两层保障 虚拟机支持虚拟快照,方便做主机回滚,集群可靠怀提升 IaaS目前已经有成熟的合规方案,在其上构建PaaS可以更方便地满足合规要求 缺点 性能较差(网络、计算等) 架构复杂度提升(IaaS + Paas) 配置较低,承载的容器容量更小(节点更多) 需要...

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
OpenShift-Router配置重新加载机制
OpenShift的Router是几乎所有南北流量的入口,对它的运行机制的了解非常重要,尤其是Router的配置更新加载机制。在服务请求出现异常情况下,我们能够快速分析出问题的原因,及时修复,保证应用的连续性。本章主要介绍OpenShift Router的配置加载机制。 OpenShift路由默认是基于Haproxy实现的。当Pod有更新或者证书更新等情况时会重新加载Haproxy的配置,来保证集群的路由信息是最新的。重载配置是否会对当前在线业务产生影响,这是系统管理员担心的问题。 一、 Haproxy配置重载的过程Haproxy在重新加载配置过程分两步。 生成最新的配置 重启Haproxy进程 Haproxy生成最新的配置OpenShift上以下三种资源的改变会触发Haproxy配置的更新 Routes改变 Pod IP/Endpoint 改变 证书改变 OpenShift Route有一个配置模板文件,最终的配置会根据这个模板文件来创建。该模板文件,默认路径为/var/lib/haproxy/conf/haproxy-config.template,也可以...
2020-05-20
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...
