Hi. We are evaluating the possibility of hosting GoodData.CN on AWS EKS ourselves. I have tried to follow the instructions on https://www.gooddata.com/docs/cloud-native/3.3/deploy-and-install/cloud-native/ as close as I can, while deviating “a little” when it did not work.
I have tried the simple cases without many things in https://www.gooddata.com/docs/cloud-native/3.3/deploy-and-install/cloud-native/considerations/, like DNS or TLS configurations. I am trying to get a simple case working and then possibly adding those considerations later.
Here are my steps
- Created an AWS EKS cluster
- Kubernetes 1.28
- 4 AvailabilityZones
- 6 t3.large instances
- Installed Kubernetes Dashboard
- Installed AWS Load Balancer Controller following instructions on https://docs.aws.amazon.com/eks/latest/userguide/aws-load-balancer-controller.html. Verified by installing https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.7.1/docs/examples/2048/2048_full.yaml
- For Nginx Ingress Controller, I followed https://aws.amazon.com/blogs/containers/exposing-kubernetes-applications-part-3-nginx-ingress-controller/, the “Usage with AWS Load Balancer Controller” section such that it created an internet-facing AWS Load Balancer. Verified that the DNS of the load balancer works with examples on that page.
- Enabled Dynamic Volume Provisioning
- Installed Apache Pulsar with Helm. Not custom values. Verified via port-forwarding.
- Skipped Redis and Aurora since it seems GoodData.CN has Redis and Postgres by default.
- Installed GoodData.CN version 3.3.1 using Helm. Customizations:
- License key.
- metadataApi.encryptor.enabled = false.
Up to this point, everything seems to be working. Kubernetes Dashboard shows everything green. All persistent volumes have been created.
Now how do I verify if the installation is successful?
One thing I have to mention is that the license key I am using is the one we got for GoodData.CN “Container” edition. Does it work here? Does it affect the installation or the steps below?
Assuming the license works for Kubernetes edition, I followed https://www.gooddata.com/docs/cloud-native/3.3/deploy-and-install/cloud-native/set-up-organizations/setup-organizations/ and created an organization, but I don’t really see the impact on the Kubernetes cluster.
The next step is to set up Authentication, which involves $HOST_URL, but I am not sure what that is. Is it the load balancer DNS for Nginx Ingress Controller? In EKS, I see an ingress called “gooddata-cn-dex” with a path to “/dex”, should there be another ingress for “/api”?
Thanks in advance.
Best answer by Jan Kos
View original