Kubernetes resources


Create a Kubernetes deployment based on a Docker image:


kubectl create deployment nginx-depl --image nginx

Check it:


kubectl get deployments.apps
kubectl get pod
kubectl get replicasets.apps


kubectl edit deployments.apps nginx-depl

kubectl exec -it POD -- bash

Usually we'll deal with deployments and not directly with pods or replicasets.


eval $(minikube docker-env)

To see the STDOUT of the container (pod): (using the correct name of your pod)


kubectl logs echo-get-5b44b98785-qwjjv

To access the web application: (using the IP address from the previous output)


minikube ssh
curl http://172.18.0.5:5000


minikube service echo-get

service share port


kubectl port-forward echo-get-5b44b98785-qwjjv 5000:5000

tail the stdout


kubectl logs -f echo-get-5b44b98785-qwjjv

TODO mount external disk


minikube mount $(pwd):/external
minikube ssh


kubectl config get-contexts

kubectl config current-context
kubectl config use-context minikube
kubectl config view
kubectl config use-context do-nyc1-k8s-1-21-2-do-2-nyc1-1626880181820
kubectl get nodes


kubectl run hello-minikube --image=k8s.gcr.io/echoserver:1.4 --port=8080
kubectl get deployments
kubectl get pods
kubectl expose pod hello-minikube --type=NodePort
minikube service hello-minikube --url
minikube service hello-minikube
kubectl describe svc hello-minikube

kubectl delete pods hello-minikube
kubectl delete service hello-minikube


examples/k8s/service_echo_get.yml
apiVersion: v1
kind: Service
metadata:
  name: echo-get-service
  labels:
    run: echo-get-service
spec:
  ports:
  - port: 5000
    protocol: TCP
    targetPort: 5000
  selector:
    run: echo-get-deployment
  type: NodePort