AI Ops is an infrastructure-as-code project that provides a robust, scalable platform for deploying and managing AI applications on AWS using Kubernetes (EKS).
The platform consists of the following main components:
- Amazon EKS for container orchestration
- Amazon RDS for database services
- AWS Secrets Manager for secure secrets handling
- Custom Helm charts for AI application deployments
- Terraform for infrastructure provisioning
- AWS CLI configured with appropriate credentials
- Terraform >= 1.0.0
- kubectl
- Helm >= 3.0.0
- Navigate to the terraform directory:
cd terraform
- Initialize Terraform:
terraform init
-
Review and modify the
dev.tfvars
file according to your requirements. -
Plan and apply the infrastructure:
terraform plan -var-file=dev.tfvars
terraform apply -var-file=dev.tfvars
- Configure kubectl to use the new EKS cluster:
aws eks update-kubeconfig --name <cluster-name> --region <region>
- Deploy AI applications using Helm:
cd charts/ai
helm install <release-name> .
- All sensitive information is managed through AWS Secrets Manager
- Network security is enforced through VPC configuration and security groups
- RBAC is implemented at the Kubernetes level
- Infrastructure follows AWS security best practices
- Create a new Helm chart in the
charts
directory - Define the necessary Kubernetes resources
- Update values.yaml with configurable parameters
- Document the chart's usage in its README
- Make changes to relevant Terraform files
- Test changes using
terraform plan
- Create a pull request with the changes
- After review, apply changes using CI/CD pipeline
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
The project uses GitHub Actions for continuous integration and deployment:
- Automated Terraform validation and planning
- Infrastructure deployment to staging/production
- Helm chart linting and testing
- Security scanning for infrastructure code
[Add your license information here]
For support, please open an issue in the GitHub repository or contact the maintainers.