<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Chicho's SysAdmin and DevOps Blog]]></title><description><![CDATA[Ideas, tips and tutorials]]></description><link>https://blog.chicho.com.ar/</link><image><url>https://blog.chicho.com.ar/favicon.png</url><title>Chicho&apos;s SysAdmin and DevOps Blog</title><link>https://blog.chicho.com.ar/</link></image><generator>Ghost 5.78</generator><lastBuildDate>Fri, 10 Apr 2026 20:58:42 GMT</lastBuildDate><atom:link href="https://blog.chicho.com.ar/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[How to setup a Kubernetes Cluster with K3S and MetalLB on Proxmox]]></title><description><![CDATA[<p></p><p>After to to learn K8s basic theory, its time to apply the knowledge on practice! Let&apos;s install K3s inside my little home lab with Proxmox.</p><p>Requirements:</p><ul><li>3 VMs with Ubuntu 22.04 LTS</li><li>kubectl</li></ul><p>The VMs were created from a template with Ubuntu 22.04 and cloud-init</p><p>For</p>]]></description><link>https://blog.chicho.com.ar/how-to-deploy-a-kubernetes-cluster-with-k3s/</link><guid isPermaLink="false">650c9c2666837300012f02ea</guid><dc:creator><![CDATA[Ruben Dario Coria]]></dc:creator><pubDate>Wed, 14 Feb 2024 18:58:13 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1667372459470-5f61c93c6d3f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDd8fGs4c3xlbnwwfHx8fDE2OTUzMjUyMDR8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1667372459470-5f61c93c6d3f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDd8fGs4c3xlbnwwfHx8fDE2OTUzMjUyMDR8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" alt="How to setup a Kubernetes Cluster with K3S and MetalLB on Proxmox"><p></p><p>After to to learn K8s basic theory, its time to apply the knowledge on practice! Let&apos;s install K3s inside my little home lab with Proxmox.</p><p>Requirements:</p><ul><li>3 VMs with Ubuntu 22.04 LTS</li><li>kubectl</li></ul><p>The VMs were created from a template with Ubuntu 22.04 and cloud-init</p><p>For these example I used 1 node master and 2 nodes workers</p><ol><li>K3s-master - IP 192.168.52.229</li><li>k3s-worker1 - IP 192.168.52.228</li><li>k3s-worker2 - IP 192.168.52.227</li></ol><p>We need to change the IP from dynamic to static.</p><pre><code class="language-shell">##Example

# This file is generated from information provided by the datasource.  Changes
# to it will not persist across an instance reboot.  To disable cloud-init&apos;s
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    version: 2
    renderer: networkd
    ethernets:
        eth0:
            addresses:
                - 192.168.52.228/24
            nameservers:
                addresses: [8.8.8.8, 8.8.4.4, 192.168.52.1]
            routes:
                - to: default
                  via: 192.168.52.1</code></pre><p>Add the hostname of the VMS in the hosts file of each other.</p><pre><code class="language-shell">echo -e &quot;192.168.52.229 K3s-master&quot; | sudo tee -a /etc/hosts
echo -e &quot;192.168.52.228 K3s-worker1&quot; | sudo tee -a /etc/hosts
echo -e &quot;192.168.52.227 K3s-worker2&quot; | sudo tee -a /etc/hosts</code></pre><p></p><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">&#x1F4A1;</div><div class="kg-callout-text">In my particular case, was not necessary to change the hostname in each VM. But if you need to change it, you must use the next command:</div></div><pre><code class="language-shell">#master node
sudo hostnamectl set-hostname K3s-master

#worker node
sudo hostnamectl set-hostname k3s-worker1
sudo hostnamectl set-hostname k3s-worker2</code></pre><h2 id="install-k3s">Install K3s</h2><p></p><h3 id="master-node">Master node</h3><p>Inside the Master node, we need to disable the load balancer for default (kippler-db), because for this lab we&apos;re going to install MetaLB as a LoadBalancer.</p><p>Also we must disable Traefik for use Nginx Ingress Controller as ingress service instead of Traefik.</p><pre><code class="language-shell">curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC=&quot;server --disable traefik --disable servicelb&quot; sh -</code></pre><p>Once the K3s installation is completed in master node, we need to obtain the token for install the worker nodes.</p><pre><code class="language-shell">sudo cat /var/lib/rancher/k3s/server/node-token</code></pre><h3 id="worker-node">Worker Node</h3><p>With the token obtained from the &quot;node-token&quot; file, we must run the next command to add the worker nodes.</p><pre><code class="language-shell">curl -sfL https://get.k3s.io | K3S_URL=https://ip_master_node:6443 K3S_TOKEN=&lt;node-token&gt; sh -</code></pre><hr><h2 id="connect-your-cluster-remotely">Connect your cluster remotely</h2><p>Copy the k3s.yaml file content</p><pre><code class="language-shell">#path k3s file
/etc/rancher/k3s/k3s.yaml</code></pre><p>Create a config file on your local machine and copy the k3s file content inside.</p><pre><code class="language-shell">touch $HOME/.kube/config</code></pre><p>Open your config file and change the address IP from 127.0.0.1 to &lt;your_server_ip&gt;:6443</p><pre><code class="language-shell">apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: &lt;Secret&gt;
    server: https://&lt;your_server_ip&gt;:6443
  name: default</code></pre><p>Now you can use kubectl</p><pre><code class="language-shell">$ kubectl get nodes
NAME          STATUS   ROLES                  AGE    VERSION
k3s-worker2   Ready    &lt;none&gt;                 178d   v1.27.4+k3s1
k3s-worker1   Ready    &lt;none&gt;                 178d   v1.27.4+k3s1
k3s-master    Ready    control-plane,master   178d   v1.27.4+k3s1</code></pre><hr><h2 id="install-metallb">Install MetalLB</h2><p>When we work with K8s implementations on the cloud (AWS EKS, Azure EKS or Google GKE) we can create in native form a Service type &quot;Load Balancer&quot;, but in baremetal cluster plataforms we need to deploy this kind of service.<br>For this homelab we&apos;re going to deploy MetalLB as a LoadBalancer.</p><p>Requirements:</p><ul><li>A K8s Cluster</li><li>Some IPV4 IP reserved for MetalLB</li><li>Helm</li><li>Kubectl</li></ul><pre><code class="language-shell">#1 - Add MetalLB respository to Helm
helm repo add metallb https://metallb.github.io/metallb

#2 - Update Helm repo
helm repo update

#3 - Create a MetalLB namespace
kubectl create namespace metallb

#4 - Install metalLB
helm install metallb metallb/metallb --namespace metallb

#5 - Confirm that the deploy was successful
kubectl -n metallb get pod</code></pre><p></p><p>Configure the reserved an IP address pool with the Layer2 metod. I have a Mikrotik router where I reserve the ip range 192.168.52.30 - 192.168.52.80</p><pre><code class="language-shell"># Metallb address pool
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
  name: cluster-pool
  namespace: metallb
spec:
  addresses:
  - 192.168.52.30-192.168.52.80

---
# L2 configuration
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
  name: metallb-homelab
  namespace: metallb
spec:
  ipAddressPools:
  - cluster-pool</code></pre><hr><h2 id="load-balancer-test">Load Balancer test</h2><p>To test te correct operation of the load balancer we are going to deploy Nginx</p><pre><code class="language-shell">#Create deploy
kubectl create deploy nginx --image=nginx

#Expose the deploy as a LoadBalancer type
kubectl expose deploy nginx --port=80 --target-port=80 --type=LoadBalancer

#Verify
kubectl get svc nginx
NAME    TYPE           CLUSTER-IP     EXTERNAL-IP     PORT(S)        AGE
nginx   LoadBalancer   10.43.60.115   192.168.52.30   80:32676/TCP   5h19m</code></pre><p>Using the curl command we can see the successful response</p><pre><code class="language-shell">$ curl 192.168.52.30:80
&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Welcome to nginx!&lt;/title&gt;
&lt;style&gt;
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Welcome to nginx!&lt;/h1&gt;
&lt;p&gt;If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.&lt;/p&gt;

&lt;p&gt;For online documentation and support please refer to
&lt;a href=&quot;http://nginx.org/&quot;&gt;nginx.org&lt;/a&gt;.&lt;br/&gt;
Commercial support is available at
&lt;a href=&quot;http://nginx.com/&quot;&gt;nginx.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Thank you for using nginx.&lt;/em&gt;&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</code></pre><p>This was a minimal guide about how to deploy a baremetal K8s cluster, on the next post we&apos;re going to install Nginx Ingress Controller to expose the services outside our network.</p>]]></content:encoded></item><item><title><![CDATA[Tips para rendir la Certificación AZ900 de Microsoft]]></title><description><![CDATA[<p></p><p>Hace unas semanas atr&#xE1;s rend&#xED; la primer Certificaci&#xF3;n de Azure AZ-900 Fundamentals. Me llevo aproximadamente 3 meses prepararme, el examen fue a trav&#xE9;s de Certiprof y es todo teor&#xED;a, nada de ejercicios y abarca muchos servicios de Azure Cloud y aspectos</p>]]></description><link>https://blog.chicho.com.ar/tips-para-rendir-la-cerificacion-az900-de-microsoft/</link><guid isPermaLink="false">64a43529b896f20001b49dc7</guid><dc:creator><![CDATA[Ruben Dario Coria]]></dc:creator><pubDate>Tue, 04 Jul 2023 16:37:30 GMT</pubDate><media:content url="https://blog.chicho.com.ar/content/images/2023/07/1_Gkia5CRo_TZS-CYA5uBC-w.webp" medium="image"/><content:encoded><![CDATA[<img src="https://blog.chicho.com.ar/content/images/2023/07/1_Gkia5CRo_TZS-CYA5uBC-w.webp" alt="Tips para rendir la Certificaci&#xF3;n AZ900 de Microsoft"><p></p><p>Hace unas semanas atr&#xE1;s rend&#xED; la primer Certificaci&#xF3;n de Azure AZ-900 Fundamentals. Me llevo aproximadamente 3 meses prepararme, el examen fue a trav&#xE9;s de Certiprof y es todo teor&#xED;a, nada de ejercicios y abarca muchos servicios de Azure Cloud y aspectos fundamentales sobre cloud en general.</p><p>El examen podes rendirlo en ingl&#xE9;s o espa&#xF1;ol. Yo lo rend&#xED; en espa&#xF1;ol por que me sentia mas comodo. Si o si es requisito contar con una Laptop con Windows o Mac OS, te instalan un agente que te toma la laptop para que solo puedas rendir el examen y no poder acceder a ning&#xFA;n otro recurso. <a href="https://certiport.pearsonvue.com/Support/Technical-requirements?ref=blog.chicho.com.ar">https://certiport.pearsonvue.com/Support/Technical-requirements</a></p><p><strong>Lo que tenemos que aprender para aprobar el examen:</strong></p><ul><li>Entre 15 y 25% Conceptos de la Nube</li><li>Entre 30 y 35% Servicios Principales (Core) de Azure</li><li>Entre 25 y 30% Seguridad, Privacidad, Normatividad y Confianza</li><li>Entre 20 y 25% Costos y Soporte</li></ul><p>Se aprueba con 700 puntos de 1000 y el examen tiene entre 40 y 60 preguntas, el tipo de pregunta es multiple choice, m&#xFA;ltiples respuestas y arrastrar (drag and drop).</p><p>Una vez que aprobas la certificacion es valida por 2 a&#xF1;os.</p><p><strong>Para prepararme empec&#xE9; con la guia oficial de Microsoft Learn, son 3 rutas de aprendizaje.</strong></p><ul><li>Descripci&#xF3;n de los conceptos de la nube (3 m&#xF3;dulos)</li><li>Descripci&#xF3;n de la arquitectura y los servicios de Azure(4 m&#xF3;dulos)</li><li>Descripci&#xF3;n de la administraci&#xF3;n y la gobernanza de Azure(4 m&#xF3;dulos)</li></ul><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/es-es/certifications/exams/az-900/?ref=blog.chicho.com.ar"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Examen&#xA0;AZ-900: Microsoft&#xA0;Azure Fundamentals - Certifications</div><div class="kg-bookmark-description">Examen&#xA0;AZ-900: Microsoft&#xA0;Azure Fundamentals</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico" alt="Tips para rendir la Certificaci&#xF3;n AZ900 de Microsoft"><span class="kg-bookmark-author">Microsoft Learn</span><span class="kg-bookmark-publisher">bipach</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/logos/logo-ms-social.png" alt="Tips para rendir la Certificaci&#xF3;n AZ900 de Microsoft"></div></a></figure><p><strong>Recomiendo tambi&#xE9;n los siguientes videos para afianzar conocimientos:</strong></p><p>Es un video de 3 horas de freeCodeCamp que abarca todo lo requerido para afianzar conocimientos una vez que terminamos los m&#xF3;dulos de Microsoft Learn</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/NKEFWyqJ5XA?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen title="Microsoft Azure Fundamentals Certification Course (AZ-900) - Pass the exam in 3 hours!"></iframe></figure><p>Tambi&#xE9;n est&#xE1; el curso de certificaci&#xF3;n Azure AZ-900 de John Savill&apos;s en Youtube, es muy intuitivo y tambi&#xE9;n muy recomendado si queres afianzar conocimientos.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/pY0LnKiDwRA?list=PLlVtbbG169nED0_vMEniWBQjSoxTsBYS3" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></figure><p></p><p>Despu&#xE9;s de esto tenes algunas paginas en donde podes realizar test para ver las preguntas a las que te vas a enfrentar:</p><p>La &#xA0;evaluaci&#xF3;n de practica de Microsoft la podes realizar las veces que quieras:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/es-es/certifications/exams/az-900/practice/assessment?assessment-type=practice&amp;assessmentId=23&amp;source=docs"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Evaluaci&#xF3;n de pr&#xE1;ctica</div><div class="kg-bookmark-description">Evaluaci&#xF3;n de pr&#xE1;ctica</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico" alt="Tips para rendir la Certificaci&#xF3;n AZ900 de Microsoft"><span class="kg-bookmark-author">Microsoft Learn</span><span class="kg-bookmark-publisher">bipach</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/logos/logo-ms-social.png" alt="Tips para rendir la Certificaci&#xF3;n AZ900 de Microsoft"></div></a></figure><p>En examtopics con preguntas para repasar:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://www.examtopics.com/exams/microsoft/az-900/?ref=blog.chicho.com.ar"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Microsoft AZ-900 Certification with Actual Free Questions | ExamTopics</div><div class="kg-bookmark-description">Conquer certification from Microsoft Microsoft Azure Fundamentals. ExamTopics offers free and accurate questions.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://www.examtopics.com/assets/images/et/favicon/android-icon-192x192.png" alt="Tips para rendir la Certificaci&#xF3;n AZ900 de Microsoft"><span class="kg-bookmark-author">ExamTopics Logo</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://www.examtopics.com/assets/images/et/ExamTopics-Logo-Smaller.png" alt="Tips para rendir la Certificaci&#xF3;n AZ900 de Microsoft"></div></a></figure><p>Con estos recursos creo que es m&#xE1;s que suficiente para animarte a rendir.</p>]]></content:encoded></item><item><title><![CDATA[Coming soon]]></title><description><![CDATA[<p>This is Chicho&apos;s SysAdmin and DevOps Blog, a brand new site that&apos;s just getting started. Things will be up and running here shortly. I&apos;m going to talk about Linux, devops and video games, enjoy it!! </p>]]></description><link>https://blog.chicho.com.ar/coming-soon/</link><guid isPermaLink="false">64415e0cbdf8870001786bc9</guid><category><![CDATA[News]]></category><dc:creator><![CDATA[Ruben Dario Coria]]></dc:creator><pubDate>Thu, 20 Apr 2023 15:45:16 GMT</pubDate><media:content url="https://blog.chicho.com.ar/content/images/2023/04/wallhaven-ymwmek-3.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.chicho.com.ar/content/images/2023/04/wallhaven-ymwmek-3.jpg" alt="Coming soon"><p>This is Chicho&apos;s SysAdmin and DevOps Blog, a brand new site that&apos;s just getting started. Things will be up and running here shortly. I&apos;m going to talk about Linux, devops and video games, enjoy it!! </p>]]></content:encoded></item></channel></rss>