Skip to content

Commit 8759159

Browse files
committed
Add classification documentation
To explain how the node groups created to support the extra large architecture are laid out and work
1 parent 44d8e25 commit 8759159

8 files changed

+95
-1
lines changed

Diff for: README.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,13 @@ Note pending more detailed instructions:
1010
* This deployment assumes that at least for PE infrastructure nodes, Puppet certnames are correct, resolvable FQDNs.
1111
* This deployment assumes the control repository to manage PE is independent of the normal "customer" control-repo.
1212

13+
## Documentation
14+
15+
See this README file and any documents in the [docs](docs) directory.
16+
1317
## Architecture
1418

15-
![architecture](architecture.png)
19+
![architecture](docs/images/architecture.png)
1620

1721
## Installation
1822

Diff for: docs/classification.md

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
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+
![PE Classification tree](images/pe-xl-classification.png)
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+
![PE Master A group](images/pe-master-a.png)
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+
![PE Master B group](images/pe-master-b.png)
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+
![PE Compile Master Group A group](images/pe-compile-master-group-a.png)
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+
![PE Compile Master Group B group](images/pe-compile-master-group-b.png)
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]`
File renamed without changes.

Diff for: docs/images/pe-compile-master-group-a.png

+3
Loading

Diff for: docs/images/pe-compile-master-group-b.png

+3
Loading

Diff for: docs/images/pe-master-a.png

+3
Loading

Diff for: docs/images/pe-master-b.png

+3
Loading

Diff for: docs/images/pe-xl-classification.png

+3
Loading

0 commit comments

Comments
 (0)