Skip to content

Commit

Permalink
Adding tutorials for k8s basics
Browse files Browse the repository at this point in the history
  • Loading branch information
jbris committed Dec 12, 2023
1 parent 50abd43 commit 0fb1674
Show file tree
Hide file tree
Showing 16 changed files with 175 additions and 0 deletions.
13 changes: 13 additions & 0 deletions 1_create_kubernetes_cluster/kubectl.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/usr/bin/env bash

kubectl create deployment hello-node --image=registry.k8s.io/e2e-test-images/agnhost:2.39 -- /agnhost netexec --http-port=8080

kubectl get deployments

kubectl get pods

kubectl get events

kubectl config view

kubectl logs
6 changes: 6 additions & 0 deletions 1_create_kubernetes_cluster/kubectl_addons.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/usr/bin/env bash

kubectl delete service hello-node
kubectl delete deployment hello-node

minikube stop
13 changes: 13 additions & 0 deletions 1_create_kubernetes_cluster/kubectl_cleanup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/usr/bin/env bash

kubectl create deployment hello-node --image=registry.k8s.io/e2e-test-images/agnhost:2.39 -- /agnhost netexec --http-port=8080

kubectl get deployments

kubectl get pods

kubectl get events

kubectl config view

kubectl logs
7 changes: 7 additions & 0 deletions 1_create_kubernetes_cluster/kubectl_service.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/usr/bin/env bash

kubectl expose deployment hello-node --type=LoadBalancer --port=8080

kubectl get services

minikube service hello-node
5 changes: 5 additions & 0 deletions 1_create_kubernetes_cluster/minikube_start.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/usr/bin/env bash

minikube start

minikube dashboard
5 changes: 5 additions & 0 deletions 2_deploy_an_app/kubectl_deploy.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/usr/bin/env bash

kubectl create deployment kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1

kubectl get deployments
8 changes: 8 additions & 0 deletions 2_deploy_an_app/kubectl_proxy.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/usr/bin/env bash

kubectl proxy

export POD_NAME=$(kubectl get pods -o go-template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}')
echo Name of the Pod: $POD_NAME

curl http://localhost:8001/api/v1/namespaces/default/pods/$POD_NAME/
15 changes: 15 additions & 0 deletions 3_explore_your_app/kubectl_toubleshooting.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/usr/bin/env bash

PODE_NAME=$1

kubectl get pods

kubectl describe pods

kubectl logs $PODE_NAME

kubectl exec $POD_NAME -- ls

curl http://localhost:8001

curl http://localhost:8001/api/v1/namespaces/default/pods/$POD_NAME:8080/proxy/
20 changes: 20 additions & 0 deletions 4_expose_your_app/kubectl_labels.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/usr/bin/env bash

kubectl describe deployment

kubectl get pods -l app=kubernetes-bootcamp

kubectl get services -l app=kubernetes-bootcamp

export POD_NAME="$(kubectl get pods -o go-template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}')"
echo "Name of the Pod: $POD_NAME"

kubectl label pods "$POD_NAME" version=v1

kubectl describe pods "$POD_NAME"

kubectl get pods -l version=v1

kubectl delete service -l app=kubernetes-bootcamp

kubectl exec -ti $POD_NAME -- curl http://localhost:8080
16 changes: 16 additions & 0 deletions 4_expose_your_app/kubectl_services.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/usr/bin/env bash

kubectl get pods

kubectl get services

kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --port 8080

kubectl get services

kubectl describe services/kubernetes-bootcamp

export NODE_PORT="$(kubectl get services/kubernetes-bootcamp -o go-template='{{(index .spec.ports 0).nodePort}}')"
echo "NODE_PORT=$NODE_PORT"

curl http://"$(minikube ip):$NODE_PORT"
3 changes: 3 additions & 0 deletions 4_expose_your_app/kubectl_tunnel.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/usr/bin/env bash

minikube service kubernetes-bootcamp --url
27 changes: 27 additions & 0 deletions 5_scale_app/kubectl_scale.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/usr/bin/env bash

kubectl get deployments

kubectl get rs

kubectl scale deployments/kubernetes-bootcamp --replicas=4

kubectl get deployments

kubectl get pods -o wide

kubectl describe deployments/kubernetes-bootcamp

kubectl describe services/kubernetes-bootcamp

export NODE_PORT="$(kubectl get services/kubernetes-bootcamp -o go-template='{{(index .spec.ports 0).nodePort}}')"

echo NODE_PORT=$NODE_PORT

curl http://"$(minikube ip):$NODE_PORT"

kubectl scale deployments/kubernetes-bootcamp --replicas=2

kubectl get deployments

kubectl get pods -o wide
3 changes: 3 additions & 0 deletions 5_scale_app/kubectl_tunnel.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/usr/bin/env bash

minikube service kubernetes-bootcamp --url
13 changes: 13 additions & 0 deletions 6_update_app/kubectl_rollback.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/usr/bin/env bash

kubectl set image deployments/kubernetes-bootcamp kubernetes-bootcamp=gcr.io/google-samples/kubernetes-bootcamp:v10

kubectl get deployments

kubectl get pods

kubectl describe pods

kubectl rollout undo deployments/kubernetes-bootcamp

kubectl delete deployments/kubernetes-bootcamp services/kubernetes-bootcamp
9 changes: 9 additions & 0 deletions 6_update_app/kubectl_update.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/usr/bin/env bash

kubectl get pods

kubectl describe pods

kubectl set image deployments/kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2

kubectl describe services/kubernetes-bootcamp
12 changes: 12 additions & 0 deletions 6_update_app/kubectl_verify.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/usr/bin/env bash

kubectl describe services/kubernetes-bootcamp

export NODE_PORT="$(kubectl get services/kubernetes-bootcamp -o go-template='{{(index .spec.ports 0).nodePort}}')"
echo "NODE_PORT=$NODE_PORT"

curl http://"$(minikube ip):$NODE_PORT"

kubectl rollout status deployments/kubernetes-bootcamp

kubectl describe pods

0 comments on commit 0fb1674

Please sign in to comment.