https://github.com/uldyssian-sh/aws-eks-cluster-awscli
AWS EKS cluster management and automation using AWS CLI and scripting
https://github.com/uldyssian-sh/aws-eks-cluster-awscli
automation aws awscli cloud cluster devops eks infrastructure kubernetes management scripts terraform
Last synced: 3 months ago
JSON representation
AWS EKS cluster management and automation using AWS CLI and scripting
- Host: GitHub
- URL: https://github.com/uldyssian-sh/aws-eks-cluster-awscli
- Owner: uldyssian-sh
- License: mit
- Created: 2025-09-09T11:38:06.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-09-17T20:53:31.000Z (3 months ago)
- Last Synced: 2025-09-17T20:59:15.555Z (3 months ago)
- Topics: automation, aws, awscli, cloud, cluster, devops, eks, infrastructure, kubernetes, management, scripts, terraform
- Language: Shell
- Homepage: https://github.com/uldyssian-sh/aws-eks-cluster-awscli/wiki
- Size: 196 KB
- Stars: 3
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AWS EKS Cluster with AWS CLI
[](https://github.com/uldyssian-sh/aws-eks-cluster-awscli/actions)
[](https://opensource.org/licenses/MIT)
[](https://aws.amazon.com/eks/)
Enterprise-grade AWS EKS cluster automation using AWS CLI with comprehensive security, monitoring, and cost optimization for GitHub Free tier.
## ๐ Features
- **Automated EKS Cluster Deployment** - Complete cluster setup with AWS CLI
- **Multi-AZ VPC Configuration** - High availability across 3 availability zones
- **Security Best Practices** - Pod Security Standards, Network Policies, IAM roles
- **Monitoring & Observability** - Prometheus, Grafana integration
- **Cost Optimization** - GitHub Free tier compatible, resource optimization
- **CI/CD Integration** - Automated testing and deployment workflows
## ๐ Prerequisites
- AWS CLI v2.x installed and configured
- kubectl installed
- Helm 3.x installed
- jq for JSON processing
- Valid AWS credentials with EKS permissions
## ๐ ๏ธ Quick Start
1. **Clone the repository**
```bash
git clone https://github.com/uldyssian-sh/aws-eks-cluster-awscli.git
cd aws-eks-cluster-awscli
```
2. **Configure environment**
```bash
cp .env.template .env
# Edit .env with your AWS configuration
```
3. **Create VPC infrastructure**
```bash
./scripts/create-vpc.sh
```
4. **Deploy EKS cluster**
```bash
./scripts/create-eks.sh
```
5. **Configure kubectl**
```bash
./scripts/configure-kubectl.sh
```
6. **Install add-ons**
```bash
./scripts/install-addons.sh
```
## ๐ Project Structure
```
โโโ .github/ # GitHub workflows and templates
โโโ cloudformation/ # CloudFormation templates
โโโ docs/ # Documentation
โโโ examples/ # Example configurations
โโโ iam/ # IAM policies
โโโ manifests/ # Kubernetes manifests
โโโ scripts/ # Automation scripts
โโโ terraform/ # Terraform configurations
โโโ tests/ # Test scripts
```
## ๐ง Configuration
### Environment Variables
| Variable | Description | Default |
|----------|-------------|---------|
| `AWS_REGION` | AWS region | `eu-central-1` |
| `CLUSTER_NAME` | EKS cluster name | `eks-demo` |
| `K8S_VERSION` | Kubernetes version | `1.29` |
| `INSTANCE_TYPE` | Node instance type | `t3.medium` |
| `DESIRED_SIZE` | Desired node count | `3` |
### VPC Configuration
The CloudFormation template creates:
- VPC with 3 public and 3 private subnets
- Internet Gateway and NAT Gateway
- Route tables and security groups
- EKS-optimized networking
## ๐ Security Features
- **Pod Security Standards** - Enforced security policies
- **Network Policies** - Traffic segmentation
- **IAM Roles** - Least privilege access
- **Secrets Management** - Secure credential handling
## ๐ Monitoring
- **Prometheus** - Metrics collection
- **Grafana** - Visualization dashboards
- **Cluster Autoscaler** - Automatic scaling
- **AWS Load Balancer Controller** - Ingress management
## ๐งช Testing
Run the test suite:
```bash
./tests/test-cluster.sh
```
## ๐ Deployment
The repository includes automated CI/CD workflows:
- **CI Pipeline** - Code validation and testing
- **Deployment Pipeline** - Automated infrastructure deployment
## ๐ฐ Cost Optimization
This project is optimized for GitHub Free tier:
- Single NAT Gateway configuration
- t3.medium instances for cost efficiency
- Automated resource cleanup scripts
- Monitoring for cost tracking
## ๐ค Contributing
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests if applicable
5. Submit a pull request
See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.
## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## ๐ Support
- [Issues](https://github.com/uldyssian-sh/aws-eks-cluster-awscli/issues)
- [Discussions](https://github.com/uldyssian-sh/aws-eks-cluster-awscli/discussions)
- [Documentation](docs/)
## ๐ Related Projects
- [AWS EKS Kasten](https://github.com/uldyssian-sh/aws-eks-cluster-kasten)
- [Enterprise EKS Multi-AZ](https://github.com/uldyssian-sh/enterprise-eks-multi-az-cluster)
---
**Note**: This project follows AWS Well-Architected Framework principles and GitHub DevOps professional standards.