Hi All, I am currently struggling to install <good...
# gooddata-cn
r
Hi All, I am currently struggling to install goodData.cn on Google Kubernetes Engine. Below the error I am facing when trying to deploy the helm chart :
Copy code
Failure when executing Helm command. Exited 1.
    stdout: Release "pulsar" does not exist. Installing it now.

    stderr: W1030 09:48:32.674880   20442 warnings.go:70] policy/v1beta1 PodDisruptionBudget is deprecated in v1.21+, unavailable in v1.25+; use policy/v1 PodDisruptionBudget
    W1030 09:48:32.706629   20442 warnings.go:70] policy/v1beta1 PodDisruptionBudget is deprecated in v1.21+, unavailable in v1.25+; use policy/v1 PodDisruptionBudget
    W1030 09:48:32.746234   20442 warnings.go:70] policy/v1beta1 PodDisruptionBudget is deprecated in v1.21+, unavailable in v1.25+; use policy/v1 PodDisruptionBudget
    W1030 09:48:34.012627   20442 warnings.go:70] policy/v1beta1 PodDisruptionBudget is deprecated in v1.21+, unavailable in v1.25+; use policy/v1 PodDisruptionBudget
    W1030 09:48:34.014131   20442 warnings.go:70] policy/v1beta1 PodDisruptionBudget is deprecated in v1.21+, unavailable in v1.25+; use policy/v1 PodDisruptionBudget
    W1030 09:48:34.018748   20442 warnings.go:70] policy/v1beta1 PodDisruptionBudget is deprecated in v1.21+, unavailable in v1.25+; use policy/v1 PodDisruptionBudget
    W1030 09:48:34.943319   20442 warnings.go:70] Autopilot set default resource requests on StatefulSet pulsar/pulsar-recovery for container pulsar-bookkeeper-verify-clusterid, as resource requests were not specified, and adjusted resource requests to meet requirements. See <http://g.co/gke/autopilot-defaults> and <http://g.co/gke/autopilot-resources>.
    W1030 09:48:34.948881   20442 warnings.go:70] Autopilot set default resource requests on StatefulSet pulsar/pulsar-bookie for container pulsar-bookkeeper-verify-clusterid, as resource requests were not specified, and adjusted resource requests to meet requirements. See <http://g.co/gke/autopilot-defaults> and <http://g.co/gke/autopilot-resources>.
    W1030 09:48:34.980998   20442 warnings.go:70] Autopilot set default resource requests on StatefulSet pulsar/pulsar-broker for containers wait-zookeeper-ready, wait-bookkeeper-ready, as resource requests were not specified, and adjusted resource requests to meet requirements. See <http://g.co/gke/autopilot-defaults> and <http://g.co/gke/autopilot-resources>.
    W1030 09:48:35.014786   20442 warnings.go:70] Autopilot increased resource requests for StatefulSet pulsar/pulsar-zookeeper to meet requirements. See <http://g.co/gke/autopilot-resources>.
    W1030 09:48:35.090922   20442 warnings.go:70] Autopilot set default resource requests for Job pulsar/pulsar-bookie-init, as resource requests were not specified. See <http://g.co/gke/autopilot-defaults>.
    W1030 09:48:35.103821   20442 warnings.go:70] Autopilot set default resource requests for Job pulsar/pulsar-pulsar-init, as resource requests were not specified. See <http://g.co/gke/autopilot-defaults>.
    Error: admission webhook "<http://gkepolicy.common-webhooks.networking.gke.io|gkepolicy.common-webhooks.networking.gke.io>" denied the request: GKE Policy Controller rejected the request because it violates one or more policies: {"[denied by autogke-pod-limit-constraints]":["workload 'pulsar-zookeeper' cpu requests '{{250 -3} {\u003cnil\u003e}  DecimalSI}' is lower than the Autopilot minimum required of '{{500 -3} {\u003cnil\u003e} 500m DecimalSI}' for using pod anti affinity. Requested by user: '<mailto:valentin.gaillard77610@gmail.com|valentin.gaillard77610@gmail.com>', groups: 'system:authenticated'."]}
r
Hi, this looks like misconfigured resource limits for Zookeeper component of Apache Pulsar, that do not pass validation by GKE Autopilot. Autopilot requires both Pod requests and limits to be equal (Guaranteed QoS Class) but requests.cpu are either missing or set lower than limits.cpu for pulsar-zookeeper StatefulSet.
The minimal cpu resources set by autopilot is 250m. As the Zookeeper uses pod anti-affinity (to guarantee a single failure resiliency), additional Autopilot constraints apply (workload separation). The minimal value of cpu resources is 500m, but apparently Autopilot can not automatically set resources so they will fulfil all constraints and ends up with value set to 250m (and it's less than 500m required for anti-affinity).
Update Pulsar's chart values with:
Copy code
zookeeper:
  resources:
    limits:
      cpu: 500m
And reinstall pulsar helm chart.
r
Thanks a lot @Robert Moucha
I'll give a try tomorrow
Hi Robert, no more problem with helm chart installation but no I got a problem when I try to get pods state as pulsar ones are still on error
Copy code
getting │ ** server can't find pulsar-zookeeper-2.pulsar-zookeeper.pulsar: NXDOMAIN                                                                                                                                │
any idea on how to fix this ?