This topic describes how to install Pivotal Greenplum for Kubernetes. The installation process involves loading the Greenplum for Kubernetes container images into your container registry, and then using the helm package manager to install the Greenplum Operator resource in Kubernetes. After the Greenplum Operator resource is available, you can interact with it to deploy and manage Greenplum clusters in Kubernetes.
Prerequisites
Before you install Greenplum for Kubernetes, ensure that you have installed the required software and prepared your Kubernetes environment as described in Prerequisites.
Procedure
Follow these steps to download and install the Greenplum for Kubernetes container images, and install the Greenplum Operator resource.
1. Download the Greenplum for Kubernetes software from Pivotal Network. The download file has the name:
Go to the directory where you downloaded Greenplum for Kubernetes, and unpack the downloaded software. For example:
The above command unpacks the distribution into a new directory named
3. Go into the new greenplum-for-kubernetes-"version" directory:
4. For Minikube deployments only, ensure that the local docker daemon interacts with the Minikube docker container registry:
Note: To undo this docker setting in the current shell, run eval "$(docker-machine env -u)".
5. Load the Greenplum for Kubernetes Docker image to the local Docker registry:
6. Load the Greenplum Operator Docker image to the Docker registry:
7. Verify that both Docker images are now available:
8. For PKS or GCP deployments only:
a. If you want to push the Greenplum for Kubernetes docker images to a different container registry, set the project name and image repo name and then use Docker to push the images. For example, to push the images to Google Cloud Registry using the current Google Cloud project name:
b. Copy a Kubernetes service account key (a key.json file for an account that has read access to Google Cloud Registry) to the operator subdirectory. For example:
c. Create a new YAML file in the workspace subdirectory. For example:
d. Add the following line to the new YAML file to identify the key.json file to use. For example:
e. If you pushed the Greenplum Operator and Greenplum Database Docker images to a container registry, add two additional lines to the configuration file to indicate the registry where you pushed the images. For example, if you are using Google Cloud Registry with a project named “gp-kubernetes”, you would add the properties:
Note: If you did not tag the images with a container registry prefix or project name (for example, if you are using your own local Minikube deployment), then you can skip this step.
9. Ensure that helm has the required Kubernetes service account privileges:
This sets the necessary privileges for helm with a service account named tiller.
10. Initialize and upgrade helm:
11. Use helm to create a new Greenplum Operator release, specifying the YAML configuration file if you created one. For example, to create a new release with the name “greenplum-operator”:
If you did not create a YAML configuration file (as in the case with Minikube) omit the -f option:
Helm begins installing the new release into the Kubernetes namespace specified in the current Kubernetes context. If you want to install into a different namespace, include the --namespace option in the helm command.
The command displays the following message and concludes with a link to this documentation:
12. Use watch kubectl get all to monitor the progress of the deployment. The deployment is complete when the Greenplum Operator pod is in the Running state and the replica set and load balancer are available. For example:
At this point, you can interact with the Greenplum Operator to deploy new Greenplum clusters or manage existing Greenplum clusters. See About the Greenplum Operator.