制作适用于树莓派2的consul(201512版本)

2015年12月10日 – 更新
虽然consul 0.6.0已正式发布,但二进制分发中已加入了ARM Linux。
如果只想在树莓派上运行,以下步骤将不再需要。


由于我们开始使用Consul来管理我们自己的服务器集群,所以我想在Raspberry Pi上安装Consul。
但是,由于Hashicorp没有针对ARM Linux的二进制发行版本,所以只能从源代码进行构建。

参考下列文章可创建Raspberry Pi版。

在Android智能手机等设备上运行ARM版本的Consul。

在上述文章中,consul版本为0.5.0,但是如果从代码库中获取最新的代码,版本会变成0.6.0 RC2。(截至2015年12月8日)

由于0.6.0版本的构建情况有很大变化,所以本文将记录这些修正内容。

在构建版本0.6.0的Consul时的更改

    • golang 1.5 以上が必須となります

 

    • golang 1.5 のビルドには golang 1.4 以上が必須となります

Raspbian のパッケージだと golang 1.3.3 なのでこれに頼らず自分で golang をビルドすることになります

golang 1.5 のクロスコンパイルはよくできているので、x64 の Linux 上でビルドが可能です

RaspberryPi でビルドするよりはるかに早く終わらせることができます

因此,作为步骤,在x86_64的Linux上。

    1. 用gcc编译golang 1.4版本

 

    1. 用1.4版本编译golang 1.5版本

 

    1. 从github克隆consul的源代码

 

    1. 用golang 1.5版本编译consul

 

    由于golang的交叉编译器都能进行交叉编译,所以把ARM Linux版本传输到RaspberryPi并使用它。

建议是去做。

操作步骤 xù)

克隆 Golang 1.4 的源代码

git clone -b release-branch.go1.4 https://go.googlesource.com/go $HOME/go1.4

我进入源代码目录并开始构建。

cd go1.4/src/
./make.bash

获取golang 1.5的源代码。

wget https://storage.googleapis.com/golang/go1.5.2.src.tar.gz
tar xvf go1.5.2.src.tar.gz 
mv go go1.5

进入源代码目录并开始构建

cd go1.5/src/
./make.bash

在设置中添加go1.5的bin路径,并配置GOPATH。

echo "PATH=\$PATH:\$HOME/go1.5/bin" >> ~/.bashrc
echo "PATH=\$PATH:\$HOME/go/bin" >> ~/.bashrc
echo "export GOPATH=$HOME/go" >> ~/.bashrc
mkdir go
source ~/.bashrc 

准备一个src文件夹,然后克隆consul源代码。

cd $GOPATH
mkdir -p src/github.com/hashicorp/
cd src/github.com/hashicorp/
git clone https://github.com/hashicorp/consul.git

请安装zip命令,并构建consul。

cd consul/
make

构建完成后,pkg目录中将生成各个环境所需的二进制文件,请将所需的文件复制过去。

广告
将在 10 秒后关闭
bannerAds