diff --git a/1_create_kubernetes_cluster/kubectl.sh b/1_create_kubernetes_cluster/kubectl.sh new file mode 100644 index 0000000..9698c0e --- /dev/null +++ b/1_create_kubernetes_cluster/kubectl.sh @@ -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 \ No newline at end of file diff --git a/1_create_kubernetes_cluster/kubectl_addons.sh b/1_create_kubernetes_cluster/kubectl_addons.sh new file mode 100644 index 0000000..4fa1dcb --- /dev/null +++ b/1_create_kubernetes_cluster/kubectl_addons.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +kubectl delete service hello-node +kubectl delete deployment hello-node + +minikube stop \ No newline at end of file diff --git a/1_create_kubernetes_cluster/kubectl_cleanup.sh b/1_create_kubernetes_cluster/kubectl_cleanup.sh new file mode 100644 index 0000000..9698c0e --- /dev/null +++ b/1_create_kubernetes_cluster/kubectl_cleanup.sh @@ -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 \ No newline at end of file diff --git a/1_create_kubernetes_cluster/kubectl_service.sh b/1_create_kubernetes_cluster/kubectl_service.sh new file mode 100644 index 0000000..d8311ed --- /dev/null +++ b/1_create_kubernetes_cluster/kubectl_service.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +kubectl expose deployment hello-node --type=LoadBalancer --port=8080 + +kubectl get services + +minikube service hello-node \ No newline at end of file diff --git a/1_create_kubernetes_cluster/minikube_start.sh b/1_create_kubernetes_cluster/minikube_start.sh new file mode 100644 index 0000000..2001228 --- /dev/null +++ b/1_create_kubernetes_cluster/minikube_start.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +minikube start + +minikube dashboard \ No newline at end of file diff --git a/2_deploy_an_app/kubectl_deploy.sh b/2_deploy_an_app/kubectl_deploy.sh new file mode 100644 index 0000000..5416bef --- /dev/null +++ b/2_deploy_an_app/kubectl_deploy.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +kubectl create deployment kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1 + +kubectl get deployments \ No newline at end of file diff --git a/2_deploy_an_app/kubectl_proxy.sh b/2_deploy_an_app/kubectl_proxy.sh new file mode 100644 index 0000000..ee1a1b4 --- /dev/null +++ b/2_deploy_an_app/kubectl_proxy.sh @@ -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/ \ No newline at end of file diff --git a/3_explore_your_app/kubectl_toubleshooting.sh b/3_explore_your_app/kubectl_toubleshooting.sh new file mode 100644 index 0000000..dc0a8ea --- /dev/null +++ b/3_explore_your_app/kubectl_toubleshooting.sh @@ -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/ \ No newline at end of file diff --git a/4_expose_your_app/kubectl_labels.sh b/4_expose_your_app/kubectl_labels.sh new file mode 100644 index 0000000..6cc683a --- /dev/null +++ b/4_expose_your_app/kubectl_labels.sh @@ -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 \ No newline at end of file diff --git a/4_expose_your_app/kubectl_services.sh b/4_expose_your_app/kubectl_services.sh new file mode 100644 index 0000000..5430e69 --- /dev/null +++ b/4_expose_your_app/kubectl_services.sh @@ -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" \ No newline at end of file diff --git a/4_expose_your_app/kubectl_tunnel.sh b/4_expose_your_app/kubectl_tunnel.sh new file mode 100644 index 0000000..6c53d81 --- /dev/null +++ b/4_expose_your_app/kubectl_tunnel.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +minikube service kubernetes-bootcamp --url \ No newline at end of file diff --git a/5_scale_app/kubectl_scale.sh b/5_scale_app/kubectl_scale.sh new file mode 100644 index 0000000..ec11de8 --- /dev/null +++ b/5_scale_app/kubectl_scale.sh @@ -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 \ No newline at end of file diff --git a/5_scale_app/kubectl_tunnel.sh b/5_scale_app/kubectl_tunnel.sh new file mode 100644 index 0000000..6c53d81 --- /dev/null +++ b/5_scale_app/kubectl_tunnel.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +minikube service kubernetes-bootcamp --url \ No newline at end of file diff --git a/6_update_app/kubectl_rollback.sh b/6_update_app/kubectl_rollback.sh new file mode 100644 index 0000000..416b4a1 --- /dev/null +++ b/6_update_app/kubectl_rollback.sh @@ -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 \ No newline at end of file diff --git a/6_update_app/kubectl_update.sh b/6_update_app/kubectl_update.sh new file mode 100644 index 0000000..1922aca --- /dev/null +++ b/6_update_app/kubectl_update.sh @@ -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 diff --git a/6_update_app/kubectl_verify.sh b/6_update_app/kubectl_verify.sh new file mode 100644 index 0000000..bb076e6 --- /dev/null +++ b/6_update_app/kubectl_verify.sh @@ -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 \ No newline at end of file