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': 'tru ...
Openshift集群全环境备份
创建集群全环境备份非常有必要,特别是在生产过程中。当集群发生异常崩溃,数据丢失时,备份的数据就派上了用场,利用备份数据可以将之前的环境重新构建出来。
在Openshift平台,我们可以对集群的完整状态备份到外部存储。集群全环境包括:
集群数据文件
etcd数据库
Openshift对象配置
私有镜像仓库存储
持久化卷
我们要定期对集群作备份,以防止数据的丢失。
集群全环境备份并不是万能的,应用自己的数据我们应该保证有单独的备份。
创建Master节点备份在系统基础架构进行更改,都需要对节点做备份。比如说,系统升级,集群升级或者任何重大更新。通过定期备份数据,当集群出现故障时,我们就能使用备份恢复集群。
Master主机上运行着非常重要的服务:API、Controllers。/etc/origin/master目录下存放着许多重要的文件。
API、Controllers服务等的配置文件
安装生成的证书
云提供商提供的配置文件
密钥和其它身份认证文件
另外如果有额外自定义的配置,比如更改日志级别,使用代理等。这些配置文件在/ ...
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-config. ...
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
1234567891011121 ...
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 infra ...
Openshit-新的存储类型LocalVolume该如何使用
使用本地盘的方式的有三种:emptyDir、HostPath与Local Volume
Openshift针对Local Volume提供了一个local volume provisioner方便PV的自动创建,但目前它需要创建的PV对应的目录必须是挂载点。否则无法创建PV。
除了自动创建PV的过程外,部分与正常使用Local Volume一样。
手动挂载目录使用Local Volume我们先来看下通过手动的方式创建PV使用Local Volume是如何操作的。
1. 创建StorageClass123456apiVersion: storage.k8s.io/v1kind: StorageClassmetadata: name: local-hddprovisioner: kubernetes.io/no-provisionervolumeBindingMode: WaitForFirstConsumer
2. 创建PV1234567891011121314151617181920apiVersion: v1 kind: PersistentVolume metadata: ...
oc的常用命令整理
oc process
oc new-app
oc new-build
oc create imagestream
oc run
oc create -f
oc policy add-role-to-user edit system:serviceaccount:jenkins:jenkins -n dev
oc adm policy add-scc-to-user anyuid -z gitlab -n gitlab
oc new-project
oc set volumes
oc expose
oc start-build
oc rollback
oc rollout
oc rsync
oc rsh
oc set triggers dc/flask-app-s2i –remove-all && oc set triggers dc/flask-app-s2i –from-image=flask-app-s2i:v1 -c flask-app-s2i && ...
《Prometheus监控实战》读书笔记
Prometheus是一个开源的监控系统。
一、监控简介监控不仅仅只是系统的技术指标,还可以是业务指标。确保为客户提供可靠恰当的产品。在生产系统中,监控是必须的,它应该和应用程序一起构建和部署。帮助我们了解系统的环境、进行诊断故障、制定容量计划,为组织提供系统的性能、成本和状态等信息。
监控模式
务必在项目最开始阶段就把监控考虑进去,它和安全性一样,都是应用的核心功能。
根据服务价值设计自上而下的监控系统是一个很好的方式。先是业务逻辑,再是应用程序,最后才是基础设施操作系统。
需要找准监控项,及时发现错误
通过多样化的数据,如查看数据窗口等更智能的技术分析指标与阀值
增加监控的频率
尽可能实现监控系统部署实施自动化
监控机制
探针与内省:监控应用程序的两种方法。探针:在应用程序的外部,查询应用程序的外部特征。如Nagios。内省:查看应用程序的内部内容,经过检测,返回其状态、内部组件等的度量。可用作健康检查接口,由监控工具收集。
拉取与推送:执行监控检查的两种方式。拉取:提取或检查远程应用程序。如Prometheus。推送:应用程序发送事件给监控系统接收。
监控数据类型
...