Skip to content

Create AWS EKS deployment scripts #24

@UJ2202

Description

@UJ2202

User Story

As a DevOps engineer, I want AWS EKS deployment scripts so that I can deploy CMBCluster on Amazon Web Services with the same functionality as the current GCP deployment.

Description

Create comprehensive AWS EKS deployment scripts that mirror the functionality of the existing GCP deployment, including cluster setup, networking, storage, and application deployment.

Current GCP Implementation Analysis

Based on scripts/setup-cluster.sh analysis:

  • GKE Cluster: Private cluster with VPC, subnets, NAT gateway
  • Storage: Cloud Storage buckets for database and user data
  • Networking: Custom VPC with secondary ranges for pods/services
  • Registry: Artifact Registry for container images
  • Security: IAM service accounts, firewall rules
  • Monitoring: Ingress controller, cert-manager

AWS Equivalent Services

  • EKS (Elastic Kubernetes Service) → GKE
  • S3 (Simple Storage Service) → Cloud Storage
  • ECR (Elastic Container Registry) → Artifact Registry
  • VPC (Virtual Private Cloud) → VPC
  • IAM → Cloud IAM
  • ALB/NLB → Google Load Balancer

Technical Requirements

Create AWS deployment scripts with:

  • EKS cluster creation with private nodes
  • VPC and subnet configuration
  • S3 buckets for database and user storage
  • ECR repository setup
  • IAM roles and service accounts
  • ALB Ingress Controller installation
  • cert-manager for SSL certificates
  • Workload Identity equivalent (IRSA - IAM Roles for Service Accounts)

Scripts to Create

  1. scripts/aws/setup-cluster.sh

    • EKS cluster creation
    • VPC and networking setup
    • S3 bucket creation
    • ECR repository setup
    • IAM configuration
  2. scripts/aws/deploy.sh

    • Helm chart deployment with AWS values
    • Application deployment to EKS
    • DNS and ingress configuration
  3. scripts/aws/cleanup.sh

    • Resource cleanup and tear-down
    • S3 bucket management
    • EKS cluster deletion

Acceptance Criteria

  • EKS cluster deploys successfully with proper networking
  • S3 buckets are created and configured correctly
  • ECR repository stores container images
  • IAM roles provide appropriate permissions
  • ALB Ingress Controller functions properly
  • cert-manager issues SSL certificates
  • CMBCluster application deploys and runs on EKS
  • User environments can be created and accessed
  • Storage mounting works with S3
  • All scripts are well-documented and tested

Key Differences from GCP

  • Authentication: IRSA instead of Workload Identity
  • Storage: S3 instead of Cloud Storage
  • Networking: ALB instead of Google Load Balancer
  • Registry: ECR instead of Artifact Registry
  • DNS: Route 53 integration options

Configuration Parameters

  • AWS region and availability zones
  • EKS cluster version and node groups
  • VPC CIDR blocks and subnet ranges
  • S3 bucket naming and policies
  • ECR repository configuration
  • IAM role definitions

Testing Requirements

  • Functional testing of complete deployment
  • Validation of all AWS services integration
  • Comparison with GCP deployment features
  • Documentation of any feature differences
  • Performance testing on EKS

Related to

Epic #22 - Multi-Cloud Support

Definition of Done

  • Complete AWS deployment scripts are functional
  • CMBCluster deploys successfully on EKS
  • Feature parity with GCP deployment is achieved
  • Documentation covers AWS deployment process
  • Scripts are tested and validated

Metadata

Metadata

Assignees

No one assigned

    Labels

    awsAmazon Web Services relatedinfrastructureInfrastructure and deployment issues

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions