Openshift使用OpenLDAP作为统一用户认证
背景Openshift默认的用户认证是使用HTPasswd,之前的部署方式也都是使用了HTPasswd的方式。其实Openshift官方默认支持LDAP协议,可以很容易地将OpenLDAP与Openshift进行集成,使用OpenLDAP集中管理用户。 环境 centos 7.4 openshift 3.10 openldap 2.4.44 openldap安装与使用介绍Openshift集群3.9升级到3.10 用户账号配置及验证登录 Openshift中配置验证方式为LDAPPasswordIdentityProvider LDAP URL说明: 12345678910111213141516ldapurl = scheme "://" [hostport] ["/"[dn ["?" [attributes] ["?" [scope]["?" [filter] ["?" extensions]]]]]]scheme = "ldap...
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/Opensh...
Openshift之服务网格Istio
什么是服务网格?服务网络就是指构成应用程序的微服务网络以及应用之间的交互。随着规模和复杂性的增长,服务网格越来越难以理解和管理。它的需求包括服务发现、负载均衡、故障恢复、指标收集和监控以及通常更加复杂的运维需求,例如 A/B 测试、金丝雀发布、限流、访问控制和端到端认证等。 Istio是什么?Istio 是一个用来连接、管理和保护微服务的开放平台。Istio 提供一种简单的方式来为已部署的服务建立网络,该网络具有负载均衡、服务间认证、监控等功能,而不需要对服务的代码做任何改动。想要让服务支持 Istio,只需要在您的环境中部署一个特殊的 sidecar,使用 Istio 控制平面功能配置和管理代理,拦截微服务之间的所有网络通信。 Istio能做什么?Istio 提供了一个完整的解决方案,通过为整个服务网格提供行为洞察和操作控制来满足微服务应用程序的多样化需求。它在服务网络中统一提供了许多关键功能: 流量管理。控制服务之间的流量和API调用的流向,使得调用更可靠,并使网络在恶劣情况下更加健壮。 服务身份和安全。为网格中的服务提供可验证身份,并提供保护服务流量的能力,使...
Openshift各组件Master-Node-Etcd-Router-Registry证书维护
Openshift集群正常运行过程中,各个组件:Master、Node、Etcd、Router、Registry之前相互通信交互,它们之间都是通过加密协议通信。那么问题来了,对于tls证书是有有效期的,突然有一天,证书过期了怎么办?集群是不是就无法正常运行了呢?现在我们就来看下,怎么能够让加密证书持续有效。 安装时,将证书有效期设置为很长,100年够不够 快速查看当前集群所有证书的有效期 证书过期了,我们该如何进行更新证书 安装时指定证书的有效期默认情况下,etcd证书、openshift证书的有效期为5年,kubelet证书、私有镜像仓库registry证书、Route证书的有效期为2年。在集群安装时可以通过设置ansible/hosts中的参数来指定证书的有效期 123456[OSEv3:vars]openshift_hosted_registry_cert_expire_days=730openshift_ca_cert_expire_days=1825openshift_node_cert_expire_days=730openshift_master_c...
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模板之项目创建模板(资源限制)
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排错技巧——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的网络策略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...

