|
| 1 | +# PE Extra Large architecture classification # |
| 2 | + |
| 3 | +## Overview |
| 4 | + |
| 5 | +This reference implementation uses four non-default node classification groups to implement the Extra Large HA architecture. Intentionally, classification of default, out-of-box node groups is not modified. This allows normal commands such as `puppet infrastructure enable replica` to behave more or less exactly as they would in Standard or Large architecture deployments. |
| 6 | + |
| 7 | +This image shows a fully expanded view of the PE Infrastructure node group, highlighting the new additions made to support the Extra Large archtecture. |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | +## Node Groups |
| 12 | + |
| 13 | +The new groups are: |
| 14 | + |
| 15 | +* PE Master A |
| 16 | +* PE Master B |
| 17 | +* PE Compile Master Group A |
| 18 | +* PE Compile Master Group B |
| 19 | + |
| 20 | +The configuration applied in each group looks as follows: |
| 21 | + |
| 22 | +### PE Master A |
| 23 | + |
| 24 | + |
| 25 | + |
| 26 | +Notes for PE Master A: |
| 27 | + |
| 28 | +* The (initial) Primary Master is the only member of this node group |
| 29 | +* Sets as data two parameters |
| 30 | + * `puppet_enterprise::profile::primary_master_replica::database_host_puppetdb` |
| 31 | + * `puppet_enterprise::profile::puppetdb::database_host` |
| 32 | +* Sets both parameters to the name of the PuppetDB PostgreSQL node paired with this master |
| 33 | +* Uses a different PuppetDB PostgreSQL node than PE Master B |
| 34 | + |
| 35 | +### PE Master B |
| 36 | + |
| 37 | + |
| 38 | +Notes for PE Master B: |
| 39 | + |
| 40 | +* The (initial) Primary Master Replica is the only member of this node group |
| 41 | +* Sets as data two parameters |
| 42 | + * `puppet_enterprise::profile::primary_master_replica::database_host_puppetdb` |
| 43 | + * `puppet_enterprise::profile::puppetdb::database_host` |
| 44 | +* Sets both parameters to the name of the PuppetDB PostgreSQL node paired with this master |
| 45 | +* Uses a different PuppetDB PostgreSQL node than PE Master A |
| 46 | + |
| 47 | +### PE Compile Master Group A |
| 48 | + |
| 49 | + |
| 50 | +Notes for PE Compile Master Group A: |
| 51 | + |
| 52 | +* Half of the compile masters are members of this group |
| 53 | +* Applies the `puppet_enterprise::profile::puppetdb` class |
| 54 | +* Sets the `puppet_enterprise::profile::puppetdb::database_host` parameter |
| 55 | + * Should be set to `"pdb-pg-a"`, where "pdb-pg-a" is the name of the PuppetDB PostgreSQL database host paired with the (initial) Primary Master |
| 56 | +* Modifies the `puppet_enterprise::profile::master::puppetdb_host` parameter |
| 57 | + * Should be set to `[${clientcert}, "master-b"]`, where "master-b" is the name of the (initial) Primary Master Replica. |
| 58 | + * If you have a load balancer for the compile masters in PE Compile Master Group B port 8081, you should use that load balancer address instead of "master-b" |
| 59 | +* Modifies the `puppet_enterprise::profile::master::puppetdb_port` parameter |
| 60 | + * Should be set to `[8081]` |
| 61 | + |
| 62 | +### PE Compile Master Group B |
| 63 | + |
| 64 | + |
| 65 | +Notes for PE Compile Master Group B: |
| 66 | + |
| 67 | +* The other half of the compile masters (those not in the PE Compile Master Group A node group) are members of this group |
| 68 | +* Applies the `puppet_enterprise::profile::puppetdb` class |
| 69 | +* Sets the `puppet_enterprise::profile::puppetdb::database_host` parameter |
| 70 | + * Should be set to `"pdb-pg-b"`, where "pdb-pg-b" is the name of the PuppetDB PostgreSQL database host paired with the (initial) Primary Master Replica |
| 71 | +* Modifies the `puppet_enterprise::profile::master::puppetdb_host` parameter |
| 72 | + * Should be set to `[${clientcert}, "master-a"]`, where "master-a" is the name of the PuppetDB PostgreSQL node paired with the (initial) Primary Master Replica. |
| 73 | + * If you have a load balancer for the compile masters in PE Compile Master Group A port 8081, you should use that load balancer address instead of "master-a" |
| 74 | +* Modifies the `puppet_enterprise::profile::master::puppetdb_port` parameter |
| 75 | + * Should be set to `[8081]` |
0 commit comments