Openshift的网络之二:SDN master代码分析

30 篇文章 3 订阅
13 篇文章 0 订阅

一、前言

Openshift基于OVS SDN的CNI网络方案具有一个以etcd key-value store为中心master节点和若干worker节点,Openshift SDN master在etcd维护一个worker节点和SDN网络相关的数据库。

master主要的责任如下:

  1. 当Openshift加入或者删除一个worker节点,master会监听到这个事件,为这个节点分配或者收回子网段,将子网信息存储到etcd该node对应的entry下面。
  2. ovs-multitenant模式下,master还会监听project的建立和删除事件,为project分配VxLAN VNID,并且存储到etcd里面。

载自https://blog.csdn.net/cloudvtech

二、代码分析(Openshift origin v1.5)

1. Openshift master启动SDN master

  1. Start() @ origin/pkg/cmd/server/start/start_master.go
  2. startControllers() @ origin/pkg/cmd/server/start/start_master.go
  3. oc.RunSDNController() @ origin/pkg/cmd/server/start/start_master.go
  4. RunSDNController @ origin/pkg/cmd/server/origin/run_components.go
  5. StartMaster @ /Users/hairchen/Desktop/origin/pkg/sdn/plugin/master.go 

2.SDN master启动流程

2.1 parse network info to get clusterNetwork and serviceNetwork

2.2 create clusterNetwork

cn, err := master.osClient.ClusterNetwork().Create(cn)

2.3 start subnet manager
    2.3.1 get host subnet from Openshift
    2.3.2 initialize a SubnetAllocator
    2.3.3 start node change handling loop 
        2.3.3.1 
        2.3.3.2 handling node add event from K8S
            2.3.3.2.1 Validate node IP before proceeding
            2.3.3.2.2 Check if subnet needs to be created or updated
            2.3.3.2.3 Create new subnet in K8S
        2.3.3.3 handling node delete event from K8S
    2.3.4 start subnet change handling loop

        2.3.4.1
 
        2.3.4.2 handling host subnet add event from K8S
            2.3.4.2.1 delete old subnet first
            2.3.4.2.2 go through add node action as (3.3.2.1~3.3.2.3)
        2.3.4.2 handling host subnet delete event from K8S 
载自https://blog.csdn.net/cloudvtech







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值