k8s client-go workqueue 1 基础队列1.1 基础队列接口type Interface interface { Add(item interface{}) // 向队列中添加一个元素,interface{}类型,说明可以添加任何类型的元素 Len() int // 队列长度,就是元素的个数 Get() (item interface{}, shutdown bool) // 从队列中获取一个元素,双返回值,这个
kube-proxy源码阅读(iptables实现) Reference文章目录1 入口2 ProxyServer创建及调用3 ProxyServer 核心调用流程3.1 func (o *Options) Run() err3.2 func (o *Options) runLoop() error3.3 func (s *ProxyServer) Run() error3.4 func (proxier *Proxier) SyncLoop()4 资源事件处理流程4.1 Service事件4.2 Endpoints事件4.3 Nodes事件4.4 func
kube-proxy BoundedFrequencyRunner导致死循环分析 kube-proxy使用了k8s官方工具库中的BoundedFrequencyRunner实现基于事件及时间间隔的配置同步1 BounderFrequencyRunner构建1.1 相关核心代码// name: Runner名称// func():目标方法// minInterval:最小时间间隔(2次目标方法调用的最小间隔)// maxInterval:最大时间间隔(2次目标方法调用的最大间隔,当没有事件时,以最大时间间隔执行)// burstRuns:允许突发func NewBounde
iperf安装 wget http://mirror.centos.org/centos/7/extras/x86_64/Packages/epel-release-7-11.noarch.rpmrpm -Uvh epel-release*rpmyum install iperf -y
onos2.5.2编译安装 onos编译安装(Ubuntu18.04)1 前置下载安装1.1 前置包安装(参考docker file)sudo apt-get install -y ca-certificates \ zip \ python \ python3 \ git \ bzip2 \ build-essential \ curl \ unzipsudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:
k8s Endpoint Controller源码阅读 endpoint controller监听Pod、Service的add,update,delete变化,并处理1 Pod1.1 add Pod 找到新增Pod相关的所有的Service,并将这些Service的key,加入到queue中,等待处理1.2 update Pod 找到Pod更新引起的需要更新的Service,并将这些Service的key,加入到queue中,等待处理(1)判断新旧Pod本身及其label是否发生了变化(2)获取新Pod相关的Service(3)如果新旧Po
ovn-architecture 参考文章目录1 Name2 Description2.1 Information Flow in OVN(OVN中的信息流向)2.2 Chassis Setup2.3 Logical Networks2.4 Life Cycle of a VIF(VIF的生命周期)2.5 Life Cycle of a Container Interface Inside a VM2.6 Architectural Physical Life Cycle of a Packet2.6.1 数据和元数据字段说明2.6.2
ONOS意图框架 1 意图基本概念Intent是用于描述应用需求的不可变模型对象,ONOS核心根据其改变网络行为。在最低级别上,可以用以下方式描述意图,即意图的组成:1、Network Resource:一组对象模型,例如链路,它们绑定到受意图影响的网络部分。2、Constraints:应用于一组网络资源的权重,例如带宽,光频率和链路类型3、Criteria:数据包头字段或描述流量切片的模式。 Intent的TrafficSelector会将标准作为实现Criterion接口的一组对象进行承载。(对应流表项的匹配项
ubuntu 20.04 k8s(1.18.5)安装 文章目录配置各个节点的IP地址为静态IP地址查看指定k8s版本需要哪些镜像通过dockerhub拉取镜像构建脚本,填入所需的镜像版本信息,执行脚本(这个最好所有的节点都执行一下)查看imagesmaster节点initmaster节点执行worker节点执行(由master节点执行 kubeadm init生成)dashboard安装(UI)(1)使用kubectl proxy访问的情况1)创建dashboard服务2)访问dashboard(2)使用NodePort访问的情况(3)使用令牌登录(创建acc
ovs-ofctl 文章目录@[toc]ovs-ofctl语法COMMANDSOpenFlow Switch Management CommandsOpenFlow Switch Flow Table CommandsGroup Table CommandsOpenFlow 1.3+ Switch Meter Table CommandsOpenFlow Switch Bundle CommandOpenFlow Switch Tunnel TLV Table CommandOpenFlow Switch Monitoring
ovs-vsctl 文章目录@[toc]ovs-vsctl语法COMMANDSOpen vSwitch CommandsBridge CommandsPort CommandsBond CommandsInterface CommandsOpenFlow Controller ConnectivityManager ConnectivitySSL ConfigurationAuto-Attach CommandsDatabase Commands参考ovs-vsctl获取或者更改ovs-vswitchd的配置信息,此工
go http2 server push 及client push handle 示例 go http2 server push 及client push handle 示例1、项目初始化2、http2依赖替换(替换后client支持push handle)3、项目结构4、生成证书5、编写客户端及服务端代码6、测试(需要先用浏览器访问一遍,并选择信赖)1、项目初始化在GOPATH之外,创建一个新目录,并使用go mod init 初始化go.mod文件sudo mkdir -p /opt/workspace/gomod/http2democd /opt/workspace/gomo
ONOS 2.0 新增应用 ONOS 2.0 新增应用1、前置安装(参考)2、应用说明annotationx应用用于增加设备的扩展信息,包括设备的地理位置3、应用基本目录结构onos中的内部应用实现十分灵活,不同应用可以有不同的目录结构,通过分析已有的实现,选择了比较合理的目录结构。api负责提供北向接口,调用app提供的具体服务app负责具体服务实现BUILD文件负责应用的编译构建,其内容包括应用bund...
Ubuntu 16.04 RED5服务器搭建 1、JAVA环境搭建1.1 jdk下载选择jdk11下载链接中的jdk-11.0.6_linux-x64_bin.tar.gz下载1.2 JAVA环境配置将下载好的jdk拖入虚拟机桌面,并解压到/usr/local/java/jvm目录下cd ~sudo mkdir -p /usr/local/java/jvmsudo tar -zxvf ~/Desktop/jdk-11.0...
Ubuntu16.04 编译安装nginx及http2 push功能配置使用 1、前置依赖安装# 安装gccsudo apt-get install gcc# 安装 pcre依赖库sudo apt-get install libpcre3 libpcre3-dev# 安装 zlib依赖库sudo apt-get install zlib1g zlib1g-dev2、下载编译安装nginxcd /usr/local/srcsudo wget http:/...
ubuntu16.04 openssl-1.1.1d源码编译安装 ubuntu16.04 openssl源码编译安装1.卸载原有openssl#卸载原有的opensslsudo apt-get --purge remove openssl2.下载编译安装openssl-1.1.1dcd /usr/local/srcsudo wget https://www.openssl.org/source/openssl-1.1.1d.tar.gz --no-...
Ubuntu16.04 go开发环境构建 Ubuntu16.04 go安装1、下载go选择合适版本下载 链接地址2、解压到指定位置cd go包所在目录# 解压到opt目录下sudo tar -zxvf go1.13.4.linux-amd64.tar.gz -C /opt/3、创建工作区目录sudo mkdir -p /opt/workspace/go4、配置环境变量sudo geidt /etc/profi...
java HttpClient请求自签证书http2 服务器不受信任问题解决(unable to find valid certification path to requested target) 1 导出服务器证书(以chrome为例)点击url栏不安全->证书->详细信息->复制到文件->Base64编码X.509—>下一步->浏览保存(这里我取名http2.cer)2 利用ketool来导入证书到key store# 导入证书cd http2.cer所在目录keytool -import -alias http2 -file http2.c...
ns-3安装及python binding ns-3安装及python binding1 环境说明及前置依赖包1.1 环境说明ubuntu 16.041.2 前置依赖包sudo apt-get install gcc g++ python python-dev mercurial python-setuptools git qt5-default python-pygraphviz python-kiwi python-pyg...