自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

八月对半

一些乱七八糟学的东西

  • 博客(41)
  • 收藏
  • 关注

原创 K8s Informer

2023-08-24 14:10:51 134

原创 k8s client-go workqueue

1 基础队列1.1 基础队列接口type Interface interface { Add(item interface{}) // 向队列中添加一个元素,interface{}类型,说明可以添加任何类型的元素 Len() int // 队列长度,就是元素的个数 Get() (item interface{}, shutdown bool) // 从队列中获取一个元素,双返回值,这个

2022-03-05 09:58:40 486 1

原创 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

2022-03-03 11:15:30 1622

原创 kube-proxy BoundedFrequencyRunner导致死循环分析

kube-proxy使用了k8s官方工具库中的BoundedFrequencyRunner实现基于事件及时间间隔的配置同步1 BounderFrequencyRunner构建1.1 相关核心代码// name: Runner名称// func():目标方法// minInterval:最小时间间隔(2次目标方法调用的最小间隔)// maxInterval:最大时间间隔(2次目标方法调用的最大间隔,当没有事件时,以最大时间间隔执行)// burstRuns:允许突发func NewBounde

2022-03-02 11:19:29 300

原创 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

2021-04-08 20:36:12 232 1

原创 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:

2021-03-27 07:01:43 1817 19

原创 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

2020-10-22 11:28:45 367

原创 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

2020-10-17 18:05:51 723 1

原创 ONOS意图框架

1 意图基本概念Intent是用于描述应用需求的不可变模型对象,ONOS核心根据其改变网络行为。在最低级别上,可以用以下方式描述意图,即意图的组成:1、Network Resource:一组对象模型,例如链路,它们绑定到受意图影响的网络部分。2、Constraints:应用于一组网络资源的权重,例如带宽,光频率和链路类型3、Criteria:数据包头字段或描述流量切片的模式。 Intent的TrafficSelector会将标准作为实现Criterion接口的一组对象进行承载。(对应流表项的匹配项

2020-10-17 12:30:31 868 8

原创 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

2020-07-15 17:22:08 4164

原创 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

2020-07-15 14:47:39 3438

原创 ovs-vsctl

文章目录@[toc]ovs-vsctl语法COMMANDSOpen vSwitch CommandsBridge CommandsPort CommandsBond CommandsInterface CommandsOpenFlow Controller ConnectivityManager ConnectivitySSL ConfigurationAuto-Attach CommandsDatabase Commands参考ovs-vsctl获取或者更改ovs-vswitchd的配置信息,此工

2020-07-15 14:46:43 2187

原创 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

2020-06-23 22:36:20 669

原创 ONOS 2.0 新增应用

ONOS 2.0 新增应用1、前置安装(参考)2、应用说明annotationx应用用于增加设备的扩展信息,包括设备的地理位置3、应用基本目录结构onos中的内部应用实现十分灵活,不同应用可以有不同的目录结构,通过分析已有的实现,选择了比较合理的目录结构。api负责提供北向接口,调用app提供的具体服务app负责具体服务实现BUILD文件负责应用的编译构建,其内容包括应用bund...

2020-04-23 15:16:02 1049 11

原创 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...

2020-02-20 20:25:43 367

原创 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:/...

2019-11-26 18:50:41 381

原创 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-...

2019-11-26 15:43:17 2532 3

原创 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...

2019-11-12 19:32:01 309

原创 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...

2019-10-29 19:53:07 1409

原创 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...

2019-06-28 19:05:32 2272 1

原创 onos2.0构建docker image及启动集群

onos 构建docker image1 前置安装(docker)查看官网Docker CE2 添加sdn用户(我这里直接建立了一个虚拟机,用户就是sdn,这样就不需要第3步)#step1: 切换成 root登录#step2: adduser usernameadduser sdn#step3: 跟随系统提示完成 以后操作3 普通用户使用docker(这里主要是为了cluster...

2019-06-26 15:22:57 1260 3

原创 尝试运行onos中的IMR应用

尝试运行onos中的IMR应用参考地址1 ONOS-2.0.0编译安装2 下载并嵌入 IFWD 应用cd /optsudo mkdir imrTestcd imrTestsudo git clone -b ifwd-p2p-intents https://github.com/ANTLab-polimi/onos-app-samplescd onos-app-samples/ifw...

2019-06-26 15:21:39 496 2

原创 ovs源码编译安装

ovs编译安装1 卸载原有的ovs1.1 mininet或mininet-wifi里面的ovscd mininet或者mininet-wifi目录sudo util/instll.sh -r1.2 其它(这个其实我没有测过)sudo ovs-dpctl del-dp ovs-systemsudo rmmod openvswitch检查没有输出lsmod | grep open...

2019-05-09 20:31:33 2388

原创 FloodLight添加模块和增加自己的REST API

FloodLight添加模块和增加自己的REST APIubuntu16.04 + floodlight 1.2一、新增模块(可以参考现有的类,主要是不要忘记修改配置文件)STEP 1:创建服务接口,继承IFloodlightService类STEP 2:创建服务实现模块类,实现IFloodlightModule和其对应的服务接口STEP 3:模块类getModuleService...

2019-03-31 19:38:46 763

原创 onos2.0编译安装(npm install和 build问题解决)

onos编译安装1 前置下载安装1.1 前置包安装sudo apt-get install gitsudo apt-get install python#Oracle JDK8sudo apt-get install software-properties-common -y && \ sudo add-apt-repository ppa:webupd8team...

2019-03-18 16:59:48 8650 87

原创 Quagga编译安装

Quagga编译安装1 Quagga下载(1)官网下载quagga-1.2.4.tar.gz并拖入虚拟机桌面(2)解压到/opt目录下sudo tar -zxvf ~/Desktop/quagga-1.2.4.tar.gz -C /opt2 编译安装(1)前置安装sudo apt-get install -y build-essential gawk libreadline...

2019-02-24 18:57:23 2064 1

原创 Opendaylight(Oxygen版本)子项目构建

Opendaylight子项目构建1 前置安装1.1 git 工具sudo apt-get install git1.2 JDK 1.8 安装配置(1)官网下载jdk-8u162-linux-x64.tar.gz并拖入虚拟机桌面(2)创建安装目录,并解压cd /usr/localsudo mkdir javacd javasudo mkdir jvmsudo tar ...

2019-02-17 19:36:25 1602 4

原创 Bind9源代码分析

Bind9源代码分析1、串一遍resolver.c和dispacth.c里面的内容dns_resolver_prime(请求解析器开始一个fetch启动,如果它还没有启动。一些启动判断,然后进行了rdataset初始化,创建fetch)–>dns_resolver_createfetch(创建或从res桶区中获取一个fctx, 并为其新fetch绑定事件)–>fctx...

2018-12-04 15:35:44 3824

原创 编译安装NFD,并测试examples中的生产者和消费者

编译安装NFD,并测试examples中的生产者和消费者系统采用vm下ubuntu16.04一、编译安装NDN-CXX库1、下载NDN-CXXsudo git clone https://github.com/named-data/ndn-cxx2、下载安装所需要的库sudo apt-get install build-essential libcrypto++-dev libsql...

2018-12-03 14:37:42 969 10

原创 基于以太坊的DAPP实现

基于以太坊的DAPP实现系统采用vm下ubuntu16.04一、 以太坊介绍       以太坊是一个开源的有智能合约功能的公共区块链平台。通过其专用加密货币以太币(Ether)提供去中心化的虚拟机(“以太虚拟机” Ethereum Virtual Machine)来处理点对点合约。  &nbs...

2018-12-03 14:10:12 1926

原创 并行作业6:hadoop实现K-Means算法(鸢尾花数据集)

K-Means算法系统采用vm下ubuntu16.04一、 实验内容与要求在Eclipse环境下编写实现K-means算法。二、 实验数据与目标1、实验数据来源于http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data。实验数据文件名为iris.txt(鸢尾花数据集),数据大小为4.6KB。数据...

2018-12-03 13:32:00 4359 6

原创 并行作业5:Wiki网页PageRank算法

莎士比亚文集倒排索引算法系统采用vm下ubuntu16.04一、 实验内容与要求在Eclipse环境下编写实现Wiki网页数据集的PageRank算法,列出前30个最高PageRank的网页信息输出列表。二、 实验数据在网上找数据的时候没有找到,从师兄那里获取了wiki_0.txt,文件大小约为30MB,该数据包含了维基网页自身的描述信息,如网页标题、ID以及它所指向的其他网页。将...

2018-12-03 13:16:52 1608 4

原创 并行作业4:莎士比亚文集倒排索引算法

莎士比亚文集倒排索引算法系统采用vm下ubuntu16.04一、 数据准备(hadoop安装可以参考我前面的博客)1、下载莎士比亚文集,下载地址如下:http://labfile.oss.aliyuncs.com/courses/456/shakespear.zip2、将其拖入Linux虚拟机,然后在eclipse中,上传到hdfs。DFS Locations |--hado...

2018-12-03 13:06:56 1070

原创 并行作业3:在eclipse中开发MapReduce程序

在eclipse中开发MapReduce程序系统采用vm下ubuntu16.04一、eclipse安装(参考我的其它博客)二、eclipse配置1、下载hadoop-eclipse-plugin-2.7.3.jar插件,并将其拖到虚拟机桌面2、将其移动到/usr/local/java/ide/eclipse/plugins目录下cd ~/桌面sudo mv hadoop-eclips...

2018-12-03 12:58:09 628 1

原创 并行作业2:Ubuntu(16.04)下安装配置hadoop(2.7.3)

Ubuntu(16.04)下安装配置hadoop(2.7.3)系统采用vm下ubuntu16.04一、Java环境搭建(参考我的其它博客)二、安装ssh-server并实现免密码登录1、下载安装ssh-serversudo apt-get install openssh-server2、启动sshsudo /etc/init.d/ssh start3、设置免密码登录cd ~/...

2018-12-03 12:38:16 227

原创 并行作业1:MPI安装,及示例程序运行

运行MPI程序系统采用vm下ubuntu16.04一、MPI系统安装1.1 安装环境(1)操作系统:Ubuntu 16.04.4 (64位)。(2)g++ 版本:gcc version 5.4.01.2 安装包下载地址及安装包(1)下载地址:http://www.mpich.org/downloads/(2)安装包:mpich-3.2.1.tar.gz1.3安装与测试(1)将安...

2018-12-03 12:22:32 6940

原创 NDNlive复现

NDNlive复现系统采用vm下ubuntu16.04一、boost安装sudo apt-get install libboost-dev//安装校验sudo gedit test.cpp//文件内容#include<iostream>#include<boost/bind.hpp>using namespace std;using namespace...

2018-12-03 12:02:05 494 13

原创 ODL Oxygen源码安装

ODL Oxygen源码安装下载源码编译安装cd /optsudo mkdir ODLcd ODLsudo mkdir integrationcd integration#这个可以不git应该#sudo git clone https://git.opendaylight.org/gerrit/p/integration/packaging.git#获取源码sudo git c...

2018-12-03 11:31:54 1005

原创 FloodLight+Mininet安装及简单测试

FloodLight+Mininet安装及简单测试系统采用vm下ubuntu16.04一、前置依赖安装sudo apt-get install build-essential ant maven python-devsudo apt-get install git二、配置orcal jdk1、官网下载JDK文件,这里用的是如下版本jdk-8u162-linux-x64.tar.g...

2018-12-03 11:31:37 2069

原创 最近几个月区块链学习的总结

什么是区块链?比特币  一提起区块链,100百个人里面可能有99个会提到比特币,有人甚至认为区块链就是加密数字货币,这其实是对区块链的一种误解。区块链技术来源于比特币。比特币由中本聪于2008年提出,其目的在于构建完全通过对等技术实现的电子现金系统,中间不需要任何金融机构。中介金融机构的主要作用是在2个互不信任的交易双方之间搭建中转交易桥梁(A<—>M<—>B)...

2018-05-07 17:07:24 4084

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除