Embarking on my first Kubernetes project to deploy a Node.js and MongoDB web application, I leveraged Minikube with the Docker driver on Windows Subsystem for Linux (WSL). The journey, inspired and guided by Tech with Nana’s tutorial, was both challenging and enlightening. Here, I share my experience, focusing on the hurdles encountered and the lessons learned.
Initial Steps and Commands
The process began with initializing Minikube and setting up the Kubernetes environment using a series of commands such as minikube start --driver docker
and various kubectl
operations to apply configurations and monitor the cluster’s status. This phase was straightforward, thanks to the structured guidance from the tutorial.
Challenges and Solutions
Throughout the setup, several issues arose:
YAML File Formatting: A missing space in mongo-config.yaml
underscored the precision required in YAML syntax.

Incorrect Image Name: An error in specifying the Docker image name within the webapp.yaml
led to deployment failures, which was corrected by removing the erroneous “docker pull” command text.

A significant hurdle was accessing the web server. Initially, attempts to access the website displayed only a white page, traced back to a mismatch in the service and target ports in the mongo.yaml
file, which didn’t align with MongoDB’s default port of 27017.

Key Takeaways
- Detail-Oriented Configuration: Kubernetes demands precision in configuration files.
- Resilience: Overcoming setup and deployment hurdles is part of the Kubernetes learning curve.
- Resource Utilization: Tutorials and community resources are invaluable for navigating and troubleshooting Kubernetes deployments.

Conclusion
This project was a profound learning experience, emphasizing the importance of attention to detail, perseverance, and the value of educational resources in the tech community. The successful deployment, after navigating through various challenges, has boosted my confidence and enthusiasm for future Kubernetes endeavors.