OpenShift自带的日志搜索引擎ES服务的扩容
有以下两种扩容方式: 存储扩容 节点扩容 存储扩容 查看集群的状态 1$ oc exec $es-pod-name -c elasticsearch -- health 停止ES节点分片平衡 1$ oc exec $es-pod-name -c elasticsearch -- curl --cert /etc/elasticsearch/secret/admin-cert --key /etc/elasticsearch/secret/admin-key --cacert /etc/elasticsearch/secret/admin-ca -XPUT https://localhost:9200/_cluster/settings -d '{"transient": {"cluster.routing.allocation.enable":"none"}}' 为每个ES节点的DC执行以下操作3.1 获取需要暂停的ES pod所在的Node节点 ...
Openshift-Network-QoS——Pod网络控制
Pod网络(速)控制的必要性高速公路上,当流量大时,如果汽车仍然不限制速度的话,将会很容易发生车祸,我们都会自觉地减速缓慢通过,只有减速才能安全行驶。在平台的集群中也是一样,一台主机上会有大量容器运行,容器相当于高速速上的汽车,对外的网络通信都使用主机出口这条高速路,如果某(几)个容器突然访问流量大增,而且没有作任何网络限速,会占用了主机的网络,严重影响其它容器的网络,进而影响其它业务。 前提 Openshift打开多租户网络模式修改/etc/origin/master/master-config.yaml将networkPluginName设置为redhat/openshift-ovs-multitenant 12345... hostSubnetLength: 9 networkPluginName: redhat/openshift-ovs-multitenant serviceNetworkCIDR: 172.30.0.0/16... 如果已存在的集群,切换网络策略,请参考Openshift网络插件动态切换 为Pod添...
Openshift-Nginx-Router替换默认Haproxy-Router
什么是Router Router在Openshift集群的一个不可非常重要的组件,它作为外部请求访问集群内部资源的入口,为Openshift上的应用提供边缘负载均衡。 Router可以为应用提供HTTP和websocket流量的负载均衡,同时支持HTTPS连接。Openshift上有一个特殊的资源叫Route,通过它可以方便地配置Router。 Openshift集群默认使用Haproxy应用作为Router的实现,它通过容器的形式运行在相应的Node上,同时Router Pod网络使用的宿主机的网络,即hostNetwork=true。 除了Haproxy,我们还可以使用Nginx来实现Router,这也是本文的重点。 不管是Haproxy还是Nginx方案都是使用了软件负载均衡器,还可以使用F5等硬件负载均衡器来替换Router,达到性能的提升。 Nginx Router与默认Router比较 如何替换Openshift默认Router卸载当前Router 用system:admin登录集群 1$ oc login -u system:admin 选择default...
Openshift-Route证书HTTPS配置
后台应用为http服务Termination Type: EdgeInsecure Traffic: Allow 后台应用为https服务Termination Type: PassthroughInsecure Traffic: None
Openshift-Web-Console自定义界面
什么是Openshift WebConsole Openshift WebConsole是Openshift提供的一个web界面端,类似到Kubernetes的Dashboard。很多操作都可以在WebConsole端去处理与显示。 部署完成Openshift后,会有一个openshift-web-console的project,在这个project中有一个openshift-web-console应用,该应用便是Openshift WebConsole。 自定义Openshift WebConsole原理Openshift WebConsole前端使用的是Google的AngularJS技术,并且它在设置的时候提供了扩展的入口。WebConsole在应用启动时会去读取configmap(webconsole-config)中的配置,而webconsole-config的配置中可以设置导入的自定义css与js文件。 12345678......extensions: properties: {} scriptURLs: - https://www.e...
Openshift-gitlab-redmine-testlink集成
Gitlab:使用Git作为代码管理工具,并在此基础上搭建起来的web服务。Redmine:项目管理和bug跟踪工具。TestLink:基于web的测试用例管理系统,主要功能是测试用例的创建、管理和执行,并且还提供了一些简单的统计功能。Redmine作为项目问题及bug收集汇总的地方,gitlab及testlink通过调用redmine的api进行对问题进行更新。那第它们之间是怎么配置的呢?下面就一起来配置下。 Redmine部署与插件安装相关配置在github项目:https://github.com/xhuaustc/redmine-openshift Dockerfile中更新了docker-entrypoint.sh文件,更新了数据库的编码(mysql: utf8mb4 ) 创建镜像 12$ docker build -t harbor.local.com/public/redmine .$ docker push harbor.local.com/public/redmine 在openshift上创建新的项目 创建工程 1$ oc new-project...
Openshift3-9上部署Prometheus+Grafana实现集群的监控与告警
Openshift从3.9版本开始官方支持Prometheus和Grafana 从官方部署脚本 openshift-ansible 中的目录playbooks下的列表 中可以看到相关部署脚本openshift-prometheusopenshift-grafana 既然官方支持,部署安装就十分简单了。 部署安装Prometheus /etc/ansible/hosts添加配置 12[OSEv3:vars]openshift_hosted_prometheus_deploy=true 执行安装 1ansible-playbook playbooks/openshift-prometheus/config.yml 打开宿主机的9100端口(kubernetes-nodes-exporter) 1ansible all -m shell -a 'iptables -A OS_FIREWALL_ALLOW -p tcp -m state --state NEW -m tcp --dport 9100 -j ACCEPT; servic...
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个pods需要额外的1核...
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...
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 gl...

