Skip to content

DevQuestIO/Infrastructure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

DevQuest Infrastructure Setup

This repository contains Kubernetes deployment configurations and the necessary steps to set up the infrastructure for the DevQuest platform.


Prerequisites

Ensure you have the following tools installed:


Repository Structure

.
├── kubernetes.yaml         # Deployment and Service configurations
├── config-map.yaml         # Configuration map for environment variables
├── README.md               # Project setup and instructions

Steps to Set Up the Cluster

1. Apply Kubernetes Configuration

Apply the Kubernetes deployments and services:

kubectl apply -f config-map.yaml
kubectl apply -f kubernetes.yaml

Verify the deployments and services:

kubectl get all -n default

2. Expose Services via Ingress

Ensure you have an NGINX ingress controller installed:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/cloud/deploy.yaml

Apply the ingress resource:

kubectl apply -f kubernetes.yaml

Verify the ingress:

kubectl get ingress -n default

Prometheus and Grafana Integration

Follow these steps to add Prometheus and Grafana monitoring to your cluster.

1. Add Prometheus Helm Repository

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update

2. Install Prometheus and Grafana

helm install prometheus prometheus-community/kube-prometheus-stack -n monitoring --create-namespace

3. Verify Installation

Check the running pods in the monitoring namespace:

kubectl get pods -n monitoring

4. Access Prometheus and Grafana

  • Prometheus: Forward the Prometheus port to localhost:

    kubectl port-forward -n monitoring svc/prometheus-kube-prometheus-prometheus 9090:9090

    Access it at http://localhost:9090.

  • Grafana: Forward the Grafana port to localhost:

    kubectl port-forward -n monitoring svc/prometheus-grafana 3000:3000

    Access it at http://localhost:3000. Use the default credentials:

    • Username: admin
    • Password: prom-operator

Notes

  1. Replace sensitive values like MONGODB_URI and DB_NAME in config-map.yaml with your actual configurations.
  2. Ensure your domain or external IP is configured properly to access the services exposed through Ingress.
  3. Customize resource requests and limits in kubernetes.yaml for production environments.

Troubleshooting

  • Check pod logs:
    kubectl logs <pod-name>
  • Verify service connectivity:
    kubectl exec -it <pod-name> -- curl <service-name>
  • Inspect ingress rules:
    kubectl describe ingress devquest-ingress
    

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published