From 6306ece820ea6d2bc1f36385ce6f4317a1d48d20 Mon Sep 17 00:00:00 2001 From: Vonng Date: Thu, 6 May 2021 12:09:09 +0800 Subject: [PATCH] update README.md to v0.9 --- Makefile | 10 ++- README.md | 223 +++++++++++++++++++++++++++++++++------------------- img/gui.jpg | Bin 0 -> 82877 bytes 3 files changed, 147 insertions(+), 86 deletions(-) create mode 100644 img/gui.jpg diff --git a/Makefile b/Makefile index 702c20a38..bcd703d51 100644 --- a/Makefile +++ b/Makefile @@ -7,6 +7,7 @@ # Copyright (C) 2018-2021 Ruohang Feng #==============================================================# +# the latest version of pigsty is 0.9 VERSION=0.9 # make default will pull up vm nodes @@ -31,7 +32,7 @@ install: # BUT if your meta node DOES NOT HAVE INTERNET ACCESS # You may have to copy/ftp/scp pkg.tgz & pigsty.tgz into meta node manually pkg: - bin/get_pkg + bin/get_pkg ${VERSION} # install ansible and init infrastructure meta: boot infra @@ -77,10 +78,11 @@ deps: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" brew install vagrant virtualbox ansible -# download pigsty resources (and copy to files/pkg.tgz ) +# download pigsty resources (to files/release/v*.*/{pkg,pigsty}.tgz) download: pkg - cp -f /tmp/pkg.tgz files/pkg.tgz - curl -fsSL https://pigsty.cc/pigsty.tgz -o files/pigsty.tgz + mkdir files/release/v${VERSION}/ + cp -f /tmp/pkg.tgz files/release/v${VERSION}/pkg.tgz + curl -fsSL https://pigsty.cc/pigsty.tgz -o files/release/v${VERSION}/pigsty.tgz # start will pull-up node and write ssh-config start: up ssh sync diff --git a/README.md b/README.md index 277ecb198..03a620bbd 100644 --- a/README.md +++ b/README.md @@ -2,44 +2,61 @@ > [PIGSTY](http://pigsty.cc): Postgres in Graphic STYle -[Pigsty](https://pigsty.cc/en/) is a **monitoring** system that is specially designed for large scale PostgreSQL clusters. Along with a production-grade HA PostgreSQL cluster **provisioning** solution. +[Pigsty](https://pigsty.cc/zh/) delivers the **BEST** open source **monitoring** solution for PostgreSQL. Along with the **easiest provisioning** solution for large scale proudction-grade database clusters. + +It can be used both for large-scale pg clusters management in real-world prod-env, and for launching battery-included single pg instance for dev & demo purpose in a simple and fast way. ![](img/logo.svg) -Check [official site](https://pigsty.cc/en/ ) for more information:https://pigsty.cc/en/ | 中文站点:[https://pigsty.cc/zh/](](https://pigsty.cc/zh/)) +Check [**OFFICIAL SITE**](https://pigsty.cc/en/ ) for more information:[**https://pigsty.cc/en/**](https://pigsty.cc/en/) | 中文站点:[**https://pigsty.cc/zh/**](](https://pigsty.cc/zh/)) -> The latest version of pigsty is [v0.8](https://github.com/Vonng/pigsty/releases/tag/v0.8.0). Under RC status with guaranteed API stability. +> The latest version of pigsty is [v0.9](https://github.com/Vonng/pigsty/releases/tag/v0.9.0). > -> The final 1.0 GA version will be released on 2021-06-01. +> The final 1.0 GA version will be released near June~July 2021 + + ## Highlights -* [Monitoring](#monitoring) System based on prometheus & grafana & [`pg_exporter`](https://github.com/Vonng/pg_exporter) +* [Monitoring]() System based on prometheus & grafana & [`pg_exporter`](https://github.com/Vonng/pg_exporter) * [Provisioning](#provisioning) Solution based on ansible. Kubernetes style, scale at ease. * [HA Deployment](#ha-deployment) based on patroni. Self-healing and failover in seconds * [Service Discovery](#service-discovery) based on DCS (consul / etcd), maintenance made easy. * [Offline Installation](#offline-installation) without Internet access. Fast and reliable. * Infrastructure as Code. Fully configurable and customizable. -* Based on PostgreSQL 13 and Patroni 2. Tested under CentOS 7 +* Based on PostgreSQL 13 and Patroni 2. Verified in proudction environment (CentOS 7, 200+nodes) ## Quick Start -If you already have [vagrant](https://www.vagrantup.com/), [virtualbox](https://www.virtualbox.org/) and [ansible](https://docs.ansible.com/) installed. Try local sandbox with one command. -Clone this repo. And run following commands under project directory, pigsty will setup everything for you. +Prepare a CentOS 7.x meta node with **ssh** & **root** access. ```bash -cd /tmp && git clone git@github.com:Vonng/pigsty.git && cd pigsty -make up # pull up all vagrant nodes -make ssh # setup vagrant ssh access -make init # init infrastructure and databaes clusters -sudo make dns # write static DNS record to your host (sudo required) -make mon-view # monitoring system home page (default: admin:admin) +curl -fsSL https://pigsty.cc/pigsty.tgz | gzip -d | tar -xC ~ && cd ~/pigsty # src code +bin/ipconfig # ipconfig +make pkg # download +make meta # launch ``` -> Verified Environment:: MacOS 11, Vagrant 2.2.14, Virtualbox 6.1.16 -Check [Quick Start](http://pigsty.cc/en/docs/sandbox/) for detailed steps and more information. +Check documentation for more information. + + + +> ## Get Node +> +> The easiest way to get a node is using cloud-services. But if you wish to run pigsty on your laptop. You can either create CentOS 7.8 vm nodes with software such as vmware, parallel desktop, virtualbox manually. Or just leave it to [vagrant](https://github.com/Vonng/pigsty/blob/master/vagrant/Vagrantfile). For MacOS users, these makefile shortcuts will setup a vm node (ip: 10.10.10.10) on your Mac host using [virtualbox](https://www.virtualbox.org/wiki/Downloads). After that everything is same as [Quick Start](#quick-start). +> +> ```bash +> cd /tmp && git clone git@github.com:Vonng/pigsty.git && cd pigsty +> make deps # Install MacOS deps with homebrew: vagrant virtualbox ansible +> make download # Download packages to files/release/v*.*/{pkg,pigsty}.tgz +> make start # launch vagrant vm nodes based on vagrant/Vagrantfile +> make dns # write static DNS record to your host (sudo required) +> make copy # copy pigsty resource to vagrant meta vm node +> ``` +> +> Verified Environment:: MacOS 11, Vagrant 2.2.14, Virtualbox 6.1.16 @@ -53,6 +70,8 @@ Pigsty provides a battery-included [Monitoring System](https://pigsty.cc/en/docs ![](img/overview2.jpg) + + ### Provisioning PostgreSQL cluster comes before monitoring system. That's why pigsty is shipping with a [Provisioning Solution](https://pigsty.cc/en/docs/concept/provision/). @@ -63,16 +82,24 @@ It allows you to create, update, scale, and manage your postgres cluster in kube vi pigsty.yml # edit configuration to define new clusters ./infra.yml # provision infrastructure on meta node ./pgsql.yml -l # provision new clusters/instasnces -./pgsql-remove.yml -l # remove clusters/instances ``` Here is an example base on vagrant 4-node demo. The default configuration file is [`pigsty.yml`](pigsty.yml) -This [Vagrantfile](vagrant/Vagrantfile) defines four nodes: `meta` , `node-1` , `node-2`, `node-3`. - -Check [Architecture Overview](https://pigsty.cc/en/docs/concepts/architecture/) for more information. +This [Vagrantfile](vagrant/Vagrantfile) defines four nodes: `meta` , `node-1` , `node-2`, `node-3`. Check [Architecture Overview](https://pigsty.cc/en/docs/concepts/architecture/) for more information. ![](img/infra.jpg) +And you can also mange cluster with pigsty [CLI](https://github.com/Vonng/pigsty-cli) & GUI (beta) + +
+Pigsty GUI (beta) + +![](img/gui.jpg) + +
+ + + ### High Availability Pigsty has HA Deployment powered by [Patroni 2.0](https://github.com/zalando/patroni). @@ -90,6 +117,9 @@ Each instance is **idempotent**, Pigsty uses a 'NodePort' approach to expose dif | default | 5436 | read-write/interactive | direct to primary 5432 | | offline | 5438 | read-only/interactive | direct to offline 5432 | + + + ### Infrastructure as Code Define infrastructure and new database clusters with declarative configurations. @@ -100,20 +130,14 @@ Creating a new database cluster `pg-test` with three nodes only require 6 lines pg-test: # - cluster members - # hosts: - 10.10.10.11: {pg_seq: 1, pg_role: primary, ansible_host: node-1} - 10.10.10.12: {pg_seq: 2, pg_role: replica, ansible_host: node-2} - 10.10.10.13: {pg_seq: 3, pg_role: offline, ansible_host: node-3} + 10.10.10.11: {pg_seq: 1, pg_role: primary} + 10.10.10.12: {pg_seq: 2, pg_role: replica} + 10.10.10.13: {pg_seq: 3, pg_role: offline} # - cluster config - # vars: { pg_cluster: pg-test } # cluster name ``` -And run [playbooks](https://pigsty.cc/en/docs/deploy/playbook/) to *instanlize* that cluster: - -```bash -./pgsql.yml -l pg-test -``` -
Complex One @@ -121,25 +145,41 @@ And run [playbooks](https://pigsty.cc/en/docs/deploy/playbook/) to *instanlize* #----------------------------- # cluster: pg-meta #----------------------------- +# pg-meta is a single-node pgsql cluster deployed on meta node (10.10.10.10) pg-meta: # - cluster members - # hosts: - 10.10.10.10: {pg_seq: 1, pg_role: primary, ansible_host: meta} + 10.10.10.10: {pg_seq: 1, pg_role: primary, pg_offline_query: true} # - cluster configs - # vars: pg_cluster: pg-meta # define actual cluster name pg_version: 13 # define installed pgsql version node_tune: tiny # tune node into oltp|olap|crit|tiny mode - pg_conf: tiny.yml # tune pgsql into oltp/olap/crit/tiny mode + pg_conf: tiny.yml # tune pgsql into oltp|olap|crit|tiny mode patroni_mode: pause # enter maintenance mode, {default|pause|remove} patroni_watchdog_mode: off # disable watchdog (require|automatic|off) pg_lc_ctype: en_US.UTF8 # enabled pg_trgm i18n char support + # - defining business users - # pg_users: - # complete example of user/role definition for production user - - name: dbuser_meta # example production user have read-write access - password: DBUser.Meta # example user's password, can be encrypted + # default production read-write user dbuser_meta + - name: dbuser_meta # user's name is required + password: md5d3d10d8cad606308bdb180148bf663e1 # md5 password is acceptable + pgbouncer: true # add user to pgbouncer userlist + roles: [dbrole_readwrite] # grant roles to user + comment: default production read-write user for meta database + + # default production read-only user for grafana direct access + - name: dbuser_grafana + password: DBUser.Grafana + pgbouncer: true + roles: [dbrole_readonly] + comment: default readonly access for grafana datasource + + # complete example of user/role definition + - name: dbuser_pigsty # pigsty user have admin access (DDL|DML) + password: DBUser.Pigsty # example user's password, can be md5 encrypted login: true # can login, true by default (should be false for role) superuser: false # is superuser? false by default createdb: false # can create database? false by default @@ -147,79 +187,97 @@ pg-meta: inherit: true # can this role use inherited privileges? replication: false # can this role do replication? false by default bypassrls: false # can this role bypass row level security? false by default - connlimit: -1 # connection limit, -1 disable limit - expire_at: '2030-12-31' # 'timestamp' when this role is expired - expire_in: 365 # now + n days when this role is expired (OVERWRITE expire_at) - roles: [dbrole_readwrite] # dborole_admin|dbrole_readwrite|dbrole_readonly pgbouncer: true # add this user to pgbouncer? false by default (true for production user) - parameters: # user's default search path - search_path: public - comment: test user - - # simple example for personal user definition - - name: dbuser_vonng # personal user example which only have limited access to offline instance - password: DBUser.Vonng # or instance with explict mark `pg_offline_query = true` - roles: [dbrole_offline] # personal/stats/ETL user should be grant with dbrole_offline - expire_in: 365 # expire in 365 days since creation - pgbouncer: false # personal user should NOT be allowed to login with pgbouncer - comment: example personal user for interactive queries - + connlimit: -1 # connection limit, -1 disable limit + expire_in: 3650 # now + n days when this role is expired (OVERWRITE expire_at) + expire_at: '2030-12-31' # 'timestamp' when this role is expired (OVERWRITTEN by expire_in) + comment: pigsty admin user # comment on user/role + roles: [dbrole_admin] # dbrole_{admin,readonly,readwrite,offline} + parameters: # additional role level parameters with ALTER ROLE SET + search_path: pigsty,public # add pigsty schema into search_path + + # - defining business databases - # pg_databases: - name: meta # name is the only required field for a database + baseline: metadb/schema.sql # pigsty meta database baseline owner: postgres # optional, database owner template: template1 # optional, template1 by default - encoding: UTF8 # optional, UTF8 by default , must same as template database, leave blank to set to db default - locale: C # optional, C by default , must same as template database, leave blank to set to db default - lc_collate: C # optional, C by default , must same as template database, leave blank to set to db default - lc_ctype: C # optional, C by default , must same as template database, leave blank to set to db default + encoding: UTF8 # optional, UTF8 by default , must same as template database, leave blank to set to db default + locale: C # optional, C by default , must same as template database, leave blank to set to db default + lc_collate: C # optional, C by default , must same as template database, leave blank to set to db default + lc_ctype: C # optional, C by default , must same as template database, leave blank to set to db default + tablespace: pg_default # optional, 'pg_default' is the default tablespace allowconn: true # optional, true by default, false disable connect at all revokeconn: false # optional, false by default, true revoke connect from public # (only default user and owner have connect privilege on database) - # tablespace: pg_default # optional, 'pg_default' is the default tablespace - connlimit: -1 # optional, connection limit, -1 or none disable limit (default) - extensions: # optional, extension name and where to create - - {name: postgis, schema: public} - parameters: # optional, extra parameters with ALTER DATABASE - enable_partitionwise_join: true pgbouncer: true # optional, add this database to pgbouncer list? true by default comment: pigsty meta database # optional, comment string for database + connlimit: -1 # optional, connection limit, -1 or none disable limit (default) + schemas: [pigsty] # optional, create additional schema + extensions: # optional, extension name and which schema to create + - {name: adminpack, schema: pg_catalog} + parameters: # optional, extra parameters with ALTER DATABASE + search_path: 'pigsty,public' # add pigsty to search_path + log_min_duration_statement: 10 # log all action on meta database pg_default_database: meta # default database will be used as primary monitor target - - # proxy settings - vip_mode: l2 # enable/disable vip (require members in same LAN) + vip_mode: l2 # none|l2|l4, l2 vip are used in sandbox demo vip_address: 10.10.10.2 # virtual ip address vip_cidrmask: 8 # cidr network mask length vip_interface: eth1 # interface to add virtual ip ``` + +And run [playbooks](https://pigsty.cc/en/docs/deploy/playbook/) to *instanlize* that cluster: + +```bash +./pgsql.yml -l pg-test +``` +
-There are 156 [parameters](http://pigsty.cc/en/docs/config/entry/) that controls every aspect of Pigsty. Check [configuration guide](https://pigsty.cc/en/docs/config/) for more detail. -| No | Category | Args | Function | -| :--: | :----------------------------------------------------------: | :--: | ------------------------------------------------------------ | -| 1 | [connect](http://pigsty.cc/en/docs/config/1-connect) | 1 | Connection parameters and proxy setting | -| 2 | [repo](http://pigsty.cc/en/docs/config/2-repo) | 10 | local yum and offline installation | -| 3 | [node](http://pigsty.cc/en/docs/config/3-node) | 29 | common setup for all nodes | -| 4 | [meta](http://pigsty.cc/en/docs/config/4-meta) | 21 | infrastructure on meta nodes | -| 5 | [dcs](http://pigsty.cc/en/docs/config/5-dcs) | 8 | dcs service (consul/etcd) | -| 6 | [pg-install](http://pigsty.cc/en/docs/config/6-pg-install) | 11 | install postgres, extensions, users, directories, scripts, utils | -| 7 | [pg-provision](http://pigsty.cc/en/docs/config/7-pg-provision) | 25 | bootstrap postgres cluster and identity assignment | -| 8 | [pg-template](http://pigsty.cc/en/docs/config/8-pg-template) | 19 | customize postgres cluster template | -| 9 | [monitor](http://pigsty.cc/en/docs/config/9-monitor) | 13 | install monitoring components | -| 10 | [service](http://pigsty.cc/en/docs/config/10-service) | 17 | expose database service | + +There are 160+ [parameters](http://pigsty.cc/en/docs/config/entry/) that controls every aspect of Pigsty. Check [configuration guide](https://pigsty.cc/en/docs/config/) for more information. + + +
+Configuration Entries + +| No | Category | Function | +| :--: | :----------------------------------------------------------: | ------------------------------------------------------------ | +| 1 | [connect](http://pigsty.cc/en/docs/config/1-connect) | Connection parameters and proxy setting | +| 2 | [repo](http://pigsty.cc/en/docs/config/2-repo) | local yum and offline installation | +| 3 | [node](http://pigsty.cc/en/docs/config/3-node) | common setup for all nodes | +| 4 | [meta](http://pigsty.cc/en/docs/config/4-meta) | infrastructure on meta nodes | +| 5 | [dcs](http://pigsty.cc/en/docs/config/5-dcs) | dcs service (consul/etcd) | +| 6 | [pg-install](http://pigsty.cc/en/docs/config/6-pg-install) | install postgres, extensions, users, directories, scripts, utils | +| 7 | [pg-provision](http://pigsty.cc/en/docs/config/7-pg-provision) | bootstrap postgres cluster and identity assignment | +| 8 | [pg-template](http://pigsty.cc/en/docs/config/8-pg-template) | customize postgres cluster template | +| 9 | [monitor](http://pigsty.cc/en/docs/config/9-monitor) | install monitoring components | +| 10 | [service](http://pigsty.cc/en/docs/config/10-service) | expose database service | + + +
### Service Discovery -Pigsty is integrated with [Service Discovery](https://pigsty.cc/en/docs/concept/monitor/identity/) based on DCS (consul/etcd). All service are automatically register to DCS. Which eliminate lots of manual maintenance work. And you can check health status about all nodes and service in an intuitive way. +Pigsty is integrated with [Service Discovery](https://pigsty.cc/en/docs/concept/monitor/identity/) based on DCS (consul/etcd). All service are automatically register to DCS. Which eliminate lots of manual maintenance work. And you can check health status about all nodes and service in an intuitive way. -Consul is the only DCS that is supported (etcd will be added further). You can use consul as DNS service provider to achieve DNS based traffic routing. +
+Consul SD Implementation + +Consul is the only DCS that is currently supported. You can use consul as DNS service provider to achieve DNS based traffic routing. ![](img/service-discovery.jpg) +Pigsty can also use static file discovery for prometheus, which would eliminate the need of consul for monitoring. + +
+ + ### Offline Installation @@ -241,13 +299,13 @@ Pigsty comes with a local Yum repo that includes all required packages and its d **Minimal setup** -* Self-contained single node, singleton database `pg-meta` +* Self-contained, single meta node, singleton pgsql cluster `pg-meta` * Minimal requirement: 1 CPU Core & 2 GB RAM -**Standard setup ( TINY mode, vagrant demo)** +**Demo setup ( TINY mode, vagrant demo)** -* 4 Node, including single meta node, singleton database cluster `pg-meta` and 3-instances database cluster `pg-test` -* Recommend Spec: 2Core/4GB for meta controller node, 1Core/1GB for database node +* 4 Node, including single meta node, singleton database cluster `pg-meta` and 3-instances pgsql cluster `pg-test` +* Spec: 2Core/4GB for meta controller node, 1Core/1GB for database node (x3) **Production setup (OLTP/OLAP/CRIT mode)** @@ -257,6 +315,7 @@ Pigsty comes with a local Yum repo that includes all required packages and its d + ## Support [Business Support](https://pigsty.cc/en/docs/business/) for pigsty is available. diff --git a/img/gui.jpg b/img/gui.jpg new file mode 100644 index 0000000000000000000000000000000000000000..27e46758e9bf3965f74665bd0769142b690732f9 GIT binary patch literal 82877 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�@G<9}JhI9TeAKJYB(YZK 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 LcHTqt>fHYVQ#zn% literal 0 HcmV?d00001