热门标签 | 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


推荐阅读
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • 本文探讨了 Kafka 集群的高效部署与优化策略。首先介绍了 Kafka 的下载与安装步骤,包括从官方网站获取最新版本的压缩包并进行解压。随后详细讨论了集群配置的最佳实践,涵盖节点选择、网络优化和性能调优等方面,旨在提升系统的稳定性和处理能力。此外,还提供了常见的故障排查方法和监控方案,帮助运维人员更好地管理和维护 Kafka 集群。 ... [详细]
  • MySQL 5.7 服务端在 Windows 上的安装与配置
    本文详细介绍了在 Windows 系统上安装和配置 MySQL 5.7 服务端的方法,包括 my.ini 配置文件的设置、初始化数据库、启动服务以及设置用户权限等步骤。 ... [详细]
  • Spring 中策略模式的应用:Resource 接口详解
    本文探讨了在 Spring 框架中如何利用 Resource 接口实现资源访问策略。Resource 接口作为资源访问策略的抽象,通过多种实现类支持不同类型的资源访问。 ... [详细]
  • centos 7.0 lnmp成功安装过程(很乱)
    下载nginx[rootlocalhostsrc]#wgethttp:nginx.orgdownloadnginx-1.7.9.tar.gz--2015-01-2412:55:2 ... [详细]
  • 一、Tomcat安装后本身提供了一个server,端口配置默认是8080,对应目录为:..\Tomcat8.0\webapps二、Tomcat8.0配置多个端口,其实也就是给T ... [详细]
  • Spring 中 Bean 信息定义的三种方法探讨
    本文详细探讨了 Spring 框架中实现 Bean 信息定义的三种方法:基于 XML 配置、基于注解配置和基于 Java 类配置。每种方法都有其适用场景和优缺点。 ... [详细]
  • 本文详细介绍了如何在 Linux 系统上安装 JDK 1.8、MySQL 和 Redis,并提供了相应的环境配置和验证步骤。 ... [详细]
  • 基于iSCSI的SQL Server 2012群集测试(一)SQL群集安装
    一、测试需求介绍与准备公司计划服务器迁移过程计划同时上线SQLServer2012,引入SQLServer2012群集提高高可用性,需要对SQLServ ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • 本文介绍了如何在 Python 脚本中规范文件编码,并提供了在不同字符集之间进行转换的方法,特别是在处理中文字符时的注意事项。 ... [详细]
  • 申请地址:https://developer.apple.com/appstore/contact/?topic=expedite 常见申请理由:1. 我们即将发布新产品,这是一个媒体活动,我们无法承担任何风险,因此在多个方面努力提升应用质量。 ... [详细]
  • 【转】强大的矩阵奇异值分解(SVD)及其应用
    在工程实践中,经常要对大矩阵进行计算,除了使用分布式处理方法以外,就是通过理论方法,对矩阵降维。一下文章,我在 ... [详细]
  • 在尝试将 mysqldump 文件加载到新的 MySQL 服务器时,遇到因使用保留关键字 'table' 导致的语法错误。 ... [详细]
  • 阿里云 Aliplayer高级功能介绍(八):安全播放
    如何保障视频内容的安全,不被盗链、非法下载和传播,阿里云视频点播已经有一套完善的机 ... [详细]
author-avatar
厉害了
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有