站内搜索

本次搜索找到结果 21 条

本文是由最近一个Openstack Neutron安全组的问题所触发而写。希望之后借此机会深入探讨一下iptables和netfilter相关用法、原理等。 本节先看看网络问题的解决思路以及Openstack Neutron安全组,之后再开篇细讲背后的网络内核netfilter。

背景

借鉴以前openstack调度的经验,单纯根据基础资源(如cpu、memory等使用量)来计算机房资源的剩余情况会有偏差,有时候剩余资源满足flavor并不一定能在node成功创建虚拟机,因为openstack的调度算法并不是单纯根据资源来筛选那么简单。对于kubernetes来说,pod好比虚拟机,因为scheduler有很多算法来筛选出最合适的node,所以我们并不能单纯通过计算cpu、memory来判断某个pod是否能创建成功。

现有的k8s并没有一个类似的模块,因此,我们需要基于现有k8s的机制实现一个满足我们需求的、更灵活的子系统–-资源统计接口,能够在增加应用副本的时候,提前告诉用户该扩容的过程是否能够完成,如果可以完成再最终创建。

初衷

最近参与的几个项目,无一例外对监控都有极强的要求,需要对项目中各组件进行详细监控,如服务端API的请求次数,响应时间,到达率,接口错误率,分布式存储中的集群IOPS,节点在线情况,偏移量等。比较常见的方式是写日志,将日志采集到远端进行分析和绘图,或写好本地监控脚本进行数据采集后,通过监控系统客户端push到监控系统中进行打点。基本上我们需要的都能覆盖,但仍然有一些问题在使用上不太舒服,如在大规模请求下日志采集和分析的效率比较难控制或push打点的粒度和维度以及查询不够灵活等。

首先-什么是 TSDB (Time Series Database):

我们可以简单的理解为.一个优化后用来处理时间序列数据的软件,并且数据中的数组是由时间进行索引的.

时间序列数据库的特点:

前言

最近,关于xx公有云的用户网络,由于隔离问题引发安全讨论,大家顿时对啥“经典网络”、“VPC”等概念兴趣大增,大家的热议中多次提到AWS的VPC,亚马逊的AWS怎么搞的,我们不得而知,但是我们可以聊聊OpenStack的,毕竟它一直在模仿AWS嘛;

openstack做为世界级的开源项目,社区非常活跃和强大,积极参与社区提交bug和patch是非常有必要的,下面就说下我们提交bug和patch一些方式,供大家借鉴。

metadata做为openstack中的一个功能组件,可以结合cloud-init,在创建虚拟机后可以执行一些自定义的功能,比如自动创建账号等。这样就极大的增加的创建后自定义配置的灵活性,我们在使用过程当中,偶尔会有metadata失灵的情况,而且不是每次必现,所以借助一次现场,详细分析了neutron中metadata的代码流程,看是否能复现此问题。

我们在维护openstack过程中,发现有些功能无法满足,需要修改代码,而且要修改数据库的表结构,我们发现neutron中是使用alembic来做db的版本控制,于是我们摒弃了直接alter table方式,通过alembic来修改表结构,这样以后自动化部署和升级都会非常方便。

为什么要写这篇文档呢?是因为不理解keystone中缓存的使用的话,容易配置错误。

nova的rescue、evacuate、 shelve 功能是为了应对虚拟机的异常情况和提高资源利用率而生的,今天我们来分下一下它们各自的功能。