<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>kubernetes on Lo Crestià</title><link>https://www.eiximenis.dev/categories/kubernetes/</link><description>Recent content in kubernetes on Lo Crestià</description><generator>Hugo -- gohugo.io</generator><language>es</language><copyright>{}</copyright><lastBuildDate>Sun, 31 Jan 2021 00:00:00 +0000</lastBuildDate><atom:link href="https://www.eiximenis.dev/categories/kubernetes/index.xml" rel="self" type="application/rss+xml"/><item><title>AKS, affinity zones y volúmenes</title><link>https://www.eiximenis.dev/posts/2021-01-31-aks-affinity-zones-volumenes/</link><pubDate>Sun, 31 Jan 2021 00:00:00 +0000</pubDate><atom:modified>Sun, 31 Jan 2021 00:00:00 +0000</atom:modified><guid>https://www.eiximenis.dev/posts/2021-01-31-aks-affinity-zones-volumenes/</guid><description>Es posible crear un AKS cuyos nodepools tengan más de una zona de afinidad. Esto asegura que distintos nodos del cluster están físicamente separados en zonas distintas dentro de la misma región, lo que añade redundancia: si una zona se cae, el cluster sigue funcionando. En la documentación se mencionan algunas limitaciones (no todas las regiones lo soportan u el tamaño de MV del pool debe estar disponible en todas las zonas de afinidad).</description><dc:creator>eiximenis</dc:creator><category>azure</category><category>backup</category><category>k8s</category><category>aks</category><category>kubernetes</category></item><item><title>Backups de AKS. Parte 1 (de 2): Snapshots de discos</title><link>https://www.eiximenis.dev/posts/2021-01-29-backups-aks-1-snapshots/</link><pubDate>Fri, 29 Jan 2021 00:00:00 +0000</pubDate><atom:modified>Fri, 29 Jan 2021 00:00:00 +0000</atom:modified><guid>https://www.eiximenis.dev/posts/2021-01-29-backups-aks-1-snapshots/</guid><description>Uno de los aspectos vitales cuando tienes tu Kubernetes en marcha, es tener un plan de backup y restore para las cargas de trabajo ejecutándose en él. Hay dos aspectos principales a considerar:
Backup de los propios objetos del cluster: Tener copias de seguridad de todos los objetos (incluyendo CRDs) que se están ejecutando en el clúster. De este modo ante una pérdidad de datos que involucre dichos objetos, los podrás restaurar en el estado en el qué estaban.</description><dc:creator>eiximenis</dc:creator><category>azure</category><category>backup</category><category>k8s</category><category>aks</category><category>kubernetes</category></item><item><title>Kaniko - Construir imágenes Docker sin Docker</title><link>https://www.eiximenis.dev/posts/2020-12-05-kaniko-construir-imagenes-docker-sin-docker/</link><pubDate>Sun, 06 Dec 2020 00:00:00 +0000</pubDate><atom:modified>Sun, 06 Dec 2020 00:00:00 +0000</atom:modified><guid>https://www.eiximenis.dev/posts/2020-12-05-kaniko-construir-imagenes-docker-sin-docker/</guid><description>En el contexto de este post, cuando digo &amp;ldquo;imágenes Docker&amp;rdquo; me refiero a imágenes OCI y que se crean usando un Dockerfile. La idea es poder seguir usando nuestros Dockerfiles para generar imágenes OCI, que luego pueden ser ejecutadas cualquier motor compatible, como el propio Docker o containerd (aunque si hablamos de ejecutar contenedores Docker y containerd son lo mismo).
Creando imágenes con Kaniko Vamos a ver primero como usar Kaniko, para crear una imagen.</description><dc:creator>eiximenis</dc:creator><category>docker</category><category>k8s</category><category>kubernetes</category></item><item><title>Escenarios corporativos en AKS</title><link>https://www.eiximenis.dev/posts/2020-11-30-mecanismos-corporativos-en-aks/</link><pubDate>Mon, 30 Nov 2020 00:00:00 +0000</pubDate><atom:modified>Mon, 30 Nov 2020 00:00:00 +0000</atom:modified><guid>https://www.eiximenis.dev/posts/2020-11-30-mecanismos-corporativos-en-aks/</guid><description>A medida que ha ido pasando el tiempo, AKS ha ido incorporando cada vez más mecanismos para ir cubriendo escenarios necesarios en entornos corporativos. Ese post muestra una lista y algunos ejemplos de esas características :)
Clusters privados Desde hace mucho tiempo es posible tener los nodos worker en una vnet propia y privada, lo que impide acceso exterior a esos nodos. Los nodos master (los que ejecutan el control plane) nunca han sido accesibles, pero sí lo es el Api Server.</description><dc:creator>eiximenis</dc:creator><category>k8s</category><category>aks</category><category>kubernetes</category><category>aks</category></item><item><title>De StatefulSets y headless services</title><link>https://www.eiximenis.dev/posts/2020-11-15-de-statefulsets-y-headless-services/</link><pubDate>Sun, 15 Nov 2020 00:00:00 +0000</pubDate><atom:modified>Sun, 15 Nov 2020 00:00:00 +0000</atom:modified><guid>https://www.eiximenis.dev/posts/2020-11-15-de-statefulsets-y-headless-services/</guid><description>Los tipos más habituales de servicios en Kubernetes son los llamados ClusterIP que tienen una IP privada solo accesible desde el interior del clúster. Asumiendo que CoreDNS está instalado (que es lo habitual, vamos), esos servicios generan una entrada DNS con su nombre, bajo el cual engloban todos los pods que cumplan con el selector del servicio. Luego, tenemos los servicios de tipo NodePort que además de todo lo anterior son accesibles mediante una llamada a los nodos del clúster con el puerto especificado y son pues la forma de exponer servicios al exterior.</description><dc:creator>eiximenis</dc:creator><category>k8s</category><category>kubernetes</category></item><item><title>AKS, KeyVault y netcore</title><link>https://www.eiximenis.dev/posts/2019-02-23-aks-keyvault-y-netcore/</link><pubDate>Sat, 23 Feb 2019 16:16:31 +0000</pubDate><atom:modified>Sat, 23 Feb 2019 16:16:31 +0000</atom:modified><guid>https://www.eiximenis.dev/posts/2019-02-23-aks-keyvault-y-netcore/</guid><description>&lt;p>¡Buenas! Vamos a ver en este artículo &lt;strong>como podemos leer secretos almacenados en un &lt;a href="https://azure.microsoft.com/es-es/services/key-vault/">Azure Key Vault&lt;/a>&lt;/strong> desde nuestro código netcore ejecutándose en un AKS.&lt;/p>
&lt;p>A diferencia de ACR donde contamos con una integración nativa en la cual nos basta con usar un _service account _de AKS vinculado a un _service principal _de Azure que tenga permisos de lectura contra el ACR (escribiéndolo veo que esto da para un pequeño futuro post), para Key Vault no tenemos integración nativa.&lt;/p></description><dc:creator>eiximenis</dc:creator><category>asp.net core</category><category>kubernetes</category></item><item><title>Trabajando con AKS Devspaces</title><link>https://www.eiximenis.dev/posts/2019-02-13-trabajando-con-aks-devspaces/</link><pubDate>Wed, 13 Feb 2019 17:34:10 +0000</pubDate><atom:modified>Wed, 13 Feb 2019 17:34:10 +0000</atom:modified><guid>https://www.eiximenis.dev/posts/2019-02-13-trabajando-con-aks-devspaces/</guid><description>&lt;p>AKS Devspaces es una característica que Microsoft está promocionando bastante en sus charlas: casi en cualquier evento donde se hable de AKS se demuestra, ni que sea brevemente, Devspaces.&lt;/p>
&lt;p>Pero&amp;hellip; qué es y lo más importante: ¿Para qué sirve y como se usa?&lt;/p></description><dc:creator>eiximenis</dc:creator><category>asp.net core</category><category>kubernetes</category></item><item><title>Ejecutar bases de datos en Kubernetes: ¿Sí, no?</title><link>https://www.eiximenis.dev/posts/2018-09-21-ejecutar-bases-de-datos-en-kubernetes-si-no/</link><pubDate>Fri, 21 Sep 2018 07:21:35 +0000</pubDate><atom:modified>Fri, 21 Sep 2018 07:21:35 +0000</atom:modified><guid>https://www.eiximenis.dev/posts/2018-09-21-ejecutar-bases-de-datos-en-kubernetes-si-no/</guid><description>&lt;p>Esta es una de las preguntas que tarde o temprano cualquiera que trabaje con Docker y Kubernetes (o cualquier otro orquestrador) se termina encontrando: Tienes toda tu aplicación en contenedores, ejecutándose en Kubernetes. Sabes también que existen versiones &lt;em>dockerizadas&lt;/em> de las bases de datos. Así pues&amp;hellip; ¿es conveniente ejecutar las bases de datos como contenedores adicionales en el orquestrador?&lt;/p></description><dc:creator>eiximenis</dc:creator><category>kubernetes</category><category>opinion</category></item><item><title>Diseccionando DevSpaces (i)</title><link>https://www.eiximenis.dev/posts/2018-07-30-diseccionando-devspaces-i/</link><pubDate>Mon, 30 Jul 2018 06:44:22 +0000</pubDate><atom:modified>Mon, 30 Jul 2018 06:44:22 +0000</atom:modified><guid>https://www.eiximenis.dev/posts/2018-07-30-diseccionando-devspaces-i/</guid><description>&lt;p>DevSpaces es una de las grandes novedades para desarrolladores que nos trae Microsoft (ehm sí&amp;hellip; es &lt;em>otro&lt;/em> producto más que está en &lt;em>preview&lt;/em> :p). Básicamente se trata &lt;strong>de la posibilidad de desplegar parcialmente y depurar nuestros contenedores ejecutándose en un clúster de Kubernetes&lt;/strong>. En lo que Hanselman llama un “entorno que &lt;em>huele&lt;/em> como producción”.&lt;/p>
&lt;p>¿Pero&amp;hellip; cómo funciona esa magia? Vamos a ver, dentro de lo posible, qué ha hecho Microsoft para proporcionarnos esta experiencia, dentro de un Kubernetes completamente normal&amp;hellip;&lt;/p>
&lt;p>Este post **no pretender ser un tutorial de DevSpaces, **ya que la &lt;a href="https://docs.microsoft.com/es-es/azure/dev-spaces/azure-dev-spaces">propia documentación&lt;/a> lo explica bastante bien. La idea es intentar ver “como” funciona DevSpaces, más que como lo podemos usar.&lt;/p></description><dc:creator>eiximenis</dc:creator><category>kubernetes</category></item><item><title>Runtimes de contenedores</title><link>https://www.eiximenis.dev/posts/2018-07-16-runtimes-de-contenedores/</link><pubDate>Mon, 16 Jul 2018 16:33:11 +0000</pubDate><atom:modified>Mon, 16 Jul 2018 16:33:11 +0000</atom:modified><guid>https://www.eiximenis.dev/posts/2018-07-16-runtimes-de-contenedores/</guid><description>&lt;p>Una de las preguntas más frecuentes que me hacen sobre contenedores es hasta que punto penalizan el rendimiento. Es una pregunta muy lógica ya que al final los contenedores ofrecen un cierto nivel de aislamiento, &lt;em>parecen&lt;/em> máquinas virtuales&amp;hellip; Algo han de penalizar, ¿no?. En esta entrada voy a hablar de los &lt;em>runtimes&lt;/em> de contenedores, para que entendamos un poco más qué significa ejecutar un contenedor.&lt;/p></description><dc:creator>eiximenis</dc:creator><category>docker</category><category>kubernetes</category></item><item><title>HttpClient en C# y servicios de Docker escalados.</title><link>https://www.eiximenis.dev/posts/2018-06-11-httpclient-en-c-y-servicios-de-docker-escalados/</link><pubDate>Mon, 11 Jun 2018 11:09:25 +0000</pubDate><atom:modified>Mon, 11 Jun 2018 11:09:25 +0000</atom:modified><guid>https://www.eiximenis.dev/posts/2018-06-11-httpclient-en-c-y-servicios-de-docker-escalados/</guid><description>&lt;p>En este post vamos a ver como escalar servicios, tanto en Compose, como en Swarm como en Kubernetes y luego veremos algunas consideraciones cuando usemos HttpClient desde el cliente al acceder a un servidor escalado.&lt;/p>
&lt;p>Nos centramos en el escenario de escalado básico, es decir, sin demasiada lógica.&lt;/p>
&lt;p>&lt;strong>[Autobombo]:&lt;/strong> Si estás interesado en temas de Docker y Kubernetes, échale un vistazo a &lt;a href="https://www.campusmvp.es/catalogo/Product-Docker-y-Kubernetes-desarrollo-y-despliegue-de-aplicaciones-basadas-en-contenedores_237.aspx">mi curso de Docker y Kubernetes en CampusMVP&lt;/a>.&lt;/p></description><dc:creator>eiximenis</dc:creator><category>asp.net core</category><category>docker</category><category>kubernetes</category></item><item><title>Monitorizando nuestros servicios en Kubernetes con Beatpulse</title><link>https://www.eiximenis.dev/posts/2018-06-03-monitorizando-nuestros-servicios-en-kubernetes-con-beatpulse/</link><pubDate>Sun, 03 Jun 2018 16:58:34 +0000</pubDate><atom:modified>Sun, 03 Jun 2018 16:58:34 +0000</atom:modified><guid>https://www.eiximenis.dev/posts/2018-06-03-monitorizando-nuestros-servicios-en-kubernetes-con-beatpulse/</guid><description>&lt;p>&lt;strong>&lt;em>Disclaimer&lt;/em>:&lt;/strong> &lt;span style="text-decoration: underline;">En ese post hablo de una librería (Beatpulse) de la que soy contribuidor&lt;/span> (lo aclaro, para que no haya ningún malentendido).&lt;/p>
&lt;p>En todo sistema distribuído es importante disponer de un mecanismo que permita saber en todo momento &lt;strong>si un servicio está funcionando o no&lt;/strong>. Es cierto que el concepto de “funcionando” es algo difuso de definir, pero yendo a mínimos deberíamos saber si un sistema se ha caído o no.&lt;/p></description><dc:creator>eiximenis</dc:creator><category>asp.net core</category><category>docker</category><category>kubernetes</category></item><item><title>Tip: Acceder a Minikube desde WSL</title><link>https://www.eiximenis.dev/posts/2018-05-31-tip-acceder-a-minikube-desde-wsl/</link><pubDate>Thu, 31 May 2018 14:48:36 +0000</pubDate><atom:modified>Thu, 31 May 2018 14:48:36 +0000</atom:modified><guid>https://www.eiximenis.dev/posts/2018-05-31-tip-acceder-a-minikube-desde-wsl/</guid><description>&lt;p>Hoy me han preguntado eso, así que mira, aprovecho para apuntarlo aquí, por si alguien más tiene esta duda.&lt;/p>
&lt;p>La situación es la siguiente: tienes minikube instalado y funcionando en Windows, pero quieres usarlo desde un &lt;em>kubectl&lt;/em> ejecutándose en un terminal WSL. ¿Es posible?&lt;/p></description><dc:creator>eiximenis</dc:creator><category>docker</category><category>kubernetes</category></item><item><title>Añadir soporte TLS a tu Kubernetes en Azure con Let's Encrypt</title><link>https://www.eiximenis.dev/posts/2018-04-13-anadir-soporte-tls-a-tu-kubernetes-en-azure-con-lets-encrypt/</link><pubDate>Fri, 13 Apr 2018 16:05:06 +0000</pubDate><atom:modified>Fri, 13 Apr 2018 16:05:06 +0000</atom:modified><guid>https://www.eiximenis.dev/posts/2018-04-13-anadir-soporte-tls-a-tu-kubernetes-en-azure-con-lets-encrypt/</guid><description>&lt;p>¡Buenas! En este post vamos a ver como añadir soporte TLS a tu clúster de Kubernetes desplegado en ACS o AKS. Hace tiempo escribí un post sobre como añadir certificados de desarrollo a un servicio NGINX que tuvieses en Kubernetes. Aunque lo dicho en &lt;a href="https://geeks.ms/etomas/2017/10/16/configurar-ssl-en-un-cluster-de-k8s/">aquel post&lt;/a> sigue siendo válido, hay una manera mucho más sencilla con la condición de que &lt;a href="https://geeks.ms/etomas/2018/01/03/kubernetes-3-controladores-ingress/">usemos &lt;em>ingress&lt;/em> para exponer nuestros servicios al exterior&lt;/a>.&lt;/p>
&lt;p>En este post parto de la suposición de que:&lt;/p>
&lt;ol>
&lt;li>Tienes un clúster de Kubernetes en ACS/AKS y &lt;em>kubectl&lt;/em> configurado para atacar a él&lt;/li>
&lt;li>Tienes el controlador &lt;em>ingress&lt;/em> de NGINX instalado en el clúster exponiendo cualquier servicio&lt;/li>
&lt;/ol>
&lt;p>Es decir, haciendo http://IP-CLUSTER/servicio obtienes alguna respuesta. Lo que queremos es poder usar https en su lugar.&lt;/p></description><dc:creator>eiximenis</dc:creator><category>docker</category><category>kubernetes</category><category>Sin categoría</category></item><item><title>Kubernetes (3) – Controladores Ingress</title><link>https://www.eiximenis.dev/posts/2018-01-03-kubernetes-3-controladores-ingress/</link><pubDate>Wed, 03 Jan 2018 16:48:58 +0000</pubDate><atom:modified>Wed, 03 Jan 2018 16:48:58 +0000</atom:modified><guid>https://www.eiximenis.dev/posts/2018-01-03-kubernetes-3-controladores-ingress/</guid><description>&lt;p>Seguimos con esta serie de posts sobre Kubernetes. Los posts anteriores:&lt;/p>
&lt;ol>
&lt;li>&lt;a href="https://geeks.ms/etomas/2017/12/19/kubernetes-1-componentes-de-kubernetes/">Componentes de Kubernetes&lt;/a> (donde vimos los distintos componentes de Kubernetes y como usar &lt;a href="https://github.com/kubernetes/minikube">Minikube&lt;/a> para ejecutarlo en local).&lt;/li>
&lt;li>&lt;a href="https://geeks.ms/etomas/2017/12/21/kubernetes-2-modelo-de-aplicacion/">Modelo de aplicación&lt;/a> (donde vimos como crear nuestra primera aplicación en k8s).&lt;/li>
&lt;/ol>
&lt;p>En este tercer post veremos que son los recursos &lt;em>ingress&lt;/em> y los controladores &lt;em>ingress&lt;/em> y que ventajas nos aportan.&lt;/p></description><dc:creator>eiximenis</dc:creator><category>docker</category><category>kubernetes</category><category>Sin categoría</category></item><item><title>Kubernetes (2) – Modelo de aplicación</title><link>https://www.eiximenis.dev/posts/2017-12-21-kubernetes-2-modelo-de-aplicacion/</link><pubDate>Thu, 21 Dec 2017 11:18:03 +0000</pubDate><atom:modified>Thu, 21 Dec 2017 11:18:03 +0000</atom:modified><guid>https://www.eiximenis.dev/posts/2017-12-21-kubernetes-2-modelo-de-aplicacion/</guid><description>&lt;p>Si conoces compose conocerás su “modelo de aplicación”. Es un modelo sencillo, contiene básicamente &lt;em>servicios.&lt;/em> Un servicio en compose no es nada más que una imagen de Docker y su configuración asociada.  Luego cuando levantamos una aplicación compose con &lt;code>docker-compose up&lt;/code> se crea uno (o varios) contenedor por cada servicio y listos.&lt;/p>
&lt;p>Pero Kubernetes tiene su propio modelo de aplicación radicalmente distinto. En este post vamos a ver (de forma simplificada) cual es el modelo de aplicación que tiene Kubernetes y ¡desplegaremos nuestra primera aplicación!&lt;/p></description><dc:creator>eiximenis</dc:creator><category>docker</category><category>kubernetes</category><category>Sin categoría</category></item><item><title>Kubernetes (1): Componentes de Kubernetes</title><link>https://www.eiximenis.dev/posts/2017-12-19-kubernetes-1-componentes-de-kubernetes/</link><pubDate>Tue, 19 Dec 2017 11:10:29 +0000</pubDate><atom:modified>Tue, 19 Dec 2017 11:10:29 +0000</atom:modified><guid>https://www.eiximenis.dev/posts/2017-12-19-kubernetes-1-componentes-de-kubernetes/</guid><description>&lt;p>Bueno, con este post empiezo una serie de posts sobre &lt;a href="https://kubernetes.io/">Kubernetes&lt;/a>. Tengo varios posts en borrador, pero creo que antes de publicarlos puede estar bien una pequeña introducción a Kubernetes: qué es. Y de esto va este post.&lt;/p></description><dc:creator>eiximenis</dc:creator><category>docker</category><category>kubernetes</category></item></channel></rss>