pegasystems / pega-helm-charts

Orchestrate a Pega Platform™ deployment by using Docker, Kubernetes, and Helm to take advantage of Pega Platform Cloud Choice flexibility.
https://community.pega.com/knowledgebase/articles/cloud-choice
Apache License 2.0
124 stars 198 forks source link

Resource elasticsearch-master-pdb not found while deploying backingservices using helm repository and k8s 1.25 #581

Closed efiku closed 7 months ago

efiku commented 1 year ago

Describe the bug

You are unable to deploy backingservices using the helm repository option (no local repository) because requirements.yaml in directory backingservices is not updated with ES version.

Error received:

Error: INSTALLATION FAILED: unable to build kubernetes objects from release manifest: resource mapping not found for name: "elasticsearch-master-pdb" namespace: "" from "": no matches for kind "PodDisruptionBudget" in version "policy/v1beta1" ensure CRDs are installed first

So, the backingservices charts depends on the ES chart version. Should be version: "7.17.3" but its still 7.10.2

This is working fine for K8s < 1.25. but giving a lot of warring about v1 beta apis

To Reproduce Steps to reproduce the behavior.

  1. helm repo add pega https://pegasystems.github.io/pega-helm-charts
  2. helm search repo pega , 3.1.0 everywhere
  3. helm inspect values pega/backingservices > backing.yaml
  4. helm install srs pega/backingservices -n srs -f backing.yaml

Expected behavior Correct backingservices deployment for k8s 1.25 api

Chart version Latest - using helm repository (no local repo)

Server (if applicable, please complete the following information):

Additional context Suggested fix: changing the requirements.yaml es version to 7.17.3 in backingservices + also in the example values file.

Workaround:

  1. Clone repository to local, change above with correct 7.17.3 version of ES and update dependencies.
  2. Change requirements.yaml with 7.17.3 for example
  3. Change values.yaml to 7.17.3
  4. Update dependencies
  5. Redeploy backingservices from local repo using helm.

https://github.com/pegasystems/pega-helm-charts/blob/09393af4942456f24c133aae36713e2cce2862b0/charts/backingservices/requirements.yaml#L3-L5

rcomanne commented 1 year ago

Hi, we're also running into this issue, but I think part of the problem is also the fact that Elastic has move to a new setup with Elastic Cloud on Kubernetes(ECK) and is no longer supporting the Helm chart used with this. What is now the recommended way to setup this cluster with Elasticsearch? Set Elasticsearch up by ourselves and connect them together, or will these Helm charts be updated so they are either working with newer Kubernetes versions, or to support ECK?

rexsez commented 1 year ago

hey @rcomanne, did you managed to set elasticsearch yourselves and do it? I followed this documentation to deploy elasticsearch with kibana on my cluster and it worked like a charm, I just added NodePort service to access them from my pc. But I am facing and error trying to connect srs to it, I get an error saying "Error starting Micronaut server: Bean definition [com.pega.fnx.search.storage.SingleStorageManager] could not be loaded: Error instantiating bean of type [com.pega.fnx.search.storage.SingleStorageManager]\n\nMessage: Cannot create an Elasticsearch connector for endpoint :ihttps://ip:port"", could you help me please?