In this lab you need to get familiar with Kubernetes
. Setup local development environment and prepare a
few manifests for your application.
-
Read about
Kubernetes
: -
Install
kubectl
andminikube
: -
Deploy your application in the
minikube
. Use thekubectl
create command to create aDeployment
: -
Make your application accessible from outside the
Kubernetes
virtual network. Create aService
for it: -
Create a
k8s
folder in your repository and create aREADME.md
report inside, provide the output ofkubectl get pods,svc
command. -
Clean up. Remove
deployment
andservice
that you created. -
As you see it wasn't convenient way to manage your app. Use configuration files to deploy your application. Create a
deployment.yml
manifest for it. Set up at least 3 replicas: -
Create a
service.yml
manifest for your app. -
Provide those files in the
k8s
folder. Also provide the output ofkubectl get pods,svc
command in the report. Provide output ofminikube service --all
command and result from your browser. The screenshot for the latter should show the same IP as in theminikube service --all
output. -
Create a PR to the forked repo lab8 branch, ask your teammates to review it and review PRs of your teammates.
-
Create a PR in your own repository from the lab9 branch to the lab8 one. It will help us with grading.
deployment.yml
service.yml
- output of
kubectl get pods,svc
in README.md in thek8s
folder - output of
minikube service --all
in README.md in thek8s
folder - screenshot from a browser that shows the same ip as in the latter command.
-
Create
deployment
andservice
manifests for your extra app. -
Read about
Ingress, Ingress controller, StatefulSet, DaemonSet, PersistentVolumes
, provide the explanation in a nutshell, as you understand it. No copy paste.