kuryr研究笔记

架构分析

kuryr-k8s主要目的是统一vm和容器的网络,借助neutron来管理容器的网络。两种部署,一种是将kuryr服务和k8s集群部署在租户的虚机内,借助虚机网络间接给pod和service提供网络,需要开启trunk特性,同时l2agent也要支持trunk,使虚机port支持多vlan;另一种,在独立的虚机或者裸金属上部署kuryr和k8s集群,k8s集群和openstack节点间二层互通。

More

南来北往

技能流水

今年的主题就是工作投入了。新岗位很多姿势不熟,操作需要各种适应。公司im是微软的lync,这工具最强大的就是远程和电话会议,公司对lync的使用没有约束,所以也就有最大的缺点,那就是突然来个lync电话,基本上当下的事情就做不了了。

More

lbaas分析笔记

前言

今年的云网方案,涉及很多lb的需求,大多数是客户亟需的而社区目前不支持的。针对类似需求,我们首要考虑能否通过其它方式去满足而不改动社区原有实现,其次才是考虑如何扩展并兼容社区实现。当然有的方案也会考虑能否向社区提交,话说回来了,搞开源本来就要结合实际需求来做,过于私有化的方案也就违背了开源的初心。说回lbaas,目前社区已经将其独立出neutron,成立新的项目octavia。即便如此,当前很多云厂商,依然还是沿用的lbaas v1或v2。很多lb厂商如f5,a10还是以lbaas的插件为主,所以本文简要分析lbaas相关知识点。

More

nova与neutron交互的细节分析

前言

通过查询资料,我们应该大体都了解nova创建虚机的一般流程:首先是通过horizon下发指令到nova-API,然后是keystone认证,接着nova-conductor查询数据库,nova-scheduler进行物理主机选举,从glance下载镜像,通过neutron创建网络资源,最后nova-compute创建虚机。本文旨在记录一下,在代码层面,nova与neutron的交互过程中比较重要的细节。

More

Barbican笔记

杂记

记录一下最近研究barbican组件的个人理解。

barbican主要是密钥管理的。存储(store secret)的时候有各种文件格式(text\plain),获取的时候根据它是证书,私钥进行PEM格式化。

More

neutron代码解析之l3-agent的启动

每个 L3 Agent 运行在一个 network namespace 中,以 qrouter-命名。网络节点如果不支持 Linux namespace 的,只能运行一个 Virtual Router。通过配置项use_namespaces = True开启namespace。本文只做单纯的分析代码,研究了neutron的l3-agent代码(m版本),代码路径为/neutron/agent/l3/agent.py。主要的类是:

More