GithubHelp home page GithubHelp logo

sushmareddyloka / pega-helm-charts Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pegasystems/pega-helm-charts

0.0 0.0 0.0 2.83 MB

Orchestrate a Pega Platform™ deployment by using Docker, Kubernetes, and Helm to take advantage of Pega Platform Cloud Choice flexibility.

Home Page: https://community.pega.com/knowledgebase/articles/cloud-choice

License: Apache License 2.0

Smarty 30.38% Makefile 1.74% Shell 0.67% Go 67.20%

pega-helm-charts's Introduction

Pega deployment on Kubernetes

This project provides Helm charts and basic examples for deploying Pega on Kubernetes. You will also need to download the required installation kit from the Pega Community which includes rules and data to preload into your relational database. Deploying Pega on Kubernetes requires Pega Infinity 8.2 or newer.

Build Status GitHub release

Supported Kubernetes environments

Pegasystems has validated deployments on the following Kubernetes IaaS and PaaS environments.

Getting started

This project assumes you have an installation of Kubernetes available and have Helm installed locally. The following commands will verify your installation. The exact output may be slightly different, but they should return without error.

$ helm version
version.BuildInfo{Version:"v3.0.0", GitCommit:"e29ce2a54e96cd02ccfce88bee4f58bb6e2a28b6", GitTreeState:"clean", GoVersion:"go1.13.4"}

If this command does not successfully return, install Helm 3 for your operating system. See Helm Installation for more information. If you are running Helm 2.x, you will see both a client and server (tiller) portion returned by the version command. Some of the commands below will also differ slightly for Helm 2.x.

  1. Add the Pega repository to your Helm installation.
$ helm repo add pega https://dl.bintray.com/pegasystems/pega-helm-charts
  1. Verify the new repository by searching it.
$ helm search repo pega
NAME       	CHART VERSION	APP VERSION	DESCRIPTION
pega/pega  	1.2.0        	           	Pega installation on kubernetes
pega/addons	1.2.0        	1.0        	A Helm chart for Kubernetes 

There are two charts available in this repository - addons and pega.

The addons chart installs a collection of supporting services and tools required for a Pega deployment. The services you will need to deploy will depend on your cloud environment - for example you may need a load balancer on Minikube, but not for EKS. These supporting services are deployed once per Kubernetes environment, regardless of how many Pega Infinity instances are deployed.

  1. Download the values file for pega/pega and pega/addons.
$ helm inspect values pega/pega > pega.yaml
$ helm inspect values pega/addons > addons.yaml
  1. Edit your values yaml files to specify all required information and customizations for your environment.
  1. Create namespaces for your Pega deployment and the addons (if applicable for your environment).
$ kubectl create namespace mypega
$ kubectl create namespace pegaaddons
  1. To install the addons chart, run the following helm command after configuring your values.yaml file (if applicable for your environment).
$ helm install addons pega/addons --namespace pegaaddons --values addons.yaml
  1. Now you can deploy Pega using the Helm chart. Before installing using the chart, it is a good idea to review the detailed deployment guide to understand how Pega deploys as a distributed system. Running a Helm installation using the pega chart installs a Pega Infinity instance into a specified namespace.
$ helm install mypega pega/pega --namespace mypega --values pega.yaml

If you want to edit the charts and build using your local copy, replace pega/addons or pega/pega with the path to your chart directory.

  1. If you wish to delete your deployment of Pega nodes, enter the following command (this will not delete your database):
$ helm delete mypega

Downloading Docker images for your deployment

Clients with appropriate licenses can request access to several required images from the Pega-managed Docker image repository. With your access key, you can log in to the image repository and download these Docker images to install the Pega Platform onto your database. After you pull the images to your local system, you must push them into your private Docker registry.

To download your preferred version of the Pega image to your local system, specify the version tag when by entering:

$ sudo docker pull pega-docker.downloads.pega.com/platform/pega:<version>

Digest: <encryption verification>
Status: Downloaded pega-docker.downloads.pega.com/platform/pega:<version>

For details, see the examples listed in the preparation runbook:

Pegasystems uses a standard naming practice of hostname/product/image:tag. Pega images are available from the host site, pega-docker.downloads.pega.com. Pega maintains three types of required Docker images for Client-managed Cloud deployments of Pega Platform:

Name Description Tags
platform/installer A utility image with which you install all of the Pega-specific rules and database tables in the “Pega” database that you have configured for your deployment. This installation is required before a deployment can take place. <version>
platform/pega (Download required) Deploys Pega Platform with its customized version of the Tomcat application server. <version> or <version>-YYYYMMDD
platform/search (Download required) Deploys the required search engine for Pega Platform search and reporting capabilities. This Docker image contains Elasticsearch and includes all required plugins. <version> or <version>-YYYYMMDD

For the platform/installer image, the :tag represents the version of Pega you want to install, for example the tag :8.5.1 will install Pega Platform version 8.5.1.

For platform/pega and platform/search images, Pega also offers an image with a version tag appended with a datestamp using the pattern pegaVersion-YYYYMMDD to indicate the version and the date that Pega built the image. For example, if you pull the platform/pega with a tag, pega:8.5.1-20201026, the tag indicates that Pega built this 8.5.1 image on 26 October 2020. Using the version tag without the datestamp will always point to the most recently built image for that version.

The datestamp ensures that the image you download includes the changes that Pega engineering commits to the repository using pull requests by a certain date. While Pega builds the most current patch version of each minor release one time each day, Pega makes the last five daily-built images available for client downloads. After Pega releases a new patch version, the prior patch version no longer receives daily builds with a datestamp tag.

After you obtain access to the Pega-provided host repository and pull each image, you can re-tag and push each of the three Pega-provided images to your preferred Docker registry to make them available to the deployment. For an overview of tagging and managing Docker images, see the Docker article, Deploy a registry server.

After you have the images in your Docker repository, you then provide your registry URL, credentials, and reference each image appropriately in the Pega Helm chart. You can find example usage details for referencing the three images in a repository in the appropriate runbook for your type of deployment.

These images do not expire, and you can keep them in your repository for as long as you require.

Contributing

This is an open source project and contributions are welcome. Please see the contributing guidelines to get started.

pega-helm-charts's People

Contributors

dcasavant avatar taz-pega-work avatar taz-mon avatar misterdorito avatar max-levitskiy avatar madhuriarugula avatar heshma avatar kishorv10 avatar rrajarapu avatar pega-talba avatar pega-roska avatar pega-embate avatar jarek-srt avatar jasper518 avatar kkapoor1987 avatar mandeep-pega avatar imax-pp avatar nikhilparmar86 avatar pegabasis avatar kalap92 avatar sreer-pega avatar rajshrimohanks avatar sachinsonu avatar saurabh-16 avatar sskrishnav avatar zitikay avatar maracle6 avatar nowam1 avatar saikarthik528 avatar shashikant-koder avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.