Category: DevOps Tools
-
Kubernetes networking – Parte 2
En la primera parte de esta serie de Posts estuvimos realizando una explicación básica de como funciona el Networking en Kubernetes. En esta segunda parte de la serie de Blog Posts sobre Kubernetes Networking vamos a estar explorando los modelos de networking típicos en varias implementaciones de Kubernetes. Modelos de Networking típicos en Kubernetes Existen…
-
Kubernetes networking – Parte 1
En esta nota vamos a explorar el modelo de Networking de Kubernetes en sus fundamentos y como se adaptó para su implementación en AKS y GKE. Definiciones iniciales Container Runtime Interface (CRI): Network Namespaces en el CRI: Container Network Interface (CNI): Fundamentos de Networking en Kubernetes El networking es una parte FUNDAMENTAL del diseño e…
-
¿Son seguros los Secrets de Kubernetes?
Los Secrets de Kubernetes ofrecen una manera de almacenar y gestionar información confidencial. Sin embargo, es importante comprender sus limitaciones y cómo protegerlos adecuadamente. Vamos a explorar un poco sus caracteristicas y analizar como funcionan en base al a documentación Oficial tanto de nuestros Cloud Providers como de Kubernetes. ¿Qué son los Objetos Secrets? Un…
-
Pods máximos por nodo en GKE
En este post, exploraremos un caso práctico relacionado con la configuración del parámetro “Pods per Node” en Google Kubernetes Engine (GKE) y cómo puede impactar la capacidad de escalado de un cluster. Vamos a analizar las limitaciones y capacidades de este setting, y la importancia de una planificación adecuada de la red en la configuración…
-
Error al esperar la creación del clúster GKE: Todos los recursos del clúster fueron creados, pero x de x nodos están en estado no saludable.
Este error se da cuando estamos creando un GKE completamente aislado a nivel de red, en un entorno productivo del mundo real. Basicamente se resume en la interacción de los Nodos del Cluster con los Servicios de Google o las API de Google en una configuración de rutas especifica. Resumen del error Configuración de Rutas…
-
Implementar AWX en GKE – Parte 2 (prod-ready)
En el post anterior Implementar AWX en GKE vimos como realizar una implementación basica de AWX en un Cluster de GKE utilizando la version 2.11.0 con Helm. Ahora vamos a realizar una implementación production-ready. Vamos a asginar a nuestro deployment: Clonar repositorio Primero debemos descargar el ultimo release disponible del Operator. A la fecha de…
-
Implementar AWX en GKE – Parte 1 (awx-demo)
Volvemos al Blog despues de un tiempito abocado a un proyecto de docencia! En el próximo mes y medio tengo que rendir dos exámenes bravos, así que espero aprovechar las horas de estudio para generar material para nuevos posts. En esta ocación vamos a levantar un AWX en un Google Kubernetes Services (GKE). ¿Qué es…
-
CI/CD: Continuos Integration, Continous Delivery y Deployment
DevOps / DevSecOps es un movimiento revolucionario. Aunque hoy lo demos por sentado en muchos aspectos (por suerte, no debemos dejar de recordar su importancia, ya que transforma la estructura organizacional separa en Silos de desarrollo y operaciones. El resultado de su implementación es un cambio cultural donde los desarrolladores y los profesionales de operaciones…
-
DevSecOps: Seguridad avanzada en GitHub
La seguridad es uno de los temas a los cuales debemos prestar mayor atención en nuestros Pipelines de CICD. DevSecOps se enfoca en integrar a la Seguridad como una parte fundamental de nuestro proceso de DevOps. Este enfoque nos permitirá llevar la seguridad a la izquierda (Shift Left) de nuestro proceso de DevOps. DevSecOps Es…
-
Implementar Private Worker Pool en Cloud Build con Terraform
Objetos a crear: Otros: Modulo de Terraform Registry https://registry.terraform.io/modules/mdiloreto/cloud_build-private-worker_pool/google/1.1.3 Como llamar el codigo Prerrequisitos Crear Service Account para Terraform Primero debemos asegurarnos que de haber creado una Service Account para autenticarnos a GCP con Terraform. Si aun no lo implementaste, te recomiendo que veas el siguiente blog post: Habilitar Service Usage API Habilitar la API…
-
Crear Service Account para Terraform en GCP
Ejecutaremos este procedimiento utilizando Cloud Shell o Gcloud SDK. Variable $PROJECT_ID Vamos a setear la variable $PROJECT_ID con el nombre de nuestro proyecto de GCP: Ejecutamos el comando en Cloud Shell y podremos verificar le contenido de la variable. Luego ejecutaremos el siguiente comando para crear la SA. Luego ejecutaremos el comando gcloud projects add-iam-policy…
-
Terraform en GCP: Autenticación y GCS Backend
Terraform nos permite realizar implementaciones de IaC. Podemos aplicar y destruir infraestructura de una manera rapida y automatizada. Para poder realizar estas operaciones uno de los archivos fundamentales de Terraform es el archivo <terraform.tfstate> ¿Que es y para que se utiliza el State en Terraform? Terraform necesita almacenar el estado o “state” de la infraestructura…
-
Despliegue con Terraform en Azure a través de BitBucket Pipelines
BitBucket es otra alternativa muy interesante para la automatización de nuestros pipelines de CI/CD. En este caso integraremos, con esta herramienta, un pipeline para despliegue automatico de Terraform en Azure. Para el despligue de CI/CD utilizaremos BitBucket Pipelines que es una herramienta que nos da minutos de ejecución gratuitos para poder probar nuestro codigo. Utilizaremos…
-
Storage Persistente en GKE
Kubernetes se ha establecido como la herramienta predilecta para desplegar, escalar y gestionar aplicaciones en la nube. Una de las principales razones es su robustez y flexibilidad es su sistema de manejo de volúmenes, diseñado para abordar uno de los desafíos más grandes en la contenerización: la persistencia de datos. En este caso estaremos realizando…
-
GitOps: Implementar Tetris App en AKS con ArgoCD
Creditos a Cloud Champ por la idea y la imagen de Tetris en Java. Vamos a ejecutar el deploy de una App Tetris en un cluster de Azure Kubernetes Services (AKS). Prerrequisitos: (Estaré haciendo un post de cada uno de estos prerrequisitos en breve :)) Asociar repositorio Git Repositorio a utilizar En este caso estaremos…
-
Implementar Azure Function App con Terraform
Terraform nos permite implementar y destruir infraestructura en minutos. Las herramientas/tecnologías de IaC se han convertido en pilares fundamentales para el desarrollo y la gestión de la Infra. A través de la implementación de soluciones de Infraestructura como Código podemos garantizar la consistencia, replicabilidad y escalabilidad de nuestros entornos, minimizando los errores manuales y optimizando…
-
Desplegar una API en Azure Functions a través de GitHub Actions
¿Que es Azure Functions? Azure Functions es una opción serverless en Azure. Es muy atractiva para escenarios de despliegues on-demand de manera rápida, eficiente y escalable sin necesidad de administrar practicamente nada de la infraestructura subyacente. La idea principal de este servicio es que “vos provees el código y Azure se encarga del resto”. Aunque…
-
Remote Terraform State file (terraform.tfstate) en Azure Blob Storage
Terraform nos permite realizar implementaciones de IaC. Podemos aplicar y destruir infraestructura de una manera rapida y automatizada. Para poder realizar estas operaciones uno de los archivos fundamentales de Terraform es el archivo <terraform.tfstate> ¿Que es y para que se utiliza el State en Terraform? Terraform necesita almacenar el estado o “state” de la infraestructura…