1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-pigsty

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
install.yml 4.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Vonng Отправлено 20.02.2023 06:13 b1ccbaa
#!/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 (rh@vonng.com)
# 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 } ]
...

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-pigsty.git
git@api.gitlife.ru:oschina-mirror/mirrors-pigsty.git
oschina-mirror
mirrors-pigsty
mirrors-pigsty
master