OpenShift oc client

Cliente de OpenShift

El openshift oc client es la forma de interactuar con nuestro openshift. Vamos a ver como utilizarlo.

OpenShift oc client vs Minishift client

Hay que diferenciar los dos clientes que intervienen en el uso de openshift, sobre todo cuando lo instalamos con un minishift.

Las primeras veces que trabajamos con openshift en un minishift resulta confuso el motivo de que existan dos clientes.

El motivo es muy sencillo, minishift es una forma fácil de tener un openshift origin instalado en local. Es por ello que necesitamos dos clientes, uno para interactuar con el minishift y otro para interactuar con el openshift.

Que aporta el cliente oc de OpenShift

La respuesta rápida es: todo. Es la herramienta para interactuar con el openshif y realizar las tareas de gestión.

Hay que tener en cuenta que el openshift es una herramienta eminentemente de infraestructura. Independientemente de que desde desarrollo nos aprovechemos de sus cualidades.

Las personas que normalmente manejan este tipo de infraestructuras están bastante habituadas a la línea de comandos.

Sobre todo porque el tener una línea de comandos potente facilita hacer scripts. Y esta automatización es lo que nos interesa en este tipo de herramientas.

El contenido del vídeo

En el video lo que vamos a ver como acceder al cliente oc desde una instalación de minishift. Veremos algunos de los comandos y explicaremos las diferencias entre las dos herramientas. Esta herramienta  nos dará acceso a toda la potencia de openshift.

Si os interesa este tipo de contenido no dejes de pasar por la página de cursos. Donde podréis encontrar más contenido referido a todos los temas de optimización de equipos de desarrollo que tengo ahora publicados.

Con ello me ayudáis a costear los materiales necesarios para crear el resto de contenido gratuito que hay tanto en este web como en el canal de YouTube.

Autoescalado en Openshift

OpenShift autoescalado

Quiero hablaros del autoescalado en openshift, una de las características que más llama la atención cuando vemos por primera vez el producto.

Que es el autoescalado

El concepto de autoescalado en OpenShift es bastante sencillo de explicar.

Tenemos un número mínimo de instancias de nuestro servicio o aplicación y queremos que cuando esa «máquina» llegue a una determinada carga se cree una instancia nueva. El motivo es  descargar a las que ya existen de trabajo y repartirselo entre más.

Aportación del autoescalado en openshift

En mi opinión el autoescalado en openshift lo que nos puede aportar es una mayor densidad de servicios en el mismo hardware.

El poder crear automáticamente nuevas instancias cambia la perspectiva. Ya no estamos obligados a tener levantadas todas las máquinas para dar servicio a los picos de carga. Es más no necesitamos que las máquinas tengan un dimensionamiesto grande. Podemos empezar con una capacidad básica y según se necesite se irán creando nuevas. Y cuando dejen de necesitarse se destruirán.

Que aporta a la optimización de equipos de desarrollo

Realmente el autoescalado no creo que aporte mucho a la optimización de los equipos de desarrollo. Básicamente porque es una característica que resulta más útil en entornos productivos.

En esos entornos es donde puede ser más necesario el disponer de diferentes instancias y que se vayan creando o destruyendo para adecuarse a la carga del momento.

En un equipo de desarrollo es más útil la creación de entornos en base a plantillas. Como ya vimos con en el articulo de wordpress con openshift es muy fácil de realizar.

Cuando entre un nuevo integrante al equipo por ejemplo.

El vídeo

Os dejo aqui el vídeo en el que os enseño el autoescalado en OpenShift. La URL de la aplicación que se usa en el ejemplo es esta: https://github.com/inigoserrano/cursoOpenShiftAppSin

Si os interesan estos temas no dudes en pasaros por mi página de cursos en la que podréis encontrar contenidos sobre esta temática.

OpenShift sencillo para desarrolladores

OpenShift sencillo para desarrolladores. La sabiduría popular dice que no hay dos sin tres, y este es mi tercer curso.

El futuro del desarrollo y los contenedores Docker

Creo que el futuro, y ya casi presente, del desarrollo de aplicaciones pasa por los contenedores. Lo que popularmente conocemos como Docker.

Los contenedores son una tecnología muy potente y que proporciona claros beneficios. Pero como toda tecnología disruptiva tienen un inconveniente. Hay que conocerla.

Como sabeis los que me seguís en este blog estoy muy interesado en la optimización de los equipos de desarrollo. Y ante una tecnología tan interesante se me plantea una cuestión.

¿Como consigo introducir esta tecnología en el equipo de trabajo?

La primera forma que se me viene a la cabeza es mediante la formación.

OpenShift sencillo para desarrolladores

Con esta necesidad en mente he creado el curso OpenShift sencillo para desarrolladores.

Es un curso muy didáctico y práctico. Con un planteamiento muy simple. Es como si viniese mi jefe y me digese que tengo un nuevo compañero en el equipo que no sabe OpenShift y que tengo que contarle lo necesario para que pueda ser productivo.

Los que hemos estado en esa situación sabemos que nadie se pone en plan academicista. Se cuenta lo que hace falta saber y sin tecnicismos.

Ese es el enfoque del curso. Y de hecho del resto de cursos que tengo.

Gratis vs de pago

Hay personas que plantean que toda la información está gratuitamente en Internet. Es cierto, hay documentación de buena calidad en el web de OpenShift. Pero la cuestión es:

¿En cuanto valoras tu tiempo?

El curso tiene un precio bastante económico y en un par de horas vas a tener una visión general de que es OpenShift y como funciona. Buscando por internet te llevaría bastante más tiempo conseguir.

Además de que con el curso puedes conseguir una certificación que podrás añadir al curriculum.

Curso de Docker vs curso de OpenShift

Tengo también un curso sobre Docker, de hecho fue el primero. La duda podría surgir sobre que es lo que aporta el curso de OpenShift sobre el de Docker.

Son cursos complementarios, de hecho para hacer el curso de OpenShift es imprescindible conocer Docker.

El curso de Docker está más orientado a conocer los fundamentos de la tecnología de contenedores, mientras que el de OpenShift está orientado a conocer la herramienta, y como poner esos contenedores dentro de un entorno empresarial.

OpenShift vs Docker

A la hora de llevar los contenedores Docker a ámbitos empresariales tenemos varias opciones.

Probablemente la que sea más sencilla de ver sea Docker Enterprise. Pero hay otras opciones, como OpenShift.

En el área en el que me muevo RedHat es bastante fuerte. Hay muchos clientes con Linux de RedHat y servidores de aplicaciones JBoss.

Así que, en mi opinión, la evolución lógica es seguir con un fabricante que ya conoces y con el que estás contento. Y sobre todo que tiene un buen producto.

OpenShift se basa en la misma tecnología de los contenedores Docker y en otra serie de herramientas líderes en el mercado, como puede ser Kubernetes.

Pero tampoco quiero destripar todo OpenShift en este post.

Mejor hacer el curso.

Os dejo también el video de presentación

Git sencillo con SourceTree #4 Trabajo sin conexión

Conexión o mas bien la falta de conexión es de lo que quiero hablar. Porque es con una de las características que le pido aun control de versiones. Una característica que el típico subversión no proporciona pero si Git.

Es algo que puede parecer accesorio pero creo que es útil.

Video de la lección Trabajo sin conexión

Transcripción de la lección Trabajo sin conexión

Bien esta es una característica que cuando lees la documentación de git la verdad es que yo creo, en mi modesta opinión, la explican muy mal.

Porque dicen es que si vas en un avión que no tienes conexión y puedes hacer un comit. Y dices claro si yo normalmente no viajo en avión y la gente con la que trabajo en los proyectos normalmente no viaja en avión.

Con lo cual parece que es una característica que no necesitas porque bueno si yo estoy siempre en mis oficinas… Pero lo que sí que es cierto es que por lo menos a mí a veces sí que me ha pasado y sobre todo cada vez más con que proliferan más los portátiles que te puedes encontrar que tú estás con tu portátil y estás en en un cliente en el que no tienes conexión a tu oficina, a tu repositorio.

Y poder estar haciendo en esas situaciones commit o tener acceso a todo el histórico de los cambios en el código pues la verdad es que es una característica que a mí por lo menos me parece que es bastante interesante.

Puede ser que haya gente que no lo necesite nunca porque tiene un ordenador de sobremesa y no tiene posibilidad de trabajar fuera de su ordenador con su conectividad con su servidor.

Pero la verdad es que yo creo que es una funcionalidad que es bastante bastante interesante

Configurar Minishift

Quiero enseñaros a configurar Minishift. Por lo menos la configuración básica.

Configurar Minishift vs OpenShift.

Lo primero que hay que aclarar es que la configuración de Minishift es completamente diferente a la de OpenShift.

Realmente Minishift es una versión empaquetada de OpenShift. Es decir es una forma fácil de tener un OpenShift instalado en nuestro ordenador.

Esto hace que tengamos dos configuraciones. La propia del minishift. Es decir como queremos configurar la máquina virtual en la que corre el OpenShift.

Y por otra parte la configuración propia del OpenShift.

Ene ste caso vamos a ver la configuración del Minishift.

Configuración básica

La configuración que vamos a ver en el vídeo es la configuración básica. Lógicamente no vamos a ver todas las opciones.

Normalmente dentro del enfoque de un equipo de desarrollo lo que vamos a necesitar configurar son cosas básicas. Normalmente necesitaremos subirle la memoria o el espacio en disco duro.

No es tan habitual tener que modificar la configuración de red. Si es el caso normalmente ese tipo de configuración la suele hacer la gente de sistemas. Ya que ellos son los que mejor conocen todas las peculiaridades de la red.

De todas maneras el procedimiento es el mismo tanto para subir la memoria como para cambiar el resto de configuraciones.

A tener en cuenta

Cuando vayáis a configurar el minishift tener en cuenta que hay ciertos parámetros que si los cambiáis puede que os obligue a empezar de cero. Así que lo mejor es dimensionar bien la máquina.

Aunque el minishift se utiliza principalmente en entornos locales.

El video

Os dejo el video en el que os muestro como configurar el minishift.

SI os ha gustado el video y quereis más contenido sobre optimización de equipos de desarrollo podéis echarle un vistazo a mi página de cursos. Ahí encontrareis más contenido y me ayudáis a costear el contenido gratuito que tengo.

Git sencillo con SourceTree #3 Que le pido a un control de versiones

Creo que la mejor forma, o por lo menos la mas amena, de explicar porque git es un scm (control de versiones) tan bueno es enfocarlo desde una perspectiva de que es lo que le pediría a un control de versiones.

Vídeo de la lección

Transcripción de la lección

Probablemente la mejor forma de entender por qué el git está teniendo tanto éxito últimamente es contando qué es lo que, por lo menos yo le pido a un control de versiones.

De tal forma que podremos ver que efectivamente git encaja o da respuesta a todas estas necesidades.

Y ese es uno de los motivos por los cuales está teniendo tantísimo éxito.

Entonces vamos a ir viendo uno a uno todas esas cosas que yo por lo menos le pido a un control de versiones.

Para pues entender que es cada cosa, en qué situación nos puede servir, nos puede ser de utilidad y ver pues que efectivamente el git nos encaja en todas esas cosas

 

Desinstalar MiniShift

En esta ocasión vamos a ver como desinstalar MiniShift.

Desinstalar Minishift

Desinstalar un minishift no es un proceso complejo. Simplemente hay que saber que ficheros y directorios hay que borrar.

Hay diferentes grados el desinstalaciones. La primera es simplemente desinstalar la máquina virtual.

Esto nos puede ser útil si lo que queremos es volver a empezar de cero, por ejemplo si hemos hecho pruebas con el openshift y queremos empezar de una copia limpia.

Luego también podemos hacer eliminaciones mas drásticas. Es decir desinstalar completamente el producto.

El vídeo

Creo que lo mejor es que veáis el vídeo en el que os enseño todos los pasos a dar para desintalar minishift. Básicamente porque no hay mucho mas en lo que me pueda explicar. Es una desinstalación.

Lo único recordaros que si os interesan este tipo de contenidos y quereis profundizar en alguno de ellos podéis pasaros por la página de cursos. Ahí encontrareis contenido mas completo y estructurado. Y también me ayudáis a sufragar los costes del contenido gratuito que produzco.

Versiones de OpenShift

Quiero hablaros de las versiones de OpenShift. Porque hay confusión, sobre todo buscando por internet. Hay recursos, con un par de años o más que no corresponden con las últimas versión del producto

Hay dos grandes grupos de versiones de OpenShift. El cambio fundamental se produjo en la versión 3 de OpenShift.

Versiones de OpenShift anteriores a la 3

Las versiones anteriores a la 3 se basan en el concepto de Gear. Una solución técnica propia de OpenShift. En estas versiones existían los cartuchos. Estos contenían los programas a ejecutar.

Pero como os comentaba es una solución propietaria.

Versiones de OpenShift 3 y superiores

A partir de la versión 3 de OpenShift el producto lo han reescrito para usar la tecnología de contenedores. Es lo que popularmente conocemos como Docker. Y también para usar Kubernetes. Aparte de otra serie de herramientas que complementan y arropan a estas dos, que son las principales.

Contenedores en OpenShift

La piedra angular de las versiones 3 de OpenShift son los contenedores. Todo lo que se despliega y se construye en openshift son contenedores. Es la unidad mínima de trabajo de OpenShift.

Si estais interesados en manejar OpenShift, bien para instalar y mantener el producto como si simplemente queréis usarlo, debes conocer de contenedores docker.

Kubernetes orquestador de contenedores

Una de las problemáticas de los contenedores, sobre todo cuanto más hacia los micro servicios orientemos nuestra arquitectura, es lo atómico de los servicios.

El planteamiento de los contenedores acaba llevando hacia una arquitectura mas cercana a los micro servicios que las arquitecturas tradicionales. Esto hace que no se tengan servidores con multitud de aplicaciones corriendo en ellos.

Se tiende más a un servidor con una aplicación.

Esto da lugar a muchos servidores desplegados, con lo que es necesario disponer de una solución de orquestación.

Esta es la responsabilidad de Kubernetes.

Como mejorar la base de conocimientos

Si os interesa este mundo de OpenShift y de los contenedores, que tanto auge está teniendo actualmente, es necesario tener unos sólidos conocimientos de la tecnología de contenedores.

En la página de cursos dispongo de algunos recursos para poder adquirir estos conocimientos. También en esta misma página hay más contenido sobre OpenShift y sobre Docker

Git sencillo con SourceTree #2 Temario y objetivos

En esta ocasión quiero explicarte cual es el temario y objetivos del curso git sencillo para desarrolladores con SourceTree.

Es algo importante para que puedas saber si este curso te puede interesar o no. Espero que sea que si. Y si tienes alguna duda sobre el curso me la puedes dejar en los comentarios.

Lección Temario y Objetivos

Transcripción de la lección

Como en la introducción del curso he comentado el objetivo de este curso es explicar enseñaros lo que es git de una forma muy muy didáctica.

Es el ejemplo que os puse es el ejemplo de la situación que yo quiero resolver, y a la que me dirijo en este curso. Que es que venga mi jefe y me diga: Iñigo tienes un compañero nuevo que en este caso serías tu y no sabe git, cuéntale lo que necesita saber.

Lógicamente en esas situaciones pues lo que se hace es dar unas explicaciones muy concretas, nadie se pone en plan academicista a explicar todas las opciones que tiene la herramienta, sino que bueno pues se va a explicar lo concreto, lo que se necesitan en el día a día, para que pueda funcionar en un proyecto.

En esas situaciones nadie pretende que te conviertas en el híper experto que sabe absolutamente todas las opciones y todos los parámetros que tiene la herramienta. Sino que lo que se quiere es ser capaz de producir, qué es lo qué estas en una empresa normalmente.

El temario del curso, bueno es el que aquí tenéis. Hay una primera parte en la que lo que hago es explicar que es git o porque git está tan de moda.

Es decir básicamente en vez de estar enumerando todas las cualidades, pues básicamente es un enfoque de decir bueno que es lo que le pido yo a un control de versiones.

Después de haber trabajado con diferentes controles de versiones en diferentes proyectos, de diferentes tamaños, diferentes tipos de equipos, bueno que es lo que yo le pediría a un control de versiones.

Y ahí se ve porque realmente git es tan bueno y está teniendo tanto auge.

Luego en el siguiente bloque ya entraríamos más en lo que es el uso del git. Vamos a ir viendo todos los conceptos necesarios con ejemplos prácticos de lo que necesitaríamos en el día a día en un proyecto y en el trabajo con un con un control de versiones.

Y luego para finalizar lo que hay es un bloque sobre los flujos de trabajo en git. Al final como git es tan bueno manejando ramas y mergeando entre entre las ramas, pues eso da pie a que se pueden hacer diferentes flujos de trabajo con la herramienta.

Entonces veremos todos los, bueno todos los flujos de trabajo no, los flujos de trabajo más típicos, porque realmente el flujo de trabajo que tú tienes con un control de versiones es la traslación directa de cómo es tu organización, de cómo es tu proyecto y cómo trabajas en él.

Osea cuando hay diferentes tipos de flujos de trabajo es porque hay diferentes necesidades. Entonces en un curso es imposible ver todas las opciones. Vamos a ver las más típicas porque realmente elegir un flujo de trabajo para una determinada organización o un determinado proyecto es más un trabajo de consultoría. De preguntar al cliente que es lo que necesita, como trabaja o como quiere trabajar y adecuar el control de versiones a ese a ese flujo

OpenShift: instalar Minishift

Vamos a instalar Minishift la versión local del OpenShift, el competidor de Docker Enterprise de Red Hat.

Que es minishift

Minishift es una versión del OpenShift Origin empaquetada en una máquina virtual para usar en entornos locales.

Normalmente es para hacer pruebas sin tener que instalar todo un cluster completo. También se puede utilizar cuando lo que se quiere es tener un openshift en local para no usar los openshift de los entornos productivos. Por ejemplo porque no tenemos buena conectividad con esos entornos.

Porque usar MiniShift

Creo que es una forma muy fácil de introducirse en el mundo del OpenShift y por extensión del empleo de contenedores Docker en entornos empresariales. Sobre todo teniendo en cuenta la fuerza que tiene el fabricante, RedHat, en el mercado empresarial.

Formas de instalación

Hay dos forma de instalar el Minishift. Nosotros vamos a optar por la mas sencilla que es utilizando VirtualBox. Porque sirve para todas las plataformas. Tanto Windows, como Linux y macOS.

Es una instalación muy sencilla de realizar, básicamente va sola, pero hay que saber ciertas cosas para arrancarla adecuadamente.

Arranque del MiniShift

El arranque del Minishift es bastante sencillo, pero hay que conocer algunos parámetros par poder realizadlo correctamente.

En otro video explicaré como poder facilitarnos el trabajo de arrancarlo ya parametrizado, para no tener que andar recordando la sintaxis de los parámetros.

Video instalar MiniShift

Como siempre os dejo el vídeo.

¿Te interesa OpenShift?

Si estás leyendo esta página la pregunta puede resultar un poco obvia. Estoy pensando en realizar un curso sobre OpenShift y si te interesa el tema estaría encantado de escuchar opiniones.

No tengas el más mínimo reparo es dejármelas en los comentarios. Si tienes alguna experiencia con OpenShift también me gustaría que la compartiésemos. Esta web no pretende ser un canal unidireccional sino bidireccional.