Ensure you have the following tools installed:
- kubectl
- Helm
- Docker
- Terraform
- Python3
The project is structured as follows:
project-root/
│
├── docker/ # Dockerfile for building Docker image
│ └── Dockerfile
│
├── k8s/ # Kubernetes manifest files
│ ├── gaia-service.yml
│ ├── gaia-servicemonitor.yml
│ └── gaia-statefulset.yml
│
└── terraform/ # Terraform files for managing AWS resources
│ ├── main.tf
│ ├── variables.tf
│ ├── outputs.tf
└── scripts/ # python cli for automating deployment actions
├── cli.py
├── utils.py
-
Build Docker Image:
cd docker/ docker build -t gaia .
Replace
gaia
with your preferred image name. -
Run Docker Container:
docker run gaia # to run remote, simply do "docker run ajail/gaia:17.2.0"
-
Apply Kubernetes Manifests:
cd k8s/ kubectl apply -f gaia-statefulset.yml kubectl apply -f gaia-service.yml kubectl apply -f gaia-servicemonitor.yml
-
Check Deployment Status:
kubectl get pods kubectl get services
Ensure all pods are running and services are available.
-
Initialize Terraform:
cd terraform/ terraform init
-
Plan and Apply Terraform Changes:
terraform plan terraform apply
Follow the prompts to apply changes.
-
Verify Resources:
terraform show
Verify the resources created by Terraform.
python3 scripts/cli.py
* follow the prompts