Search code examples
kuberneteskubernetes-helmkubectlamazon-eksapache-superset

Issue with installing apache superset on EKS


I have created an EKS cluster with ALB setup. I tried installing superset by following the steps provided in https://superset.apache.org/docs/installation/running-on-kubernetes/

my-values.yaml

ingress:
  enabled: true
  ingressClassName: ~
  annotations:
    kubernetes.io/ingress.class: alb
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/target-type: instance
    # kubernetes.io/tls-acme: "true"
    ## Extend timeout to allow long running queries.
    # nginx.ingress.kubernetes.io/proxy-connect-timeout: "300"
    # nginx.ingress.kubernetes.io/proxy-read-timeout: "300"
    # nginx.ingress.kubernetes.io/proxy-send-timeout: "300"
  path: /
  pathType: ImplementationSpecific
  hosts:
    - chart-example.local
  tls: []
  extraHostsRaw: []
  #  - secretName: chart-example-tls
  #    hosts:
  #      - chart-example.local

When I am running helm upgrade --install --values my-values.yaml superset superset/superset --timeout 10m30s, it takes a lot of time and returns

Error: UPGRADE FAILED: post-upgrade hooks failed: 1 error occurred:
    * timed out waiting for the condition

and when I run

[ec2-user@ip-1**-**-**-*** ~]$ kubectl get pods
NAME                               READY   STATUS       RESTARTS        AGE
superset-7866fcc8b4-tcpk4          0/1     Init:0/1     8 (6m53s ago)   33m
superset-init-db-6q9dp             0/1     Init:Error   0               5m24s
superset-init-db-7hqz4             0/1     Init:Error   0               7m48s
superset-init-db-jt87x             0/1     Init:Error   0               12m
superset-init-db-rt85r             0/1     Init:Error   0               10m
superset-init-db-zptz6             0/1     Init:Error   0               2m40s
superset-postgresql-0              0/1     Pending      0               33m
superset-redis-master-0            1/1     Running      0               33m
superset-worker-748db75bf7-9kzfp   0/1     Init:0/1     8 (6m56s ago)   33m

I am new to kubernetes and this is new to me. Please help!

Edit:1 Added EBS CSI driver and Storage Class and went ahead with superset installation. Ran the following commands. Attaching responses

kubectl get pods
    NAME                               READY   STATUS     RESTARTS       AGE
    superset-7866fcc8b4-q59nd          0/1     Init:0/1   4 (109s ago)   13m
    superset-init-db-gq9b9             0/1     Pending    0              13m
    superset-postgresql-0              0/1     Pending    0              13m
    superset-redis-master-0            1/1     Running    0              13m
    superset-worker-748db75bf7-n7t2r   0/1     Init:0/1   5 (91s ago)    13m

[ec2-user@ip-172-31-23-209 ~]$ kubectl logs superset-worker-748db75bf7-n7t2r
Defaulted container "superset" out of: superset, wait-for-postgres-redis (init)
Error from server (BadRequest): container "superset" in pod "superset-worker-748db75bf7-n7t2r" is waiting to start: PodInitializing

[ec2-user@ip-172-31-23-209 ~]$ kubectl logs superset-7866fcc8b4-q59nd
Defaulted container "superset" out of: superset, wait-for-postgres (init)
Error from server (BadRequest): container "superset" in pod "superset-7866fcc8b4-q59nd" is waiting to start: PodInitializing

kubectl describe pod superset-postgresql-0
Events:
  Type     Reason            Age                  From               Message
  ----     ------            ----                 ----               -------
  Warning  FailedScheduling  4m20s (x4 over 16m)  default-scheduler  0/1 nodes are available: 1 Too many pods. preemption: 0/1 nodes are available: 1 No preemption victims found for incoming pod.

Solution

  • If you're running PostgreSQL, and you're using EKS 1.23 or higher, you'll need to install a CSI driver, e.g. the EBS CSI driver. Starting with 1.23, EKS no longer ships with a storage driver (the in-tree driver was deprecated). After installing the CSI driver, create a default storage class. Your pods should start shortly thereafter. If you're new to Kubernetes, I'd recommend installing the CSI driver through EKS addons.