Pivotal Container Services (PKS) running on Google Cloud Platform (GCP)

Follow this procedure to deploy Greenplum for Kubernetes to PKS.

Required Software

This procedure requires that PKS on GCP is installed and running, along with all prerequisite software and configuration. See Installing PKS for Greenplum for Kubernetes, Using Google Cloud Platform (GCP) for information about installing PKS.

Obtain the Kubernetes service account key (key.json) file. You will need to identify this file in your configuration to authenticate with PKS.

Before you attempt to deploy Greenplum, ensure that the target cluster is available. Execute the following command to make sure that the target cluster displays in the output:

pks list-clusters

Note: The pks login cookie typically expires after a day or two.

The Greenplum for Kubernetes deployment process requires the ability to map the host system’s /sys/fs/cgroup directory onto each container’s /sys/fs/cgroup. Ensure that no kernel security module (for example, AppArmor) uses a profile that disallows mounting /sys/fs/cgroup.

To use pre-created disks with PKS instead of (default) automatically-managed persistent volumes, follow the instructions in (Optional) Preparing Pre-Created Disks before continuing with the procedure.

Note: If any problems occur during deployment, retry deploying Greenplum by first removing the previous deployment.

Configuring kubectl and helm

  1. Ensure that helm has sufficient privileges via a Kubernetes service account. Use a command like:

    $ kubectl create -f initialize_helm_rbac.yaml
    
    serviceaccount "tiller" created
    clusterrolebinding.rbac.authorization.k8s.io "tiller" created
    

    This sets the necessary privileges for helm with a service account named tiller.

  2. Initialize and upgrade helm with the command:

    $ helm init --wait --service-account tiller --upgrade
    
    $HELM_HOME has been configured at /<path>/.helm.
    
    Tiller (the Helm server-side component) has been upgraded to the current version.
    Happy Helming!