Basic Setup

Setting up your environment

The first thing that you will need is a Kubernetes or Openshift environment running a supported version. You can see all of the versions in our documentation. You can deploy to your environment locally, in the cloud, or even run it via a managed Kubernetes offering.

You will also need to insure that you have a modern version of git installed locally, as well as kubectl installed and configured on your local workstation. You can install those from your OS's package manager. You can refer to the reference for git if you are not already familiar with it, or you need to install it by hand. You can also visit the kubectl reference for more information about how to install and use this tool.

Once you have your tools and environment set up, we can move on to installing Crunchy Postgres for Kubernetes.

Download the Examples

First, go to GitHub and fork the Postgres Operator examples repository:

https://github.com/CrunchyData/postgres-operator-examples/fork

Once you have forked this repository, you can download it to your working directory with a command similar to this:

cd <Your Working Directory> YOUR_GITHUB_UN="$YOUR_GITHUB_USERNAME" git clone --depth 1 "git@github.com:${YOUR_GITHUB_UN}/postgres-operator-examples.git" 

For Powershell environments:

cd <Your Working Directory> $env:YOUR_GITHUB_UN="YOUR_GITHUB_USERNAME" git clone --depth 1 "git@github.com:$env:YOUR_GITHUB_UN/postgres-operator-examples.git" 

With the examples repo cloned into your working directory, navigate (for example, cd postgres-operator-examples) to the top level folder of the repo. If you use ls -lah it should look something like this:

~/Code/Crunchy/postgres-operator-examples ☯ ls -lah total 32 drwxr-xr-x 8 hippo staff 256B May 22 14:27 . drwxr-xr-x 9 hippo staff 288B Jun 29 13:59 .. drwxr-xr-x 14 hippo staff 448B May 9 12:00 .git drwxr-xr-x 3 hippo staff 96B Jul 19 2022 .github -rw-r--r-- 1 hippo staff 11K Apr 3 12:17 LICENSE.md -rw-r--r--@ 1 hippo staff 1.1K May 9 11:27 README.md drwxr-xr-x 4 hippo staff 128B Jul 19 2022 helm drwxr-xr-x 12 hippo staff 384B Jul 19 2022 kustomize 

Once you have your local environment set up, we can press onwards to installing Crunchy Postgres for Kubernetes...

Install Crunchy Postgres for Kubernetes

Our next task is to install Crunchy Postgres for Kubernetes into a namespace in Kubernetes. This example uses a default namespace of postgres-operator. However, you can install it in other namespaces or even cluster wide if you need. You can read more about that in our advanced install guides.

First, we need to set up the namespace that we are going to use. Use this command to create the default namespace:

kubectl apply -k kustomize/install/namespace 

Next, you will need to install the various containers and configuration that makes up Crunchy Postgres for Kubernetes. Here is the command to do that:

kubectl apply --server-side -k kustomize/install/default 

To check on the status of your installation, you can run the following command:

kubectl -n postgres-operator get pods --selector=postgres-operator.crunchydata.com/control-plane=postgres-operator --field-selector=status.phase=Running 

If the PGO Pod is healthy, you should see output similar to:

NAME READY STATUS RESTARTS AGE postgres-operator-9dd545d64-t4h8d 1/1 Running 0 3s 

Now that we have installed all of the supporting containers and configuration, it's time to roll our sleeves up and set up a Postgres cluster...