Club DevOps

UNLP

Creando binarios ejecutables con BASH

En este breve post vamos a ver como crear un script en bash para despues usarlo como un binario del sistema operativo Que es un binario ❓ En el caso de Bash, un binario es un archivo ejecutable que contiene un script de bash. Esto nos permite ejecutar el script como si fuera un comando del sistema operativo. Como crear un binario 🛠️ Para crear un binario, primero debemos crear un script de bash.

DevOps en Los Libros

DevOps en los Libros Una actividad de extensión con bibliotecas populares Resumen La actividad consistió en tres etapas. En la primera, se realizó el relevamiento del lugar, donde se apuntó la disposición de los elementos, los recursos con los que se contaban y la proyección del resultado final. En la segunda etapa se llevó adelante el proceso de compra de los elementos necesarios y el acondicionamiento de infraestructura de hardware y de conectividad disponible.

Credenciales Git

Protocolos HTTPS (recomendado para dispositivos de uso público) SSH (recomendado para nuestros dispositivos) HTTPS Pedirá las credenciales (usuario y contraseña) cada vez que interactuemos con el remoto. Almacenar credenciales HTTPS Git permite almacenar las credenciales para evitar que nos pida autenticarnos constantemente: Almacenar las credenciales durante un tiempo determinado (por defecto, 15 min). Luego de realizar esta configuración, en el proximo login almacenará las credenciales. git config --global credential.helper cache git config --global credential.

¿Que son las AppImages?

AppImage es un formato de paquete de software portátil para Linux sin necesidad de instalación. Es una imagen de disco que contiene una aplicación completa, que se ejecuta como un proceso y que no se instala en el sistema operativo host. Puede ser descargado y ejecutado como un archivo único sin necesidad de un instalador.

Como se usan ❓

Para usar una AppImage, descargue el archivo, haga clic con el botón derecho en él, vaya a Propiedades, haga clic en Permisos y marque la casilla Ejecutar. O desde la terminal:

chmod +x MiAppImage.AppImage

Luego, simplemente hacemos doble clic en la AppImage para ejecutarla.

Para mas comodidad tambien se puede hacer un alias en el archivo .bashrc o .zshrc de la siguiente manera:

alias MiAppImage="./MiAppImage.AppImage"

Donde se consiguen ❓

Generalmente las vas a ver cuando vayas a descargar una app Linux con el formato .AppImage. Tambien tenes paginas que hacen de repositorios comunitariamente como AppImageHub

Que sigue ❓

En su pagina oficial hay muchos recursos para aprender mas sobre ellas Sitio Oficial. Tambien aca hay un ejemplo personal de como crear una AppImage para un script de Python Repositorio

¿ Cómo se compone la arquitectura de Kubernetes ?

La arquitectura de Kubernetes es modular y escalable. Se compone de varios componentes que trabajan juntos para proporcionar un entorno de orquestación de contenedores altamente disponible y resistente a fallos. Los principales componentes de Kubernetes son los siguientes:

  • Master Node: es el nodo maestro del clúster Kubernetes y es responsable de la gestión del clúster en su conjunto. Incluye varios componentes, como el API Server, el Scheduler, el Controller Manager y el etcd.

  • API Server: es la interfaz que utilizan los usuarios y los componentes de Kubernetes para comunicarse con el clúster. Proporciona una API RESTful para crear, modificar y eliminar recursos en el clúster.

  • Scheduler: es responsable de programar los pods en los nodos del clúster. Se encarga de distribuir los pods a los nodos que tengan la capacidad necesaria para ejecutarlos.

  • Controller Manager: es responsable de garantizar que los recursos del clúster estén en el estado correcto en todo momento. Por ejemplo, se encarga de garantizar que haya el número correcto de réplicas de un pod en el clúster.

  • etcd: es un almacén de datos distribuido que se utiliza para almacenar y sincronizar el estado del clúster Kubernetes.

  • Node: es un servidor que ejecuta las aplicaciones y servicios en contenedores y que se une al clúster Kubernetes. Cada nodo tiene varios componentes, como el Kubelet, el kube-proxy y el container runtime.

  • Kubelet: es el agente que se ejecuta en cada nodo del clúster y es responsable de administrar los contenedores en ese nodo. Se encarga de asegurarse de que los pods se ejecuten correctamente y de comunicarse con el API Server para recibir órdenes.

  • kube-proxy: es responsable de gestionar la conectividad de red para los pods en el nodo. Configura las reglas de iptables para redirigir el tráfico de red hacia los pods adecuados.

  • Container runtime: es el motor que se utiliza para ejecutar los contenedores. Kubernetes es compatible con varios motores de contenedores, como Docker o Containerd.

  • En conjunto, estos componentes forman la arquitectura de Kubernetes, que es altamente escalable y resistente a fallos.

  • kubectl es una herramienta de línea de comandos utilizada para interactuar con clústeres de Kubernetes. Permite a los usuarios administrar recursos en el clúster.

El siguiente es un esquema que ejemplifica gráficamente lo explicado anteriormente:

¿ Que es Kubernetes ?

Kubernetes es un sistema de orquestación de contenedores que automatiza la implementación, el escalado y la administración de aplicaciones en contenedores. Fue desarrollado originalmente por Google y ahora es mantenido por la Cloud Native Computing Foundation (CNCF).

Kubernetes permite a los desarrolladores desplegar aplicaciones en contenedores en múltiples nodos de servidor y gestionar automáticamente su escalado y capacidad de recuperación. También proporciona una interfaz unificada para administrar y monitorear aplicaciones en un entorno de contenedor.

Además, Kubernetes ofrece características avanzadas, como la gestión de almacenamiento de datos, el balanceo de carga, la gestión de redes y la automatización de actualizaciones y despliegues de aplicaciones. Todo esto hace que Kubernetes sea una herramienta muy popular en el desarrollo de aplicaciones en contenedores y en la gestión de infraestructuras de TI a gran escala.

0%