Openshift实现Etcd一键备份与一键恢复脚本
一键备份etcd脚本 123456789101112131415[root@master01 ~]# cat backup_etcd.sh#!/bin/bashexport ETCD_POD_MANIFEST="/etc/origin/node/pods/etcd.yaml"export ETCD_EP=$(grep https ${ETCD_POD_MANIFEST} | cut -d '/' -f3)oc login -u system:adminexport ETCD_POD=$(oc get pods -n kube-system | grep -o -m 1 '\S*etcd\S*')oc project kube-systemoc exec ${ETCD_POD} -c etcd -- /bin/sh -c "ETCDCTL_API=3 etcdctl --cert /etc/etcd/peer.crt --key /etc/etcd/peer.key -...
Openshift开启Calico-BGP-与-OVS性能PK
Openshift网络方案选择 大家都知道K8S在网络插件选择上有很多种,默认的是Flannel,但是它的性能一般,互联网中使用最多的是Calico BGP,因为它的性能非常好。 而对于Openshift,官方只支持ovs一种网络方案,同时RedHat也表示ovs在Openshift平台上运行是最合适的。但是ovs的网络性能怎样呢?因为ovs方案对数据需要进行加包,解包的过程,性能肯定是会受影响的。同时经过实测,在万兆网络中的损耗近50%,虽然在绝大部分场景下ovs已经够用了,但是但是跟几乎无损耗的Calico BGP比起来还是逊色不少。 很庆幸,Openshift虽然官方不作Calico网络方案的支持,但还是很体贴地把它加入到了Openshift的安装脚本中,从而让大家都能方便地使用Calico网络方案,包括IPIP及BGP方案。 安装步骤 在ansible hosts中设置关闭openshift默认的sdn方案,开启calico方案/etc/ansible/hosts 1234[OSEv3:vars]os_sdn_network_plugi...
Openshift排错技巧——From-Redhat大客户交流会
今天参加Redhat大客户交流会,有一个主题是Redhat的小伙伴介绍Openshift的排错技巧。这个还是很值得参考的,于是将内容发在了这里,以便更多的小伙伴能够从中受益。当然Redhat小伙伴列出的也只是一部分,同时有些排错细节PPT中也并没有具体写,这篇中我就不扩展了。以下为PPT的内容。 OpenShift排错技巧 环境基本信息收集 日志等级 应用程序 OC客户端排错 镜像仓库 网络 路由 Installer DNS Etcd 日志等级openshift service log:/etc/origin/master/master.env #同时作用于API和ControllersDEBUG_LOGLEVEL=4 /etc/sysconfig/atomic-openshift-nodeOPTIONS=–loglevel=4 错误等级 0 - Errors and warning only 2 - Normal information 4 - Debugging-leve...
Openshift模板之项目创建模板(资源限制)
Openshift创建project时,可以按照设定的模板来创建,这就省去了很多初始化的工作。###文件内容(template.yaml) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112apiVersion: v1kind: Templatemetadata: creationTimestamp: null name: project-requestobjects:- apiVersion: v1 kind: Project metadata: annotations: openshift.io/description: ${PROJECT_D...
Openshift生产环境部署配置事项
1. 主机配置推荐 master 16核 32GB 网卡带宽不低于1Gb。CPU x86_64架构,核数和主机数线性递增,每增加一台主机增加0.1核。5台主机4.5核,总的核数为4+0.1 * 主机数内存与主机数线性递增,每增一台主机增加200M内存,5台8G,总的内存数为7+0.2 * 主机数 node 40核 256GB 网卡带宽不低于1Gb根据应用场景估算 2. 磁盘目录挂载 master磁盘格式:xfs ftype=1/ : 10GB/var/log :50GB/var/lib/docker:100GB 做raid高可用/var/lib/etcd [ssd]:20GB 做raid高可用/var :50GB 可根据实际进行调整,主要emptyDir的存储在/var/lib/origin目录下 node磁盘格式:xfs ftype=1/ : 10GB/var/log :50GB/var...
Openshift的网络策略networkpolicy
开启networkpolicy 创建新集群时,在ansible的hosts的参数列表中添加os_sdn_network_plugin_name配置 12[OSEv3:vars]os_sdn_network_plugin_name='redhat/openshift-ovs-networkpolicy 如果已存在的集群,切换网络策略,请参考Openshift网络插件动态切换 ovs-networkpolicy网络策略下,pod也支持qos网络流量控制。详情请阅读:Openshift Network QoS——Pod网络控制 说明:在Openshift容器平台只支持部分k8s networkpolicy v1版本特性,所以egress协议类型,IPBlock和podSelector与namespaceSelector的组合都不支持。 NetworkPolicy配置规则样例: 12345678910111213141516171819202122apiVersion: networking.k8s.io/v1kind: NetworkPolicymetadata: n...
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管理project【译自官方文档】
概述在OpenShift容器平台中,项目用于对相关对象进行分组和隔离。作为管理员,您可以授予开发人员对某些项目的访问权限,允许他们创建自己的项目,并授予他们在各个项目中的管理权限。 创建一个新的Project可以允许开发人员创建自己的项目。开发人员可以通过web控制台或者oc new-project命令来创建新的project。 1$ oc new-project test-project 预定义projectAPI服务器根据master-config.yaml文件的projectRequestTemplate参数标识的模板自动配置新的项目。如果未定义该参数,API服务器将创建一个默认模板,该模板使用请求的名称创建一个项目,并赋予创建该项目的用户该项目的“admin”角色。 如何创建自定义的project模板呢? 导出当前默认的模板 1$ oc adm create-bootstrap-project-template -o yaml > template.yaml 使用文本编辑工具编辑template.yaml文件,对默认的配置进行更新 导入更改后的模板 1$ oc...
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上部署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上能否完成部署呢,如果可以的话,那么那些复杂的部署我们都可以将它封装到镜像中去,岂不是更方便?那就一起来操作吧。 应用要求点 方便自定义域及管理员用户名与密码 通过环境变量...




