制作适用于树莓派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上。
-
- 用gcc编译golang 1.4版本
-
- 用1.4版本编译golang 1.5版本
-
- 从github克隆consul的源代码
-
- 用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目录中将生成各个环境所需的二进制文件,请将所需的文件复制过去。