There is workflow configured for contineuos integration which covers Frontend and Backend application docker container build and push to its public registry. This work flow configured as manual dispatch as it is on demo.
we can configure it on PUSH or PULL requests based on or as per our requirements.
For this action, Secrets are configured at GITHUB and then it used as VAR in action code.
This method creates standard EC2 Instance by terraform code and then it adds required dependencies via userdata template
Install minikube MINIKUBE
minikube start
Deploy Application and verify
k apply -f k8s/
k get deployment,pods,svc
minikube service web
k apply -f k8s/
Verify Deployment
k get Deployment,svc
To access Application locally
k port-forward svc/web 3000:3000
Test Application
curl http://127.0.0.1:3000/
Install AWS ALB CONTROLLER for Cluster
helm repo add eks https://aws.github.io/eks-charts
helm repo update
helm install aws-load-balancer-controller \
eks/aws-load-balancer-controller -n kube-system \
--set clusterName=demo-cluster \ # demo-cluster is clusterName here
--set serviceAccount.create=false \
--set serviceAccount.name=aws-load-balancer-controller
Verify AWS ALB controller
kubectl get deployment -n kube-system aws-load-balancer-controller
Apple Ingress resources for Application
k apply -f ingress.yaml
Verify Ingress and get Access Address
k get ingress