代码拉取完成,页面将自动刷新
#!/usr/bin/env ansible-playbook
---
#==============================================================#
# File : install.yml
# Desc : install everything on all nodes
# Ctime : 2021-01-19
# Mtime : 2023-02-20
# Path : install.yml
# Author : Ruohang Feng ([email protected])
# License : AGPLv3
#==============================================================#
#==============================================================#
# install.yml will interleave infra.yml & node.yml in following
# orders to set up everything in one pass
# - id : generate node & pgsql identity
# - ca : create self-signed CA on localhost
# - repo : create local yum repo on infra nodes
# - node-init : init node, haproxy & docker
# - infra : init nginx, dns, prometheus, grafana
# - node-monitor : init node-exporter promtail
# - etcd : init etcd (required for pgsql HA)
# - minio : init minio (optional)
# - pgsql : init pgsql
#
# Which is equivalent to the following 4 playbooks altogether:
# - infra.yml -l infra deploy infrastructure on group 'infra'
# - node.yml -l all init all nodes
# - etcd.yml -l etcd init etcd on group 'etcd' for pg ha
# - minio.yml -l minio init minio on group 'minio' for pg backup
# - pgsql.yml -l all init pgsql database clusters on all nodes
#==============================================================#
#---------------------------------------------------------------
# setup node & pgsql identity
#---------------------------------------------------------------
- name: IDENTITY
hosts: all
gather_facts: no
tags: id
roles:
- { role: node_id ,tags: node-id }
- { role: pg_id ,tags: pg-id ,when: pg_cluster is defined }
#---------------------------------------------------------------
# Setup local CA
#---------------------------------------------------------------
- name: CA
become: yes
hosts: localhost
gather_facts: no
tags: ca
roles: [ { role: ca } ]
#---------------------------------------------------------------
# bootstrap a local yum repo
#---------------------------------------------------------------
- name: REPO
become: yes
hosts: infra
gather_facts: no
tags: repo
roles: [ { role: repo } ]
#---------------------------------------------------------------
# init node , ca, docker
#---------------------------------------------------------------
- name: NODE INIT
become: yes
hosts: all
gather_facts: no
tags: node-init
roles:
- { role: node ,tags: node } # prepare node for pigsty
- { role: haproxy ,tags: haproxy } # init haproxy if enabled
#---------------------------------------------------------------
# init dns, nginx, prometheus, grafana
#---------------------------------------------------------------
- name: INFRA INIT
become: yes
hosts: infra
gather_facts: no
tags: infra
roles: [ { role: infra } ]
#---------------------------------------------------------------
# Node Monitor
#---------------------------------------------------------------
- name: NODE MONITOR
become: yes
hosts: all
gather_facts: no
tags: node-monitor
roles: [ { role: node_monitor } ]
#---------------------------------------------------------------
# ETCD INIT
#---------------------------------------------------------------
- name: ETCD INIT
become: yes
hosts: etcd
gather_facts: no
tags: etcd
roles: [ { role: etcd } ] # init etcd on fixed group 'etcd'
#---------------------------------------------------------------
# MINIO INIT
#---------------------------------------------------------------
- name: MINIO INIT
become: yes
hosts: minio
gather_facts: no
tags: minio
roles: [ { role: minio } ] # init minio on fixed group 'minio'
#---------------------------------------------------------------
# INIT PGSQL
#---------------------------------------------------------------
- name: PGSQL INIT # init pgsql on all nodes
become: yes # with pg_cluster defined
hosts: all
gather_facts: no
tags: pgsql
roles: [ { role: pgsql ,when: pg_cluster is defined } ]
...
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。