Openshift私有仓库爆了,怎么办??!!
背景像大家担心的那样,Openshift私有仓库磁盘爆了,使用率100%!!!使用oc adm prune来作对openshift集群的清理,你敢吗?会不会把需要的镜像也一并删了呢,要是如此,就只能像DBA一样走人了。今天就来探讨下oc adm prune的用法。 先给出答案如你所料,我们最终的清理镜像的办法是oc adm prune images 12oc login -u admin -p adminoc adm prune images --keep-younger-than=400m --confirm 注意以上oc adm prune images命令只能在普通用户下执行,无法在system:admin用户下执行,所以必须先登录普通用户,同时用户拥有system:image-pruner权限。 精减镜像命令oc adm prune images的用法为了让镜像不占用过多的磁盘空间,需要对它全精减。很多时候,比如重复地构建镜像,会留下很多不必要的镜像层,而这些镜像层会占用非常多的空间。 1oc adm prune images [<options>] opt...
Openshift网络插件动态切换
Openshift 3.11版本Openshift SDN网络插件ovs-subnet 与 ovs-multitenant切换 更改节点上的networkPluginName的配置 master节点:/etc/origin/master/master-config.yaml node节点:/etc/origin/node/node-config.yaml 将networkPluginName中的redhat/openshift-ovs-subnet换成redhat/openshift-ovs-multitenant,或者反过来。 12$ ansible all -m shell -a 'sed -i "s/openshift-ovs-subnet/openshift-ovs-multitenant/g" /etc/origin/node/node-config.yaml'$ ansible masters -m shell -a 'sed -i "s/openshift-ovs-subnet/openshif...
Openshift部署zalenium(容器化的selenium)及Python自动测试
什么是zaleniumzalenium是一个Selenium Grid扩展,用Docker容器动态扩展你的本地网格。它使用docker-selenium在本地运行Firefox和Chrome中的测试。官网地址 zalenium Openshift上部署zalenium 创建zalenium项目 1oc new-project zalenium --display-name="自动测试Selenium Grid" 创建Service Account 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455# 创建ClusterRole# oc create -f zalenium-role.json{ "kind": "ClusterRole", "apiVersion": "v1", "meta...
Openshift自定义Router成倍提升集群性能
为什么要自定义Router Openshift的Router节点其实就是一个Haproxy容器应用,这个已经不是什么秘密了。我们平常使用时,不需要关心Haproxy的配置,因为它的默认配置完全满足绝大多数情况的需求。 但是它的默认配置并没有把最大的性能发挥出来,这时就需要我们对Haproxy的配置进行自定义了。 如果你需要实现一些新的功能,比如说将Mysql通过Router对外提供服务等 怎样自定义Router Router Pod根据haproxy-config模板创建haproxy.conf配置文件,默认文件为/var/lib/haproxy/conf/haproxy-config.template Router Haproxy镜像启动时会根据环境变量TEMPLATE_FILE来选择最终使用的模板文件 向Router Pod中放入自定义的模板文件,并将它的路径传给环境变量TEMPLATE_FILE 模板文件中的相关函数 函数 说明 processEndpointsForAlias(alias ServiceAliasConfig, svc ServiceUni...
Openshift部署测试环境oc-cluster-up
1oc cluster up --base-dir=/root/openshift --public-hostname=master.douhua.com
Openshift集群全环境备份
创建集群全环境备份非常有必要,特别是在生产过程中。当集群发生异常崩溃,数据丢失时,备份的数据就派上了用场,利用备份数据可以将之前的环境重新构建出来。 在Openshift平台,我们可以对集群的完整状态备份到外部存储。集群全环境包括: 集群数据文件 etcd数据库 Openshift对象配置 私有镜像仓库存储 持久化卷 我们要定期对集群作备份,以防止数据的丢失。 集群全环境备份并不是万能的,应用自己的数据我们应该保证有单独的备份。 创建Master节点备份在系统基础架构进行更改,都需要对节点做备份。比如说,系统升级,集群升级或者任何重大更新。通过定期备份数据,当集群出现故障时,我们就能使用备份恢复集群。 Master主机上运行着非常重要的服务:API、Controllers。/etc/origin/master目录下存放着许多重要的文件。 API、Controllers服务等的配置文件 安装生成的证书 云提供商提供的配置文件 密钥和其它身份认证文件 另外如果有额外自定义的配置,比如更改日志级别,使用代理等。这些配置文件在...
Openshift集群3-9升级到3-10
更新方法与策略:自动升级方法 下载openshift-ansible的脚本代码 12git clone https://github.com/openshift/openshift-ansible.git git checkout release-3.10 将master上的/etc/origin/master/htpasswd备份到/root/htpasswd 1scp master1:/etc/origin/master/htpasswd /root/htpasswd openshift_master_identity_providers中的filename去掉 123# /etc/ansible/hostsopenshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login':'true','challenge': ...
Openshif对集群的扩容与缩容
Openshift是一个云平台,它是以集群的方式提供服务。前面已经介绍了,业务都跑在Openshift的Node节点上。随着业务的不断变化,扩展或者消亡,我们的Node提供的服务需求也会不断变化。这时就需要对Node节点进行增删管理。 本篇只介绍CentOS7下管理Node节点。 Openshift使用Ansible playbook来实现扩容与缩容 1. oc命令查看当前Node节点的状态1oc get node --show-labels 2. 添加Node节点到已存在的集群 准备好需要添加的主机 节点类型 说明 Nodes 物理主机或者虚拟机 系统:Fedora 21, CentOS 7.3, 7.4或者7.5 NetworkManager版本1.0以上最少1vCPU最少8GB内存/var/最少15GB空间 /usr/local/bin最少1GB空间容器临时目录最少1GB空间 设置主机的hostname 1hostnamectl --static set-hostname infra1...
Openshift集群全环境恢复
阅读前说明 按照官网提供的文档操作能够恢复etcd数据,但是由于证书的问题,恢复的集群并不能正常使用,需要单独对集群的token进行清理。 官方文档中没有明确恢复etcd集群的部署,经过多次验证,确认了恢复etcd集群需要以下三步:1. 部署1台节点的etcd;2. 在当前1台etcd节点上恢复数据;3. 使用ansible扩容的方式,将etcd节点扩展到3台。 可以更新/etc/etcd/etcd.conf文件更改etcd name,进而解决etcd客户端访问服务器端证书不匹配的问题。 文章最后附上了经过测试认证的根据备份一键恢复etcd集群的脚本。 Openshift集群平台能够使用备份完整恢复集群。Openshift集群全环境备份 在恢复集群之前,请确保对集群做过完成的备份,并重新安装Openshift集群。 恢复Master节点创建Master主机文件的备份后,如果它们被损坏或意外删除,就可以通过这些文件复制回Master主机来恢复文件,然后重新启动受影响的服务。 恢复过程 恢复/etc/origin/master/master-conf...
Openshift集群升级3-6至3-7
更新方法与策略:自动升级方法 更新openshift-ansible的脚本代码 12git pull git checkout -b release-3.7 安装需要的包 1ansible all -m yum -a 'name=pyOpenSSL state=present' 关闭Service Catalog和Template Service Broker。3.7 以上版本默认会启用 Service Catalog 和 Template Service Broker 123456# /etc/ansible/hosts...openshift_enable_service_catalog=falsetemplate_service_broker_install=falseansible_service_broker_install=false... 关闭etcd目录的selinux检查关闭任务Check selinux label of ‘‘与Make sure the ‘‘ has the proper label 12345678910...



