Objective 🎯 : Create a Kubernetes deployment for a Python application that uploads a file to an S3 bucket.
Highlight 💡 : This is highly useful because we will need to create an IAM IRSA (IAM role for service account) and attach it to the pod appropriately.
- Python
- boto3
- Docker
- Kubernetes
- EKS
- IAM Services (roles, policies, IRSA)
- Terraform
- Create a Python application that uploads a file to an S3 bucket.
- Dockerize the application.
- Create a Kubernetes deployment for the Python application.
- Define all infrastructure as code (IaC) Terraform such as VPC, EKS, S3, IAM, Node Group, etc.
- Define all the required IAM services (role, policy, service account-IRSA) for the Kubernetes deployment.
- Initialize Git repository for version control.
- infrastructure/: Terraform code for creating the EKS cluster, S3 bucket, IAM services, etc.
- kubernetes/: Kubernetes deployment for the Python application & service account.
- python-app/: Python application that uploads a file to an S3 bucket.