In this lab, you will explore Kubernetes, set up a local development environment, and create manifests for your application.
6 Points:
-
Learn About Kubernetes:
- Begin by studying the fundamentals of Kubernetes:
-
Install Kubernetes Tools:
- Install
kubectl
andminikube
, essential tools for managing Kubernetes.
- Install
-
Deploy Your Application:
- Deploy your application within the Minikube cluster using the
kubectl create
command. Create aDeployment
resource for your app.
- Deploy your application within the Minikube cluster using the
-
Access Your Application:
- Make your application accessible from outside the Kubernetes virtual network. Achieve this by creating a
Service
resource.
- Make your application accessible from outside the Kubernetes virtual network. Achieve this by creating a
-
Create a Kubernetes Folder:
- Establish a
k8s
folder within your repository. - Create a
README.md
report within this folder and include the output of thekubectl get pods,svc
command.
- Establish a
-
Cleanup:
- Remove the
Deployment
andService
resources that you created, maintaining a tidy Kubernetes environment.
- Remove the
4 Points:
-
Manifest Files for Your Application:
- As a more efficient and structured approach, employ configuration files to deploy your application.
- Create a
deployment.yml
manifest file that describes your app's deployment, specifying at least 3 replicas.
-
Service Manifest:
- Develop a
service.yml
manifest file for your application.
- Develop a
-
Manifest Files in
k8s
Folder:- Store these manifest files in the
k8s
folder of your repository. - Additionally, provide the output of the
kubectl get pods,svc
command in theREADME.md
report. - Include the output of the
minikube service --all
command and the result from your browser, with a screenshot demonstrating that the IP matches the output ofminikube service --all
.
- Store these manifest files in the
To Earn 2.5 Additional Points:
-
Manifests for Extra App:
- Create
deployment
andservice
manifests for an additional application.
- Create
-
Ingress Manifests:
- Construct Ingress manifests for your applications.
-
Application Availability Check:
- Utilize
curl
or a similar tool to verify the availability of your applications. Include the output in the report.
- Utilize
Guidelines:
- Maintain a clear and well-structured
README.md
document. - Ensure that all required components are included.
- Adhere to file and folder naming conventions.
- Create and participate in PRs to facilitate the peer review process.
- Create pull requests (PRs) as needed: from your fork to the main branch of this repository, and from your fork's branch to your fork's master branch.
Note: Detailed documentation is crucial to ensure that your Kubernetes deployment is fully functional and accessible. Engage with the bonus tasks to further enhance your understanding and application deployment skills.