2017-08-11 Lingxian Kong
版本:Pike 虽然参与 OpenStack 开发这么久,对大部分的核心模块的源码都比较熟悉,但就有那么几个 project,我一直没有勇气花费时间精力理解源码,比如 Keystone,比如 Swift,再比如 Horizon,很大一部分原因可能是因为这几个 project 的代码结果跟大部分的 core project 相差太大(因为 openstack 诞生时只有 nova、swift,后续很多 project 都走了 nova 的路线)。 继续阅读 »
2017-07-28 Lingxian Kong
OpenStack Swift 中的 swift3 middleware 使 Swift 兼容 AWS S3 的 API,毕竟相对于 Swift 来说,S3的用户可能更多,大家可能已经习惯于使用 S3 的众多工具来操作对象存储,其中 s3cmd 和 s3curl 是两个比较常用的s3命令行工具。s3cmd 相对于 s3curl 可能是更为上层的封装,更易于使用。但如果想通过 s3 rest api 的方式与 Swift 通信,那么 s3curl 是最佳选择。很多编程语言提供的 s3 sdk,在最后也都是转换成 rest api 的形式。正好今天给一个用户定位一个问题(该用户使用 PHP S3 SDK 访问我们的 Swift 服务)时 继续阅读 »
2017-07-04 Lingxian Kong
更新历史: 2017.10.06,更新一些命令 OpenStack 大多数项目中都依赖消息队列(默认是 RabbitMQ )在服务内部传递消息,同时,大多数关键项目(Nova、Cinder、Glance 等)也会将用户操作资源的动作以及资源的状态变化这些信息发送到消息队列,这些消息被称为 notification。任何对 notification 感兴趣的服务或组件都可以在消息队列上监听特定的 topic(默认是‘notifications’),从而获取这些 notification 并进行处理。OpenStack 官方推荐的获取 notification 的角色是 Ceilometer,其子项目 Panko 实现了对 notif 继续阅读 »
2017-06-29 Lingxian Kong
这篇博客我会尽量以白话文的方式来描述问题和解决思路。 问题 Swift 支持多 region 部署,并且 object 的多个副本存储在不同的 region 以提高可用性。一般场景下,用户通常只在一个 region 上传和下载对象文件,只有当 region 出现故障时(比如网络瘫痪)才会到另一个 region 读取副本数据。而且对数据存储要求比较严格的企业(特别是政府部门),确实会对数据的副本数和存储位置有严格的要求,所以提供对象存储的云服务厂商,一般都采取多 region 部署方案。 继续阅读 »
2017-06-28 Lingxian Kong
再过一个月左右,儿子就满两岁了。 有时候人的心理很怪。儿子小的时候,总是希望他赶快长大,这样就会跟自己有很多互动,会充满乐趣。但当他真的慢慢长大了,我的心里会很慌张,害怕突然有一天我抱不动他了,或者他慢慢不再围着我转了。 前两天儿子会蹦了,虽然蹦的不高,但能够两只脚同时离地,而且能连着蹦好几下。他也很兴奋,其实每当他发现自己的能力在慢慢变强时,我都能感受到他的那种兴奋,毫不掩饰,仿佛发现了新大陆,并且迫不及待的向我展示。发现他会蹦的时候,我突然意识到,他真的是慢慢长大了,不再像以前那样跑几步就会摔倒,也不再向以前那样动不动就想让我抱,他甚至自己学会了骑 scooter……他现在能够用中文和英文从一数到九,又学会了几首新儿歌。他已 继续阅读 »
2017-05-15 Lingxian Kong
前段时间自己写了个 FaaS 项目(借鉴了 Fission 里的一些想法),因为目前为止 OpenStack 领域里还没有一个很好的替代品。仅有的一个 Picasso 自从repo 创建之后就再没有更新过,那个公司只是为了卖自己的 serverless 产品而已,所以搞开源做好事的动机不强。 继续阅读 »
2017-04-27 Lingxian Kong
原文链接:https://www.linkedin.com/pulse/state-cloud-2017-part-i-a-rathinasabapathy In Cloud Computing technology, we have seen the emergence, convergence and divergence of various technical concepts and tools since its inception. The cycle for emergence, convergence and divergence has really shortened as the technology i 继续阅读 »
2017-04-01 Lingxian Kong
同样的事情我刚接触Neutron的时候也做过。其实你说Neutron的实现吧挺复杂的,但毕竟到最后还是要依靠底层的网络软件去实现具体的网络能力,所以如果让一个懂网络的人来看Neutron,视角肯定是自底向上。而对于我这种一开始是网络文盲的人,只有乖乖的从API入口开始,一直到底层的一系列网络命令,Neutron只是做了逻辑管理而已。VPNaaS也一样,底层常见的实现是OpenSwan和StrongSwan,两个都是开源实现,StrongSwan要比OpenSwan在能力上略胜一筹。因为我们的公有云里仍然使用OpenSwan(别问我为啥),但我们有迁移到StrongSwan的需求,迁移之前我需要做些调研,所以就有了本篇博客,在此做个记 继续阅读 »
2017-03-07 Lingxian Kong
年初拿到工作签证,举家来到新西兰工作和生活。当初申请工签而不是直接技术移民的一个主要原因是我没有雅思成绩(上大学的时候根本没想过出国那回事儿,也没有动力去考个托福、雅思啥的)。关于工签的申请过程可以参见我另外一系列博客。 继续阅读 »
2017-03-05 Lingxian Kong
这篇博客需要你懂Kubernetes和Docker 之前就一直关注FaaS,简单分析过[AWS Lambda][]和其他几个FaaS项目。我最初关注FaaS是因为我想在Mistral(OpenStack项目)中引入执行自定义代码的能力,来增强Mistral的可用性。AWS Lambda是Amazon在2016年对外发布的项目,发布之后就一直是serverless领域的标杆,后来的的FaaS项目基本都是参照AWS Lambda设计和实现。 继续阅读 »