Comandos OpenShift oc para principiantes
Un día encontré este post sobre bash. Si eres un usuario profesional, probablemente ya conozcas todos estos consejos, pero si eres un novato o no un usuario tan profesional, lo más probable es que esta publicación te alegre el día.
Pensé que sería útil crear una publicación similar para el comando oc. El comando oc es genial y todo el mundo debería saberlo. Está bien diseñado, es consistente, flexible y, como verá, tiene muchas características ocultas que vale la pena probar.
Si es un profesional de OpenShift, probablemente ya sepa la mayor parte de lo que revelaré aquí; de lo contrario, si recién está comenzando con OpenShift o no es un usuario experimentado, esto le ahorrará algo; tiempo precioso.
Siempre uso el indicador --loglevel cuando no sé qué está pasando o recibo un mensaje de error poco amigable. Escribe información de nivel de registro en stderr. Dependiendo del nivel de registro, obtendrá llamadas de API Rest de curl, respuestas del cuerpo de API Rest e información aún más detallada.
Si desea parchear un objeto OCP, el nivel de registro 9 es muy conveniente porque le muestra el parche (cuerpo de solicitud de API) que necesita aplicar.
Supongamos que desea cambiar la etiqueta del objeto de servicio, en este caso la etiqueta es "app:hello-jorge".
Nota: En momentos desesperados, siempre puedes sumar cualquier número de 9 y el resultado será solo un 9, pero es posible que te sientas aliviado.
Sí, has leído bien. Puede reemplazar al usuario que ejecuta el comando oc o, en terminología OCP, puede "suplantar" al usuario. Obviamente, si tiene permisos suficientes para suplantar, entonces solo necesita usar flag --as .
Por ejemplo:
Además, es posible realizar suplantación de grupo en lugar de suplantación de usuario:
En muchos casos es muy cómodo y rápido, por ejemplo , para comprobar si un usuario es posible realizar acciones específicas o examinar el resultado que recibirá el usuario cuando ejecute oc. También es útil cuando estás confundido acerca de roles y permisos.
El comando oc whoami es bien conocido, especialmente con el indicador -t para obtener el token del titular del usuario/sesión actual. Pero, ¿qué pasa cuando tienes un token y no sabes quién es el propietario?
Una cosa que puedes hacer es iniciar sesión en OpenShift usando tu token y luego hacer oc whoami... espera un segundo. oc whoami te dará esta información! Simplemente pase el token como tercer argumento en la línea de comando, no se requieren indicadores.
Pruébalo:
Puedes ejecutar un pod y obtener un shell. A veces es útil obtener una copia de la configuración de un pod en ejecución y usar el shell para solucionar el problema. Este es el comportamiento predeterminado.
Al presentar la opción de depuración oc, puede ejecutar un contenedor como root, o cualquier otro ID de usuario, para forzarlo a ejecutar varios comandos en un nodo específico.
Debes ejecutar el comando contra un dc válido, por ejemplo:
Los objetos OpenShift/k8s a veces son complejos y tienen muchos campos. Muchas veces termino buscando ejemplos de definición de objetos en la documentación de OCP u otras fuentes. Puede considerar oc explicó como una fuente de confianza cuando se trata de definiciones de objetos OCP/k8s.
OC Explique le proporciona documentación de un recurso y sus campos.
Es útil al declarar nuevos objetos OCP o cuando no se tiene acceso a la documentación oficial de OCP.
Por ejemplo, puede obtener la descripción del campo de afinidad del documento del pod y de la especificación del pod:
Una cosa realmente interesante del comando oc es que tiene una funcionalidad incorporada para formatear la salida. . Todos conocemos -o json o -o yaml , pero flag -o te ofrece muchas otras posibilidades.
De todas estas opciones de salida que encontré, go-template y jsonpath son las más poderosas:
Por ejemplo, digamos que desea obtener una ruta específica (enrutador) (Servicios expuestos mediante el enrutador de registro de Docker:
O desea conocer la estrategia de implementación del enrutador DC:
Como puede ver, el comando oc es excelente. Te animo a que sigas jugando con él porque es una de las cosas más interesantes de OpenShift.
Jorge Tudela González de Riancho trabaja en Red Hat España como consultor cloud, especializado en OpenShift y tecnologías relacionadas con contenedores.