This repository contains Kubernetes manifests for setting up a local development environment with various data services using Kustomize.
The following services are included in this setup:
- MongoDB
- Redis
- Microsoft SQL Server (MSSQL)
- Azurite (Azure Storage Emulator)
- RabbitMQ
.
├── README.md
└── k8s/
├── kustomization.yaml
├── mongodb/
│ ├── deployment.yaml
│ └── service.yaml
├── redis/
│ ├── deployment.yaml
│ └── service.yaml
├── mssql/
│ ├── deployment.yaml
│ └── service.yaml
├── azurite/
│ ├── deployment.yaml
│ └── service.yaml
└── rabbitmq/
├── deployment.yaml
└── service.yaml
- Ensure you have a Kubernetes cluster running locally (e.g., Minikube, Docker Desktop with Kubernetes enabled).
- Make sure you have
kubectl
installed and configured to use your local cluster. - Clone this repository:
git clone https://github.com/gsoulavy/local-k8s.git cd local-k8s
- Apply the Kubernetes manifests using Kustomize:
kubectl apply -k ./k8s
After deploying the services, you can access them using the following connection details:
- MongoDB:
mongodb://admin:password@localhost:30017
- Username:
admin
- Password:
p@ssw0rd
- Username:
- Redis:
redis://localhost:30379
- MSSQL:
Server=localhost,30433;User Id=sa;Password=P@ssw0rd;
- Azurite:
- Blob:
http://localhost:31000
- Queue:
http://localhost:31001
- Table:
http://localhost:31002
- Blob:
- RabbitMQ:
- AMQP:
amqp://localhost:30672
- Management UI:
http://localhost:31672
- Username:
admin
- Password:
p@ssw0rd
- AMQP:
Note: These services are exposed using NodePort services. Make sure your local Kubernetes cluster allows access to these NodePorts.
The kustomization.yaml
file in the k8s/
directory manages the deployment of all services. You can modify this file to add, remove, or customize services as needed.
Individual service configurations can be adjusted by modifying the respective YAML files in the service-specific directories under k8s/
.
If you encounter any issues, please check the following:
- Ensure all pods are running:
kubectl get pods
- Check pod logs for any errors:
kubectl logs <pod-name>
- Verify services are exposed correctly:
kubectl get services
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.