Kubernetes
Pyramid's Kubernetes "installation" relies on Docker containers deployed by Pyramid and hosted on the Docker public repository. The Kubernetes deployment can be deployed into any standard Kubernetes hosting environment - including those hosted by AWS, Azure, Google (GCP), Oracle, IBM and Alibaba. Or on premise, with tools like OpenShift.
Note: this feature is available with the Enterprise Edition license only.
Cluster Architecture
Pyramid is designed as a set of services that are designed to be clustered across one or more machines to scale as needs increase. Since Pyramid has a multi-tiered service architecture, its services conveniently fit into containers that can be scaled horizontally and vertically to meet the growing (and shrinking) demands of an analytics deployment in a Kubernetes deployment. There are specific capabilities built into Pyramid to suit Kubernetes itself even though the product is 99.99% identical to the version that would be installed natively on bare metal or virtual host machines.
Recommended Infrastructure
Pyramid offers some key guidelines for a Kubernetes deployment. This includes minimal cluster size and database repository deployment. Click here for more.
Installation & Deployment
Kubernetes (and containers) lets users to construct a Pyramid cluster in their Kubernetes environment in a way they see fit. This can be engineered through the use of hand built YAML instruction files or through the use of HELM charts (see recommendations for more).
To simplify the generation of the YAML and the process of configuring and launching a Kubernetes cluster a point-and-click YAML configuration tool is available, and is recommended for administrators with less knowledge of Kubernetes, YAML and HELM.
Recipes
Beyond these tools, the following recipe guides are available for AWS, GCP, and Azure hyperscalers:
- Click here to learn how to deploy Pyramid on AWS Elastic Kubernetes Services (EKS)
- Click here to learn how to deploy Pyramid on Microsoft Azure Cloud Computing Services
- Click here to learn how to deploy Pyramid on Google Cloud (GCP) GKE
Generic Installation Steps
The following guide assumes that the Pyramid Kubernetes configurator will be used. Alternatively, you can use HELM charts.
Step 1 - Cluster Configurator
The first step is to login into the customer portal and use the Kubernetes configurator tool to setup the "instructions" for your launch of the Pyramid cluster. This tool produces a "YAML" file with the instructions for how to find the right containers and how to deploy the services in a cluster. The tool also incorporates some smart logic for choosing services, setting memory and deciding on the elastic scaling out options. While this form is optional (you can build your own configurations) it is highly recommended.
Step 2 - Launch the YAML
Once you have your YAML file, you should typically upload it to the target hosting system and use it to initiate and instantiate the necessary Kubernetes pods deployments. Your pods should have internet access during the installation process, but you can contact support for more assistance if you need to install without internet access.
Once triggered, the Pyramid cluster will be brought up within a few minutes, awaiting the final steps needed to launch the application.
Step 3 - Application Initialization
Once the pods are created, you will be prompted with the last stage: "initialize the application." This stage is NOT optional. In a typical deployment you will be presented with the System Initialization tool to supply the database repository, the storage medium details, the login for the initial user and optionally the license key file. The form can be completed and executed using a YAML file - effectively producing an unattended initialization sequence.
Once the initialization is complete, the application will use the details to launch the cluster and start the full application.