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!
2
Answers
You got to inspect the logs of these pods; to see why it is failing; But initially, seems
kubectl describe pod superset-postgresql-0
andkubectl logs superset-init-db-6q9dp -c init
kubectl logs superset-7866fcc8b4-tcpk4 -c init
.That is my guess; You can know for sure by following the above kubectl commands I provided.
Long story short, superset installation to work needs to have postgres started as per of init checks before it actually starts; postgres is not, that’s why superset is failing. Why postgres is not starting ? Check the logs.
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.