3.1 Managing Containers and Kubernetes Flashcards
Como se ejecuta un contenedor con la imagen registry.access.redhat.com/ubi8/httpd-24 con kubernetes y openshift
kubectl run web-server –image registry.access.redhat.com/ubi8/httpd-24
oc run web-server –image registry.access.redhat.com/ubi8/httpd-24
Como se ejecuta en modo interactivo el shell /bin/bash de la imagen registry.access.redhat.com/ubi9/ubi
oc run -it my-app –image registry.access.redhat.com/ubi9/ubi \
–command – /bin/bash
Como puedo eliminar el contenedor al finalizar
kubectl run -it my-app –rm \
–image registry.access.redhat.com/ubi9/ubi \
–restart Never –command – date
Como se ejecuta el comando date en el contenedor en kubernetes en tiempo de ejecución run
kubectl run -it my-app –rm \
–image registry.access.redhat.com/ubi9/ubi \
–restart Never –command – date
Cuales son las 3 políticas del parámetro –restart
–restart Never
Always
If the restart policy is set to Always, then the cluster continuously tries to restart a successfully exited container, for up to five minutes. The default pod restart policy is Always. If the –restart option is omitted, then the pod is configured with the Always policy.
OnFailure
Setting the pod restart policy to OnFailure tells the cluster to restart only failed containers in the pod, for up to five minutes.
Never
If the restart policy is set to Never, then the cluster does not try to restart exited or failed containers in a pod. Instead, the pods immediately fail and exit.
Como se puede obtener los rangos de uid que puede tener asignados un proyecto
oc describe project my-app
Como se envia una variable de ambiente a la ejecución de un contenedor registry.redhat.io/rhel9/mysql-80 variable MYSQL_ROOT_PASSWORD con valor myP@$$123
oc run mysql \
–image registry.redhat.io/rhel9/mysql-80 \
–env MYSQL_ROOT_PASSWORD=myP@$$123
Como se pueden ejecutar comando
date dentro de un pod ejecutandose llamado my-app
oc exec my-app – date
Como se puede ejecutar un comando date en el pod my-app y contenedor ruby-container con kubernetes
kubectl exec my-app -c ruby-container – date
como se obtienen los logs de un pod
oc logs
Como puedo crear una sesión interactiva al contenedor ruby-container con oc y exec
oc exec my-app -c ruby-container -it – bash -il
Que significan las banderas en oc logs
-l or –selector=’’
–tail=
-c or –container=
-f or –follow
-p or –previous=true
-l or –selector=’’
Filter objects based on the specified key:value label constraint.
–tail=
Specify the number of lines of recent log files to display; the default value is -1 with no selectors, which displays all log lines.
-c or –container=
Print the logs of a particular container in a multicontainer pod.
-f or –follow
Follow, or stream, logs for a container.
-p or –previous=true
Como puedo crear una sesión interactiva al contenedor ruby-container con oc y sin exec
oc attach my-app -it
Como se elimina un pod php-app
oc delete pod php-app
Como se eliminan los pods que tengan el label my-app con kubernetes
kubectl delete pod -l app=my-app
Como se puede eliminar un recurso en formato json o yaml
oc delete pod -f ~/php-app.json
Como se puede eliminar un recurso json con kubectl desde stdin
cat ~/php-app.json | kubectl delete -f -
Como se elimina un pod con 10 segundos de tiempo de gracia antes de forzarlo
oc delete pod php-app –grace-period=10
De que 2 modos puedes bajar el pod inmediatamente y eliminarlo
oc delete pod php-app –now
Como puedes eliminar un pod forzándolo sin esperar confirmación
kubectl delete pod php-app –force
Como puedes eliminar todos los pods
kubectl delete pods –all
Como puedes eliminar el proyecto my-app
oc delete project my-app
Para que sirven los comandos
crictl pods
crictl image
crictl inspect
crictl exec
crictl logs
crictl ps
crictl pods
Lists all pods on a node.
crictl image
Lists all images on a node.
crictl inspect
Retrieve the status of one or more containers.
crictl exec
Run a command in a running container.
crictl logs
Retrieve the logs of a container.
crictl ps
List running containers on a node.
De que dos formas se puede obtener el nombre del nodo donde se encuentra un pod
kubectl get pods -o wide
oc get pod postgresql-1-8lzf2 -o jsonpath=’{.spec.nodeName}{“\n”}’
Como entras a al nodo worker en modo interactivo
oc debug node/worker
chroot /host
Como puedo desplegar el contenedor postgresql en el nodo con crio
crictl ps –name postgresql
Como puedo desplegar el contenedor posgresql en json y obtener el id de los contenedores
crictl ps –name postgresql -o json | jq .containers[0].id
Como puedo obtener el pid en json y yaml del contenedor id 27943ae4f3024
crictl inspect -o json 27943ae4f3024 | jq .info.pid
crictl inspect 27943ae4f3024 | grep pid
Como se pueden obtener los namespaces del contenedor con pid 43453
lsns -p 43453
Como se puede ejecutar un comando ps -ef dentro del namespace de un contenedor con el pid 43453
nsenter -t 43453 -p -r ps -ef