热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ppc64lecentos7安装confd并结合etcd实现haproxy的高可用

1.到http:rpmfind.net下载以下4个包:golang-1.6.2-1.fc24.ppc64le.rpmgolang-bin-1.6.2-1.fc24.ppc64le.
1. 到http://rpmfind.net/下载以下4个包:

golang-1.6.2-1.fc24.ppc64le.rpm
golang-bin-1.6.2-1.fc24.ppc64le.rpm
golang-src-1.6.2-1.fc24.noarch.rpm
go-srpm-macros-2-3.fc23.noarch.rpm

2. yum -y install golang*.rpm

3. 设置GOPATH变量为 $HOME,即:
export GOPATH=$HOME

4. 安装gb
 go get github.com/constabulary/gb/...

5. 下载 confd-0.11.0的tar.gz包
cd confd-0.11.0
./build && ./install

6. cat > /usr/lib/systemd/system/confd.service <[Unit]
Description=Confd
After=haproxy.service

[Service]
ExecStart=/usr/bin/confd
Restart=always

[Install]
WantedBy=basic.target
EOF

7. 创建一个配置和模版目录
mkdir -p /etc/confd/{conf.d,templates}

8. 创建confd的主配置(全局配置)文件,此文件用于设置与etcd服务器相关的一些设置,配置如下:
cat > /etc/confd/confd.toml <confdir = "/etc/confd"#指定confd的主配置目录
interval = 20 #指定间隔多长时间与etcd同步更新
backend = "etcd"#指定后端的键值存储服务器的类型,如:etcd、consul、zookeeper
nodes = [#指定列出后端的节点,可以有多个
        "http://172.16.0.204:4001"         #此地址为etcd服务器的地址
]
prefix = "/" #键的前缀是什么
scheme = "http"#指定后端的scheme,如:http、https
verbose = true
EOF

9. 在/etc/confd/conf.d 里面生成指定应用的配置文件,此处为haproxy.toml,配置如下:
cat > /etc/confd/confd.toml <[template]
src = "haproxy.cfg.tmpl"#定义配置文件的模板名称,此文件存放于/etc/confd/templates
dest = "/etc/haproxy/haproxy.cfg"#要被同步的haproxy的配置文件路径
keys = [
"/backend"#指定后端存放键值的目录
]

reload_cmd = "/usr/bin/systemctl reload haproxy"#更新同步完配置文件后,重新加载haproxy服务
EOF

10. 生成haproxy.cfg.tmpl模板文件
.
.
(略)
.
.
frontend http-in
    bind *:8080
    acl homepage    path_reg    ^/$
    acl status      path_beg    /haproxyadmin

    redirect location   /hds/       if homepage

    use_backend         status      if status
    default_backend     app

backend status
    stats enable
    stats hide-version
    stats uri     /haproxyadmin?stats
    stats realm   Haproxy\ Statistics
    stats auth    admin:admin
    stats admin if TRUE

backend app
    balance source
    option httpclose
    option forwardfor

    {{range gets "/backend/*"}}#range表示循环,gets表示获取键值对
        server {{base .Key}} {{.Value}} check maxconn 1000#base .Key 类似于Linux命令basename;.Value表示键所对应的值。
    {{end}}


11. systemctl enable /etc/systemd/system/confd.service
systemctl start /etc/systemd/system/confd.service

注:后端etcd服务器配置如下:
curl http://172.16.0.204:4001/v2/keys/backend/app1 -XPUT -d value='172.16.1.45:8080'
curl http://172.16.0.204:4001/v2/keys/backend/app2 -XPUT -d value='172.16.0.204:8080'


本文出自 “一切皆有可能” 博客,请务必保留此出处http://noican.blog.51cto.com/4081966/1773834


推荐阅读
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 本文介绍了如何使用vue-awesome-swiper组件,包括在main.js中引入和使用swiper和swiperSlide组件,以及设置options和ref属性。同时还介绍了如何在模板中使用swiper和swiperSlide组件,并展示了如何通过循环渲染swipes数组中的数据,并使用picUrl属性显示图片。最后还介绍了如何添加分页器。 ... [详细]
  • 本文介绍了如何使用elementui分页组件进行分页功能的改写,只需一行代码即可调用。通过封装分页组件,避免在每个页面都写跳转请求的重复代码。详细的代码示例和使用方法在正文中给出。 ... [详细]
author-avatar
手机用户2502935287_564
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有