Skip to content

Commit 53ae656

Browse files
author
Jonathan S. Katz
committed
Updates to installation instructions and other guidance
A periodic pass through the installation instructions and other general updates to the documentation.
1 parent cd08c8b commit 53ae656

File tree

31 files changed

+167
-162
lines changed

31 files changed

+167
-162
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<h1 align="center">PGO: The Postgres Operator from Crunchy Data</h1>
22
<p align="center">
3-
<img width="150" src="crunchy_logo.png" alt="Crunchy Data"/>
3+
<img width="150" src="./docs/static/pgo.svg" alt="PGO: The Postgres Operator from Crunchy Data"/>
44
</p>
55

66
[![Go Report Card](https://goreportcard.com/badge/github.com/CrunchyData/postgres-operator)](https://goreportcard.com/report/github.com/CrunchyData/postgres-operator)

crunchy_logo.png

-165 KB
Binary file not shown.

docs/content/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ draft: false
66

77
# PGO: The Postgres Operator from Crunchy Data
88

9-
<img width="25%" src="crunchy_logo.png"/>
9+
<img width="25%" src="pgo.svg" alt="PGO: The Postgres Operator from Crunchy Data" />
1010

1111
## Run [Cloud Native PostgreSQL on Kubernetes](https://www.crunchydata.com/products/crunchy-postgresql-for-kubernetes/) with PGO: The [Postgres Operator](https://github.com/CrunchyData/postgres-operator) from [Crunchy Data](https://www.crunchydata.com/)!
1212

docs/content/installation/_index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ draft: false
55
weight: 40
66
---
77

8-
There are several different ways to install and deploy the [PostgreSQL Operator](https://www.crunchydata.com/developers/download-postgres/containers/postgres-operator)
8+
There are several different ways to install and deploy the [PGO, the Postgres Operator](https://www.crunchydata.com/developers/download-postgres/containers/postgres-operator)
99
based upon your use case.
1010

11-
For the vast majority of use cases, we recommend using the [PostgreSQL Operator Installer]({{< relref "/installation/postgres-operator.md" >}}),
11+
For the vast majority of use cases, we recommend using the [Postgres Operator Installer]({{< relref "/installation/postgres-operator.md" >}}),
1212
which uses the `pgo-deployer` container to set up all of the objects required to
1313
run the PostgreSQL Operator.
1414

docs/content/installation/configuration.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ draft: false
55
weight: 40
66
---
77

8-
# PostgreSQL Operator Installer Configuration
8+
# PGO Installer Configuration
99

10-
When installing the PostgreSQL Operator you have many configuration options, these
10+
When installing PGO, the Postgres Operator you have many configuration options, these
1111
options are listed in this section.
1212

1313
## General Configuration

docs/content/installation/metrics/other/ansible/_index.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@ draft: false
55
weight: 10
66
---
77

8-
# Crunchy Data PostgreSQL Operator Monitoring Playbooks
8+
# PGO: Postgres Operator Monitoring Playbooks
99

10-
The Crunchy Data PostgreSQL Operator Monitoring Playbooks contain [Ansible](https://www.ansible.com/)
10+
PGO, the Postgres Operator from Crunchy Data, Monitoring Playbooks contain [Ansible](https://www.ansible.com/)
1111
roles for installing and managing the [Crunchy Data PostgreSQL Operator Monitoring infrastructure]({{< relref "/installation/other/ansible/installing-operator.md" >}}).
1212

1313
## Features
1414

1515
The playbooks provided allow users to:
1616

17-
* install PostgreSQL Operator Monitoring on Kubernetes and OpenShift
18-
* install PostgreSQL Operator from a Linux, Mac or Windows (Ubuntu subsystem) host
17+
* install PGO Monitoring on Kubernetes and OpenShift
18+
* install PGO from a Linux, Mac or Windows (Ubuntu subsystem) host
1919
* support a variety of deployment models
2020

2121
## Resources

docs/content/installation/other/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@ weight: 50
66
---
77

88
Though the years, we have built up several other methods for installing the
9-
PostgreSQL Operator. The next few sections provide some alternative ways of
9+
PGO. The next few sections provide some alternative ways of
1010
deploying the PostgreSQL Operator. Some of these methods are deprecated and may
1111
be removed in a future release.

docs/content/installation/other/ansible/_index.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@ draft: false
55
weight: 100
66
---
77

8-
# Crunchy Data PostgreSQL Operator Playbooks
8+
# PGO: Postgres Operator Playbooks
99

10-
The Crunchy Data PostgreSQL Operator Playbooks contain [Ansible](https://www.ansible.com/)
10+
PGO, the Postgres Operator from Crunchy Data, Playbooks contain [Ansible](https://www.ansible.com/)
1111
roles for installing and managing the [Crunchy Data PostgreSQL Operator]({{< relref "/installation/other/ansible/installing-operator.md" >}}).
1212

1313
## Features
1414

1515
The playbooks provided allow users to:
1616

17-
* install PostgreSQL Operator on Kubernetes and OpenShift
18-
* install PostgreSQL Operator from a Linux, Mac or Windows (Ubuntu subsystem) host
17+
* install PGO on Kubernetes and OpenShift
18+
* install PGO from a Linux, Mac or Windows (Ubuntu subsystem) host
1919
* generate TLS certificates required by the PostgreSQL Operator
2020
* support a variety of deployment models
2121

docs/content/installation/other/bash.md

Lines changed: 40 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,18 @@ draft: false
55
weight: 100
66
---
77

8-
A full installation of the Operator includes the following steps:
8+
A full installation of PGO includes the following steps:
99

10-
- get the Operator project
10+
- get the PGO project
1111
- configure your environment variables
12-
- configure Operator templates
12+
- configure PGO templates
1313
- create security resources
1414
- deploy the operator
15-
- install pgo CLI (end user command tool)
15+
- install `pgo` client (end user command tool)
1616

17-
Operator end-users are only required to install the pgo CLI client on their host and can skip the server-side installation steps. pgo CLI clients are provided for Linux, Mac, and Windows clients.
17+
PGO end-users are only required to install the `pgo` client on their host and can skip the server-side installation steps. `pgo` clients are provided for Linux, Mac, and Windows clients.
1818

19-
The Operator can be deployed by multiple methods including:
19+
PGO can be deployed by multiple methods including:
2020

2121
* default installation
2222
* Ansible playbook installation
@@ -25,7 +25,7 @@ The Operator can be deployed by multiple methods including:
2525

2626
## Default Installation - Get Project
2727

28-
The Operator project is hosted on GitHub. You can get a copy using `git clone`:
28+
The PGO source code is made available on GitHub. You can get a copy using `git clone`:
2929

3030
git clone -b v{{< param operatorVersion >}} https://github.com/CrunchyData/postgres-operator.git
3131
cd postgres-operator
@@ -53,9 +53,9 @@ for Kubernetes events. This value is set as follows:
5353
This means namespaces called *pgouser1* and *pgouser2* will be
5454
created as part of the default installation.
5555

56-
{{% notice warning %}}In Kubernetes versions prior to 1.12 (including Openshift up through 3.11), there is a limitation that requires an extra step during installation for the operator to function properly with watched namespaces. This limitation does not exist when using Kubernetes 1.12+. When a list of namespaces are provided through the NAMESPACE environment variable, the setupnamespaces.sh script handles the limitation properly in both the bash and ansible installation.
56+
{{% notice warning %}}In Kubernetes versions prior to 1.12 (including Openshift up through 3.11), there is a limitation that requires an extra step during installation for PGO to function properly with watched namespaces. This limitation does not exist when using Kubernetes 1.12+. When a list of namespaces are provided through the NAMESPACE environment variable, the setupnamespaces.sh script handles the limitation properly in both the bash and ansible installation.
5757

58-
However, if the user wishes to add a new watched namespace after installation, where the user would normally use pgo create namespace to add the new namespace, they should instead run the add-targeted-namespace.sh script or they may give themselves cluster-admin privileges instead of having to run setupnamespaces.sh script. Again, this is only required when running on a Kubernetes distribution whose version is below 1.12. In Kubernetes version 1.12+ the pgo create namespace command works as expected.
58+
However, if the user wishes to add a new watched namespace after installation, where the user would normally use `pgo create namespace` to add the new namespace, they should instead run the add-targeted-namespace.sh script or they may give themselves cluster-admin privileges instead of having to run setupnamespaces.sh script. Again, this is only required when running on a Kubernetes distribution whose version is below 1.12. In Kubernetes version 1.12+ the pgo create namespace command works as expected.
5959

6060
{{% /notice %}}
6161

@@ -77,13 +77,13 @@ Create the Operator namespaces using the Makefile target:
7777
The [Design](/design) section of this documentation talks further about
7878
the use of namespaces within the Operator.
7979

80-
## Default Installation - Configure Operator Templates
80+
## Default Installation - Configure PGO Templates
8181

82-
Within the Operator [*PGO_CONF_DIR*](/developer-setup/) directory are several configuration files and templates used by the Operator to determine the various resources that it deploys on your Kubernetes cluster, specifically the PostgreSQL clusters it deploys.
82+
Within PGO's [*PGO_CONF_DIR*](/developer-setup/) directory are several configuration files and templates used by PGO to determine the various resources that it deploys on your Kubernetes cluster, specifically the PostgreSQL clusters it deploys.
8383

84-
When you install the Operator you must make choices as to what kind of storage the Operator has to work with for example. Storage varies with each installation. As an installer, you would modify these configuration templates used by the Operator to customize its behavior.
84+
When you install PGO you must make choices as to what kind of storage the Operator has to work with for example. Storage varies with each installation. As an installer, you would modify these configuration templates used by the Operator to customize its behavior.
8585

86-
**Note**: when you want to make changes to these Operator templates and configuration files after your initial installation, you will need to re-deploy the Operator in order for it to pick up any future configuration changes.
86+
**Note**: when you want to make changes to these PGO templates and configuration files after your initial installation, you will need to re-deploy the Operator in order for it to pick up any future configuration changes.
8787

8888
Here are some common examples of configuration changes most installers would make:
8989

@@ -105,12 +105,10 @@ Listed above are the *pgo.yaml* sections related to storage choices. *PrimarySt
105105

106106
This sort of configuration allows for a PostgreSQL primary and replica to use different storage if you want. Other storage settings like *AccessMode*, *Size*, *StorageType*, and *StorageClass* further define the storage configuration. Currently, NFS, HostPath, and Storage Classes are supported in the configuration.
107107

108-
As part of the Operator installation, you will need to adjust these storage settings to suit your deployment requirements. For users wanting to try
108+
As part of PGO installation, you will need to adjust these storage settings to suit your deployment requirements. For users wanting to try
109109
out the Operator on Google Kubernetes Engine you would make the
110110
following change to the storage configuration in pgo.yaml:
111111

112-
113-
114112
For NFS Storage, it is assumed that there are sufficient Persistent Volumes (PV) created for the Operator to use when it creates Persistent Volume Claims (PVC). The creation of Persistent Volumes is something a Kubernetes cluster-admin user would typically provide before installing the Operator. There is an example script which can be used to create NFS Persistent Volumes located here:
115113

116114
./pv/create-nfs-pv.sh
@@ -130,11 +128,11 @@ Operator.
130128

131129
Other settings in *pgo.yaml* are described in the [pgo.yaml Configuration](/configuration/pgo-yaml-configuration) section of the documentation.
132130

133-
## Operator Security
131+
## PGO Security
134132

135-
The Operator implements its own RBAC (Role Based Access Controls) for authenticating Operator users access to the Operator REST API.
133+
PGO implements its own RBAC (Role Based Access Controls) for authenticating Operator users access to the PGO REST API.
136134

137-
A default admin user is created when the operator is deployed. Create a .pgouser in your home directory and insert the text from below:
135+
A default admin user is created when PGO is deployed. Create a .pgouser in your home directory and insert the text from below:
138136

139137
```
140138
admin:examplepassword
@@ -152,7 +150,7 @@ To create a unique administrator user on deployment of the operator edit this fi
152150
$PGOROOT/deploy/install-bootstrap-creds.sh
153151
```
154152

155-
After installation users can create optional Operator users as follows:
153+
After installation users can create optional PGO users as follows:
156154

157155
```
158156
pgo create pgouser someuser --pgouser-namespaces="pgouser1,pgouser2" --pgouser-password=somepassword --pgouser-roles="somerole,someotherrole"
@@ -161,13 +159,13 @@ pgo create pgouser someuser --pgouser-namespaces="pgouser1,pgouser2" --pgouser-p
161159
Note, you can also store the pgouser file in alternate locations, see the
162160
Security documentation for details.
163161

164-
Operator security is discussed in the Security section [Security](/security) of the documentation.
162+
PGO security is further discussed in the section [Security]({{< relref "security/_index.md" >}}) section of the documentation.
165163

166164
Adjust these settings to meet your local requirements.
167165

168166
## Default Installation - Create Kubernetes RBAC Controls
169167

170-
The Operator installation requires Kubernetes administrators to create Resources required by the Operator. These resources are only allowed to be created by a cluster-admin user. To install on Google Cloud, you will need a user
168+
PGO installation requires Kubernetes administrators to create Resources required by PGO. These resources are only allowed to be created by a cluster-admin user. To install on Google Cloud, you will need a user
171169
account with cluster-admin privileges. If you own the GKE cluster you
172170
are installing on, you can add cluster-admin role to your account as
173171
follows:
@@ -180,9 +178,9 @@ Tor create the Kubernetes RBAC used by the Operator, run the following as a clus
180178

181179
make installrbac
182180

183-
This set of Resources is created a single time unless a new Operator
181+
This set of Resources is created a single time unless a new PGO
184182
release requires these Resources to be recreated. Note that when you
185-
run *make installrbac* the set of keys used by the Operator REST API and
183+
run *make installrbac* the set of keys used by the PGO REST API and
186184
also the pgbackrest ssh keys are generated.
187185

188186
Verify the Operator Custom Resource Definitions are created as follows:
@@ -194,14 +192,15 @@ You should see the *pgclusters* CRD among the listed CRD resource types.
194192
See the Security documentation for a description of the various RBAC
195193
resources created and used by the Operator.
196194

197-
## Default Installation - Deploy the Operator
195+
## Default Installation - Deploy PGO
196+
198197
At this point, you as a normal Kubernetes user should be able to deploy the Operator. To do this, run the following Makefile target:
199198

200199
make deployoperator
201200

202-
This will cause any existing Operator to be removed first, then the configuration to be bundled into a ConfigMap, then the Operator Deployment to be created.
201+
This will cause any existing PGO installation to be removed first, then the configuration to be bundled into a ConfigMap, then the Operator Deployment to be created.
203202

204-
This will create a postgres-operator Deployment and a postgres-operator Service.Operator administrators needing to make changes to the Operator
203+
This will create a postgres-operator Deployment and a postgres-operator Service.Operator administrators needing to make changes to the PGO
205204
configuration would run this make target to pick up any changes to pgo.yaml,
206205
pgo users/roles, or the Operator templates.
207206

@@ -212,17 +211,20 @@ created using the default installation by running the following:
212211

213212
make cleannamespaces
214213

215-
This will permanently delete each namespace the Operator installation
214+
This will permanently delete each namespace the PGO installation
216215
created previously.
217216

218217

219-
## pgo CLI Installation
220-
Most users will work with the Operator using the *pgo* CLI tool. That tool is downloaded from the GitHub Releases page for the Operator (https://github.com/crunchydata/postgres-operator/releases). Crunchy Enterprise Customer can download the pgo binaries from https://access.crunchydata.com/ on the downloads page.
218+
## `pgo` client Installation
221219

222-
The *pgo* client is provided in Mac, Windows, and Linux binary formats,
220+
Most users will work with the Operator using the `pgo` client. That tool is downloaded from the GitHub Releases page for the Operator (https://github.com/crunchydata/postgres-operator/releases). Crunchy Data customers can download the `pgo` binaries from https://access.crunchydata.com/ on the downloads page.
221+
222+
The `pgo` client is provided in Mac, Windows, and Linux binary formats,
223223
download the appropriate client to your local laptop or workstation to work
224224
with a remote Operator.
225225

226+
You can also use the `pgo-client` container.
227+
226228
{{% notice info %}}
227229

228230
If TLS authentication was disabled during installation, please see the [TLS Configuration Page] ({{< relref "Configuration/tls.md" >}}) for additional configuration information.
@@ -240,9 +242,9 @@ Prior to using *pgo*, users testing the Operator on a single host can specify th
240242
pgo version
241243
```
242244

243-
That URL address needs to be reachable from your local *pgo* client host. Your Kubernetes administrator will likely need to create a network route, ingress, or LoadBalancer service to expose the Operator REST API to applications outside of the Kubernetes cluster. Your Kubernetes administrator might also allow you to run the Kubernetes port-forward command, contact your administrator for details.
245+
That URL address needs to be reachable from your local `pgo` client host. Your Kubernetes administrator will likely need to create a network route, ingress, or LoadBalancer service to expose the PGO REST API to applications outside of the Kubernetes cluster. Your Kubernetes administrator might also allow you to run the Kubernetes port-forward command, contact your administrator for details.
244246

245-
Next, the *pgo* client needs to reference the keys used to secure the Operator REST API:
247+
Next, the `pgo` client needs to reference the keys used to secure the PGO REST API:
246248

247249
```
248250
export PGO_CA_CERT=$PGOROOT/conf/postgres-operator/server.crt
@@ -254,7 +256,7 @@ You can also specify these keys on the command line as follows:
254256

255257
pgo version --pgo-ca-cert=$PGOROOT/conf/postgres-operator/server.crt --pgo-client-cert=$PGOROOT/conf/postgres-operator/server.crt --pgo-client-key=$PGOROOT/conf/postgres-operator/server.key
256258

257-
{{% notice tip %}} if you are running the Operator on Google Cloud, you would open up another terminal and run *kubectl port-forward ...* to forward the Operator pod port 8443 to your localhost where you can access the Operator API from your local workstation.
259+
{{% notice tip %}} if you are running PGO on Google Cloud, you would open up another terminal and run *kubectl port-forward ...* to forward the Postgres Operator pod port 8443 to your localhost where you can access the PGO API from your local workstation.
258260
{{% /notice %}}
259261

260262
At this point, you can test connectivity between your laptop or workstation and the Postgres Operator deployed on a Kubernetes cluster as follows:
@@ -265,7 +267,7 @@ You should get back a valid response showing the client and server version numbe
265267

266268
## Verify the Installation
267269

268-
Now that you have deployed the Operator, you can verify that it is running correctly.
270+
Now that you have deployed PGO, you can verify that it is running correctly.
269271

270272
You should see a pod running that contains the Operator:
271273

@@ -276,10 +278,10 @@ You should see a pod running that contains the Operator:
276278

277279
That pod should show 3 of 3 containers in *running* state and that the operator is installed into the *pgo* namespace.
278280

279-
The sample environment script, examples/env.sh, if used creates some bash functions that you can use to view the Operator logs. This is useful in case you find one of the Operator containers not in a running status.
281+
The sample environment script, examples/env.sh, if used creates some bash functions that you can use to view the Postgres Operator logs. This is useful in case you find one of the PGO containers not in a running status.
280282

281-
Using the pgo CLI, you can verify the versions of the client and server match as follows:
283+
Using the `pgo` client, you can verify the versions of the client and server match as follows:
282284

283285
pgo version
284286

285-
This also tests connectivity between your pgo client host and the Operator server.
287+
This also tests connectivity between your `pgo` client host and Postgres Operator container.

0 commit comments

Comments
 (0)