This project sets up a local Kubernetes development environment using Minikube with GitOps practices implemented through Argo CD. It provides a simple way to start and manage a local Kubernetes cluster with GitOps capabilities.
.
├── scripts/
│ ├── main.sh # Main script for cluster management
│ ├── start_minikube.sh # Script to start Minikube cluster
│ └── deploy_argocd.sh # Script to deploy Argo CD
- Multi-node Minikube cluster (2 nodes)
- Argo CD deployment for GitOps
- Pre-configured namespaces:
argocd: For Argo CD componentsmonitoring: For monitoring tools
-
Clone this repository:
git clone <repository-url> cd minikube-gitops-project
-
Make the scripts executable:
chmod +x scripts/*.sh -
Run the main script:
./scripts/main.sh
-
Choose option 1 to start the cluster. The script will:
- Start Minikube with 2 nodes
- Create necessary namespaces
- Deploy Argo CD
- Display access information for Argo CD
After the cluster is running, you can access the Argo CD UI:
-
Start port forwarding:
kubectl port-forward svc/argocd-server -n argocd 8080:443
-
Open your browser and navigate to:
http://localhost:8080 -
Login with:
- Username:
admin - Password: (displayed in the terminal after deployment)
- Username:
The main script (main.sh) provides two options:
- Start the cluster
- Stop the cluster (with option to completely remove it)
To stop the cluster, run:
./scripts/main.shAnd select option 2.
Feel free to submit issues and enhancement requests!
This project is open source and available under the MIT License.