Ansible Role 键值存储 之【consul】

Ansible Role: consul

安装consul

介绍

consul是HashiCorp公司推出的一款开源工具,用于实现分布式系统的服务发现与配置。与其他类似产品相比,提供更“一站式”的解决方案。consul内置有KV存储,服务注册/发现,健康检查,HTTP+DNS API,Web UI等多种功能。

官方地址: https://www.consul.io/
github: https://github.com/hashicorp/consul
官方文档地址:https://www.consul.io/docs

要求

此角色仅在RHEL及其衍生产品上运行。

测试环境

ansible 2.2.1.0
os Centos 6.7 X64

角色变量

software_files_path: "/opt/software"
software_install_path: "/usr/local"

consul_version: "0.7.5"

consul_file: "consul_{{ consul_version }}_linux_amd64.zip"
consul_file_path: "{{ software_files_path }}/{{ consul_file }}"
consul_file_url: "https://releases.hashicorp.com/consul/{{ consul_version }}/{{ consul_file }}"

consul_user: "consul"
consul_server_port: 8300
consul_rpc_port: 8400
consul_http_port: 8500
consul_dns_port: 8600
consul_ip_bind: "{{ ansible_default_ipv4.address }}"
consul_client_bind: "0.0.0.0"

consul_home: "/consul_data"
consul_datadir: "{{ consul_home }}/data"
consul_confdir: "{{ consul_home }}/conf"
consul_dc: "dc1"
consul_loglevel: "INFO"
consul_server: true
consul_ui: true
consul_nodename: "{{ ansible_hostname }}"

consul_bootstrap_expect: 1
consul_bootstrap: false
consul_dev: false
consul_encrypt: false
consul_start_join: []

依赖

supervisor

github地址

https://github.com/kuailemy123/Ansible-roles/tree/master/consul

Example Playbook

安装consul:
- hosts: 192.168.77.129
  vars:
    supervisor_name: consul
    supervisor_stopsignal: INT
    supervisor_program: 
      - { name: 'consul', command: 'consul agent -config-file /consul_data/conf/basic_config.json', user: 'consul' }
  roles:
   - { role: consul }
   - { role: python2.7 }
   - { role: supervisor }


分布式安装:
端口默认
- hosts: 192.168.77.129
  roles:
    - { role: consul, consul_bootstrap: true }

- hosts: 192.168.77.130 192.168.77.131
  roles:
   - { role: consul, consul_bootstrap_expect: false, consul_start_join: ["192.168.77.129"]}

- hosts: 192.168.77.132
  roles:
  - { role: consul, consul_server: false, consul_start_join: ["192.168.77.129"]}

- hosts: all
  vars:
    supervisor_name: consul
    supervisor_stopsignal: INT
    supervisor_program: 
      - { name: 'consul', command: 'consul agent -config-file /consul_data/conf/basic_config.json', user: 'consul' }
  roles:
   - { role: python2.7 }
   - { role: supervisor }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,028评论 19 139
  • 0x00 @Before 上次Ansible自动部署入门,最后写了点playbook的项目,了解了一些如task,...
    MaxZing阅读 10,944评论 4 19
  • Ansible Role: kafka 安装kafka集群 介绍 kafka是HashiCorp公司推出的一款开源...
    lework阅读 4,535评论 0 0
  • 一致性哈希算法是分布式系统中常用的算法。比如,一个分布式的存储系统,要将数据存储到具体的节点上,如果采用普通的ha...
    数齐阅读 3,803评论 0 4
  • 1 昨晚12点多,我看完公众号后台数据,正准备睡觉。 有个头像是中年男人的微信跳出了一句话:“美女,没钱做吗?” ...
    华玉珺阅读 4,690评论 4 13

友情链接更多精彩内容