Welcome to Community Posts
Click below to read the full article.
Summary of What to Expect
Table of Contents
  1. Ensure you have the necessary IAM permissions and the required CLI tools installed (aws, eksctl, kubectl), and configure your AWS credentials and region.
  2. Create an EKS cluster using eksctl and update the kubeconfig.
  3. Review the Docker Hub page for HarperDB to understand the container details.
  4. Create a directory named "harperdb" to store the Kubernetes manifests.
  5. Start with creating a secret.yaml file to define environment variables.
  6. Create a pvc.yaml file to configure a persistent volume claim.
  7. Create a deploy.yaml file to define the deployment, including the container image and volume mounts.
  8. Create a svc.yaml file to expose the deployment with a LoadBalancer service.
  9. Create the namespace "harperdb" and apply the manifests using the "kubectl create -f ." command.
  10. Fix the PVC issue by adding necessary IAM roles and EBS CSI objects to the cluster.
  11. Verify the PVC and PV status using "kubectl get pvc" and "kubectl get pv" commands.
  12. Update the deployment.yaml file to include a security context (fsGroup) for correct volume permissions.
  13. Apply the updated deployment manifest using "kubectl apply -f deploy.yaml".
  14. Test the application by sending an API call using CURL to the service endpoint.
  15. Validate the workloads using "kubectl get all -n harperdb".
  16. Test persistence by deleting the pod and checking if the schema is restored.
  17. Clean up by deleting the created objects using "kubectl delete" commands and removing the "harperdb" directory.
  18. Finally, delete the EKS cluster using eksctl.