vpp+vpp-agent+etcd环境搭建和测试

注:先安装go,因为etcd和vpp-agent都需要使用go开发的,所以需要go环境的支持

go安装过程如下:

(1)官网下载对应链接:

链接:https://golang.google.cn/dl/

centos7下使用:wget https://dl.google.com/go/go1.13.linux-amd64.tar.gz(前提先有wget命令)

wget安装:yum -y install wget

(2)解压到/usr/local/目录下:

tar -xvf go1.12.linux-amd64.tar.gz -C /usr/local/

(3)把/usr/local/go/bin路径添加到环境变量PATH中

#修改.bashrc文件:

vim ~/.bashrc

#在最后一行添上:

export PATH=/usr/local/go/bin:$PATH

#生效方法:(有以下两种)

临时生效:1、关闭当前终端窗口,重新打开一个新终端窗口就能生效

永久生效:2、输入“source ~/.bashrc”命令,立即生效

到目前为止算是安装完成,可以使用go命令。比如go env:查看go环境。

发现默认的GOPATH为/root/go

所以可以在/root目录下创建go目录,也可以指定其他的目录为GOPATH;

也可以直接通过yum -y install  go来安装;

配置

安装完成后,通过go env查看环境变量,需要注意的有两个:

1.GOROOT就是Go安装路径。已经设置好了不需要在设置。

2.GOPATH就是依赖包的安装路径。设置了默认路径/root/go,如果想修改,可以参考上面步骤为GOPATH添加新的路径。

Go1.12为环境变量GOPROXY设置了默认路径:https://proxy.golang.org,direct。但是由于某些因素,这个使用不了,你懂的。所以七牛云为中国的gopher提供了一个免费合法的代理goproxy.cn,其已经开源。只需一条简单命令就可以使用该代理:

go env -w GOPROXY=https://goproxy.cn,direct

配置完GOPATH之后,GPOPATH目录下

应该有三个目录:

bin:生成的可执行文件,可以手动创建;

pkg:安装的依赖包,一般安装依赖后会自动创建;

src:你的源码,手动创建,里面可以根据自己的项目再次创建多层文件夹;还有一些使用go get从其他网站下载的,也会以文件夹的格式命名,并将代码保存到该目录下的对应文件夹中

常用命令

go install 的编译过程有如下规律:

  • go install 是建立在 GOPATH 上的,无法在独立的目录里使用 go install。
  • GOPATH 下的 bin 目录放置的是使用 go install 生成的可执行文件,可执行文件的名称来自于编译时的包名。
  • go install 输出目录始终为 GOPATH 下的 bin 目录,无法使用-o附加参数进行自定义。
  • GOPATH 下的 pkg 目录放置的是编译期间的中间文件。

go get 命令可以借助代码管理工具通过远程拉取或更新代码包及其依赖包,并自动完成编译和安装。整个过程就像安装一个 App 一样简单。

这个命令可以动态获取远程代码包,目前支持的有 BitBucket、GitHub、Google Code 和 Launchpad。在使用 go get 命令前,需要安装与远程包匹配的代码管理工具,如 Git、SVN、HG 等,参数中需要提供一个包名。

这个命令在内部实际上分成了两步操作:第一步是下载源码包,第二步是执行 go install。下载源码包的 go 工具会自动根据不同的域名调用不同的源码工具,对应关系如下:

BitBucket (Mercurial Git)

GitHub (Git)

Google Code Project Hosting (Git, Mercurial, Subversion)

Launchpad (Bazaar)

所以为了 go get 命令能正常工作,你必须确保安装了合适的源码管理工具,并同时把这些命令加入你的 PATH 中。

说明:

go get可以在任意目录执行

使用go get时,ssh不能启动代理,不然会报错超时

etcd

安装

yum安装

编译安装:

Install | etcd

如果git clone和go get安装时都特别特别慢,可以选用下面的安装方法:

去GitHub releases page:Releases · etcd-io/etcd · GitHub

根据自己的系统下载对应的软件包,下载完成后解压。

(使用wget工具直接下载下来,速度很快,使用wget时,依然要开启ssh的代理,不过具体环境还是要自己测试,开不开哪个速度更快,我这里开了更快)

进入到解压的目录,将etcd和etcdctl可执行文件移动到$GOPATH/bin目录下。然后执行命令etcd --version,同样会看到版本信息。

补充说明:

因为etcd是go语言编写的,安装只需要下载对应的二进制文件,并放到合适的路径就行

常用命令

查看etcd信息

./etcd -version

启动:

前台启动:./etcd

后台启动:nohup ./etcd >/tmp/etcd.log 2>&1 & # 日志文件输出到/tmp/etcd.log目录

添加key value

./etcdctl put key value

返回ok则表示添加成功

获取key对应的value

./etcdctl get key

./etcdctl get --prefix  /   #查看指定目录下的kye value

删除键值对:

./etcdctl del key

设置环境变量

echo 'export ETCDCTL_API=3' >> /etc/profile # 环境变量添加 ETCDCTL_API=3

source /etc/profile # 使profile中修改的文件生效

./etcdctl get key #获取key对应的value

REST API

etcd支持rest风格的接口,可直接利用curl直接与etcd交互

查看基本信息

curl http://127.0.0.1:2379/version

默认2379和2380端口只在127.0.0.1机器上监听,即本机

可以使用ss -tnl查看端口监听情况;

 

若想通过机器ip访问则需要启动时指定ip:

./etcd --listen-client-urls http://0.0.0.0:2379 --advertise-client-urls http://0.0.0.0:2379 --listen-peer-urls http://0.0.0.0:2380

# 后台启动

nohup ./etcd --listen-client-urls http://0.0.0.0:2379 --advertise-client-urls http://0.0.0.0:2379 --listen-peer-urls http://0.0.0.0:2380 > /tmp/etcd.log 2>&1 &

0.0.0.0:2379 表示任何ip都可以访问

curl http://192.168.72.31:2379/version # 也可以通过本机IP访

补充说明

etcd在键的组织上采用了层次化的空间结构(类似于文件系统中目录的概念),用户指定的键可以为单独的名字,如:testkey,此时实际上放在根目录/下面,也可以为指定目录结构,如/cluster1/node2/testkey,则将创建相应的目录结构

./etcdctl get --prefix /

查看/ 目录下的所有键值对,这里可以指定要查看的目录

vpp-agent

安装启动

流程

直接从github上clone下来用就行了

GitHub - ligato/vpp-agent: ⚡️ Control plane management agent for FD.io's VPP

git clone https://github.com/ligato/vpp-agent.git

执行make 下面这几个

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值