Simplify, Scale, and Secure Your Containerized Applications
Manage Kubernetes Cluster Permissions
Grant EC2 Kubernetes Access
Authorize Node Group Operations
The EKS Cluster provides a fully managed Kubernetes environment, streamlining the deployment, management, and scaling of containerized applications.
The Node Group in EKS configures and manages the compute resources for running containers within the Kubernetes cluster.
Access the cluster from EC2 with the assigned IAM role
Mongo-DB
The YAML defines a StatefulSet named mongo in the eksdeploy namespace, creating three MongoDB Pods with stable network identities and persistent storage. Each Pod uses a numactl command to run MongoDB with a replica set configuration, and persistent storage is provisioned via a PersistentVolumeClaim named mongodb-persistent-storage-claim. The configuration ensures ordered deployment, stable storage, and pod anti-affinity for spreading Pods across nodes.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
This Service provides a stable network identity for MongoDB Pods in the eksdeploy namespace. It exposes port 27017 and uses a headless service configuration (clusterIP: None) to enable direct access to the MongoDB Pods by their stable network identities. The Service selects Pods with the label role: db, routing traffic appropriately to support the MongoDB StatefulSet.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Defining a Secret before deploying your API is critical for securely managing sensitive data like database credentials. It helps keep your configurations secure, provides flexibility for updates, and maintains a clear separation of sensitive information from your deployment configuration.
APIs enhance efficiency by integrating diverse systems, automating tasks, and enabling seamless data sharing and functionality.
This YAML file defines a Kubernetes Deployment for an API service, configured to run with two replicas. It employs a rolling update strategy, allowing for smooth updates without downtime. The container is securely configured to use MongoDB credentials sourced from a Kubernetes Secret, safeguarding sensitive information. Additionally, the Deployment includes health checks to ensure the container's readiness and liveness, promoting robust application performance. The Deployment operates within the eksdeploy namespace, with appropriate labeling to manage and identify the environment effectively.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
This YAML file creates a Kubernetes Service of type LoadBalancer named api, exposing the api Deployment on port 80 while forwarding traffic to port 8080 of the Pods. It ensures external access to the application through a cloud provider's load balancer.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
The Service configuration has been successfully updated to match the Pod labels, allowing the Load Balancer to correctly route traffic to the API Pods. Connectivity has been verified, and the service is now operating as expected.
This YAML configuration deploys a frontend application with two replicas in the eksdeploy namespace, using rolling updates for updates management. It sets the environment variable REACT_APP_APIHOSTPORT to the API Load Balancer DNS ($API_ELB_PUBLIC_FQDN), ensuring the frontend can connect to the API service. For API Load Balancer management, the variable should be updated with the Load Balancer ARN for accurate connectivity.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
This YAML configuration defines and deploys Kubernetes Services for both the api and frontend applications. The api-service.yaml file specifies a LoadBalancer Service for the API in the eksdeploy namespace, mapping port 80 to 8080 on the API pods. Similarly, the frontend service is deployed using kubectl apply -f frontend-service.yaml, exposing both applications to external traffic via load balancers.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
This YAML configuration defines and deploys Kubernetes Services for both the api and frontend applications. The api-service.yaml file specifies a LoadBalancer Service for the API in the eksdeploy namespace, mapping port 80 to 8080 on the API pods. Similarly, the frontend service is deployed using kubectl apply -f frontend-service.yaml, exposing both applications to external traffic via load balancers.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------