Openshift3-9部署手册
说明:本文主要介绍通过Ansible来部署Openshift 3.9
一、准备系统准备
节点类型
说明
Masters
物理主机或者虚拟机 系统:Fedora 21, CentOS 7.3, 7.4或者7.5 最少4vCPU最少16GB内存/var/最少40GB空间 /usr/local/bin最少1GB空间容器临时目录最少1GB空间
Nodes
物理主机或者虚拟机 系统:Fedora 21, CentOS 7.3, 7.4或者7.5 NetworkManager版本1.0以上最少1vCPU最少8GB内存/var/最少15GB空间 /usr/local/bin最少1GB空间容器临时目录最少1GB空间
额外的etcd节点
最少20GB用来存储etcd数据
注:在安装时可以通过ansible_inventory的配置忽略以上系统要求扩展:对于生产部署时,Master的配置要求计算规则如下:每1000个po ...
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 new-pr ...
Openshift上搭建Jenkins-Gitlab-Sonarqube自动构建
#Jenkins系统配置详情
安装插件列表:Git Parameter Plug-In
Gitlab Hook Plugin
SonarQube Scanner for Jenkins
JaCoCo plugin
Maven Integration plugin
Jenkins配置详情:Jenkins->系统管理->系统配置
SonarQube servers配置
Name: SonarqubeServer
Server URL: http://sonarqube-sonarqube.apps.test.openshift.com
Server version: 5.3 or higher
Server authentication token: $TOKEN(从SonarQube Server上创建)
Jenkins->系统管理->Global Tool Configuration
Maven Configuration
Default settings provider: Use default maven settings
Default globa ...
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时,指定为默认驱动,或者指定storag ...
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上能否完成部署呢,如果可以的话,那么那些复杂的部署我们都可以将它封装到镜像中去,岂不是更方便?那就一起来操作吧。
应用要求点
方便自定义域及管理员用户名与密码 通过环境变量及se ...
Openshift上部署awx——ansible-tower的社区版
Ansible的大名,对做运维开发的工程师来说没有不知道的,它是开源的配置管理工具,也是最流行的自动化运维工具之一。Ansible tower是Ansible的图形界面化平台,它是RedHat公司的商业应用,也就是说Ansible tower是付费的。既然是RedHat的付费应用,可想而知,它具有很强大、实用的功能,另外它应该会有一个免费的社区版本。对,那就是awx。Ansible Tower的社区版,功能跟Ansible Tower一样强大,开源免费。
部署安装Awx安装文档:https://github.com/ansible/awx/blob/devel/INSTALL.md
clone下awx的代码1$ git clone https://github.com/ansible/awx.git
Openshift集群中创建部署awx的project1$ oc new-project awx
awx的project下创建PVC,默认pvc名为postgresql123456789101112$ cat << EOF | oc create -f -apiVersion ...
Openshift中Elasticsearch索引自动清理工具:Curator
Openshift 3.11版本Openshift 3.10版本参考文档Openshift官方文档curator配置
Openshift中的Prometheus-Operator如何添加新的应用监控
prometheus使用的配置文件在openshift-monitoring/secret/prometheus-k8s中。有添加ServiceMonitor时会动态更新该文件
为system:serviceaccount:openshift-monitoring:prometheus-k8s添加应用所在project的view权限1$ oc policy add-role-to-user view system:serviceaccount:openshift-monitoring:prometheus-k8s -n myproject
查看prometheus的配置,查看对于servicemonitor的过滤器123456$ oc get prometheus k8s -o yaml... serviceMonitorSelector: matchExpressions: - key: k8s-app operator: Exists
serviceMonitorSelector表示,只有设置了k8s-app的Label的serviceMonitor ...
Openshift中集群ElasticSearch的运维
大家都知道,Openshift集成了EFK(Elasticsearch + Fluentd + Kibana)作为集群的日志管理平台。我们该怎样去维护ElasticSearch.
找到ES所在的pod
1oc get pod -l component=es -o name -n logging | cut -d/ -f2
查看所有ES索引
1oc exec $es-pod-name -- curl -s --cert /etc/elasticsearch/secret/admin-cert --key /etc/elasticsearch/secret/admin-key --cacert /etc/elasticsearch/secret/admin-ca https://localhost:9200/_cat/indices?v
清理所有3月份的ES索引
1oc exec $es-pod-name -- curl -s --cert /etc/elasticsearch/secret/admin-cert --key /etc/elasticsearch/s ...
Openshift之NetApp-SolidFire集成及测试
什么是NetApp SolidFire?NetApp公司是一家存储和数据管理公司,主要提供软件,系统和服务来管理和存储数据,包括其专有的Data ONTAP操作系统。NetApp公司主要向全球数据密集型企业提供统一存储解决方案其 Data ONTAP是全球首屈一指的存储操作系统,公司存储解决方案涵盖了专业化的硬件、软件和服务,为开放网络环境提供了无缝的存储管理。——(来自搜狗百科)SolidFire成立于2010年,是一家全闪存阵列的存储厂商,其存储控制器基于标准的x86服务器,最大可扩展到100个节点,2015年12月,SolidFire被NetApp收购;2017年6月,NetApp基于SolidFire推出超融合一体机。SolidFire提供分布式块存储,类似于ceph rbd,非常灵活,支持动态扩缩容,具有良好的性能。同时具有很多企业特性:如快照,组快照,丰富的API,非常灵活的QOS配置等。
什么是Trident?NetApp是CNCF的金牌会员,它开发的Trident是一款开源存储配置程序和流程编排程序。在没有Trident的环境下,K8s/Openshift ...