2. Troubleshooting Pods Flashcards
Cómo se loggea
oc login -u admin -p pass URL
Cómo obtienes la versión del cluster
oc get clusterversion
oc describe clusterversion
Cómo obtienes los nodos del cluster
oc get nodes
Cómo puedes ver el log de un pod
oc logs POD
Cómo puedes acceder a un nodo como root
oc debug -t node —as-root
Cómo se llama el servicio que administra los contenedores
Kubelet
Cómo se válida el servicio de kubelet de un nodo como root
oc debug -t node –as-root
chroot /host
systemctl status kubelet
Cómo se válida el servicio cri-o de un nodo como root
oc debug -t node/NAME –node–as-root
chroot /host
systemctl status cri-o
crictl ps —name etcd
Cómo se edita la configuración de despliegue de la aplicaciones
oc edit deployment/NAME
Cómo se obtienen los operadores del cluster
oc get clusteroperators
Cómo se ven los logs del kubeadmin del nodo master01
oc adm node-logs -u kubeadmin master01
Cual es el usuario administrador default del cluster en openshift
kubeadmin
Cómo se obtienen los procesos y su uso en tiempo real en los nodos
oc get nodes
oc adm top node -l NAME
Cómo se crea un proyecto nuevo
oc create project NAME
Cómo se selecciona el proyecto en el cual trabajarás
oc project NAME
Cómo se obtienen los Contenedores
oc get pods
Cómo se obtienen el estado de los despliegues
oc status
Cómo se obtienen los eventos de un pod
oc get events
Cómo se obtienen los eventos de un contenedor
oc get events
Como puedes ver los logs de un contenedor
oc logs pod -c container
Como puedes ver los logs de un pod del contenedor anterior
oc logs pod –previous
Como se obtienen los operadores
oc get clusteroperators
Como se obtiene información del cluster
oc cluster-info
como se obtienen las versiones de las apis soportadas
oc api-versions
Como se obtienen las versiones de los recursos api
oc api-resources
3 Banderas de api-resources
–namespaced=true
–sort-by=name
–api-group=apps
Como se obtiene la version del cluster
oc get clusterversion
Como se obtiene el estado actual de un proyecto
oc status
Como se obtiene un recurso
oc get resource NAME
Como puedes ver el consumo de los nodos
oc adm top node
Como puedes ver las banderas de consumo de un nodo
oc describe node NAME
Como se puede diagnosticar un operador
oc projects
oc get pods -n project-name
oc logs podname -n project-name
oc describe pod -n project-name
Como se obtienen los storageclass
oc get storageclass
Como se establece el volumen dinámicamente al despliegue example-application usando el nombre example-pv-storage con nfs-storage class modo río tamaño 15Gi en la ruta /var/lib/example-app claim name example-pv-claim
oc set volumes deployment/example-application
–add –name example-pv-storage –type pvc –claim-class nfs-storage –claim-mode rwo –claim-size 15Gi –mount-path /var/lib/example-app –claim-name example-pv-claim
Cuales son los access modes de un persistent volume claim
ReadWriteMany RWX Kubernetes can mount the volume as read-write on many nodes.
ReadOnlyMany ROX Kubernetes can mount the volume as read-only on many nodes.
ReadWriteOnce RWO Kubernetes can mount the volume as read-write on only a single node
Como se elimina un persistent volume claim
oc delete pvc/example-pvc-storage
Como se crea la app postgresql-persistent con la imagen registry.redhat.io/rhel8/postgresql-13:1-7
usuario redhat
password redhat123
database persistentdb
oc new-app –name postgresql-persistent \
> –image registry.redhat.io/rhel8/postgresql-13:1-7 \
> -e POSTGRESQL_USER=redhat \
> -e POSTGRESQL_PASSWORD=redhat123 \
> -e POSTGRESQL_DATABASE=persistentdb
Como se asigna el disco ya existente de postgresql-storage al deployment postgresql-persistent2 con name postgresql-storage
oc set volumes deployment/postgresql-persistent2
–add
–name postgresql-storage
–type pvc
–claim-name postgresql-storage
–mount-path /var/lib/pgsql
Como se elimina el pvc postgresql-storage
oc delete pvc/postgresql-storage
Como se ve la tinta del nodo master01
oc describe node master01|grep Taints
Como se asigna una tinta al nodo master01
oc adm taint node master01 node=worker:NoSchedule
Como se quita la tinta node=worker al nodo master01
oc adm taint node master01 node=worker:NoSchedule-
Como se conecta por ssh al pod test
oc rsh test
Como se copia el archivo /test.txt al container my-container del pod test
oc cp /test.txt test:/my-container
Como se exporta el puerto local 8080 del pod test en el puerto 80
oc port-forward test 8080:80
Como se obtienen los logs a nivel 10
oc get pods –loglevel 6
Como se obtiene el token de autenticacion
oc whoami -t
Como puedo hacer un skopeo a la imagen
[student@workstation ~]$ oc get events
LAST SEEN TYPE REASON OBJECT MESSAGE
7h17m Normal Scheduled pod/psql-768d797946-d2gj4 Successfully assigned install-troubleshoot/psql-768d797946-d2gj4 to master0
2
7h17m Normal AddedInterface pod/psql-768d797946-d2gj4 Add eth0 [10.9.0.21/23] from openshift-sdn
3h22m Normal Pulling pod/psql-768d797946-d2gj4 Pulling image “registry.redhat.io/rhel8/postgresq-13:1”
7h16m Warning Failed pod/psql-768d797946-d2gj4 Failed to pull image “registry.redhat.io/rhel8/postgresq-13:1”: rpc error: code = Unknown desc = reading manifest 1 in registry.redhat.io/rhel8/postgresq-13: unknown: Not Found
7h16m Warning Failed pod/psql-768d797946-d2gj4 Error: ErrImagePull
2m32s Normal BackOff pod/psql-768d797946-d2gj4 Back-off pulling image “registry.redhat.io/rhel8/postgresq-13:1”
7h16m Warning Failed pod/psql-768d797946-d2gj4 Error: ImagePullBackOff
7h17m Normal SuccessfulCreate replicaset/psql-768d797946 Created pod: psql-768d797946-d2gj4
7h17m Normal ScalingReplicaSet deployment/psql Scaled up replica set psql-768d797946 to 1
podman login registry.redhat.io
Username: your_username
Password: your_password
Login Succeeded!
[student@workstation ~]$ skopeo inspect \
> docker://registry.redhat.io/rhel8/postgresq-13:1
FATA[0000] Error parsing image name “docker://registry.redhat.io/rhel8/postgresq-13:1”: Error reading manifest 1 in registry.redhat.io/rhel8/postgresq-13: unknown: Not Found