<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Redhat on Rafael Zago</title><link>https://www.rafaelvzago.com/tags/redhat/</link><description>Recent content in Redhat on Rafael Zago</description><generator>Hugo</generator><language>pt-BR</language><copyright>© Rafael Zago</copyright><lastBuildDate>Fri, 24 Jul 2026 16:16:10 -0300</lastBuildDate><atom:link href="https://www.rafaelvzago.com/tags/redhat/index.xml" rel="self" type="application/rss+xml"/><item><title>OpenShift Service Mesh 3: multi-cluster com ACM e Kiali</title><link>https://www.rafaelvzago.com/posts/openshift-service-mesh-3-multicluster-acm-kiali/</link><pubDate>Thu, 23 Jul 2026 00:00:00 -0300</pubDate><guid>https://www.rafaelvzago.com/posts/openshift-service-mesh-3-multicluster-acm-kiali/</guid><description>&lt;p>&lt;a href="https://www.rafaelvzago.com/assets/img/headers/openshift-service-mesh-3-multicluster-acm-kiali.png" class="img-lightbox" data-lightbox>
	&lt;img src="https://www.rafaelvzago.com/assets/img/headers/openshift-service-mesh-3-multicluster-acm-kiali.png" alt="" loading="lazy" decoding="async">
&lt;/a>&lt;/p>
&lt;p>Multi-cluster com service mesh costuma falhar no detalhe chato: &lt;code>meshID&lt;/code>, &lt;code>clusterName&lt;/code> e &lt;code>network&lt;/code> precisam bater em todo lugar. Se um diverge, o Kiali mostra topologia pela metade ou o tráfego entre clusters não completa o handshake. Instalar o control plane duas vezes não resolve isso.&lt;/p>
&lt;p>No &lt;a href="https://www.rafaelvzago.com/posts/openshift-service-mesh-3/">post sobre OpenShift Service Mesh 3&lt;/a> falei da mudança do Maistra para o Istio upstream. Aqui é o passo seguinte: dois spokes no mesmo mesh multi-primary, com ACM no hub.&lt;/p></description></item><item><title>OpenShift Service Mesh 3: o que muda com o Istio</title><link>https://www.rafaelvzago.com/posts/openshift-service-mesh-3/</link><pubDate>Mon, 07 Jul 2025 00:00:00 -0300</pubDate><guid>https://www.rafaelvzago.com/posts/openshift-service-mesh-3/</guid><description>&lt;p>&lt;a href="https://www.rafaelvzago.com/assets/img/headers/openshift-service-mesh-3.png" class="img-lightbox" data-lightbox>
	&lt;img src="https://www.rafaelvzago.com/assets/img/headers/openshift-service-mesh-3.png" alt="" loading="lazy" decoding="async">
&lt;/a>&lt;/p>
&lt;h2 id="overview">Overview&lt;/h2>
&lt;p>O &lt;a href="https://www.redhat.com/en/technologies/cloud-computing/openshift/what-is-openshift-service-mesh">OpenShift Service Mesh&lt;/a> 3 (OSSM3) substitui o Maistra pelo Istio upstream como núcleo da solução. O Maistra era um fork customizado do Istio mantido pela Red Hat; com o OSSM3, a base passa a ser o Istio direto do projeto da comunidade — sem patches específicos, sem rebase.&lt;/p>
&lt;p>Entre as mudanças concretas: upgrades do control plane podem ser feitos in-place ou via revisão (canary), o Kiali precisa ser instalado separadamente via Kiali Operator, e o suporte a multi-cluster usa as topologias padrão do Istio upstream.&lt;/p></description></item><item><title>Real-Time Linux: baixa latência com PREEMPT_RT</title><link>https://www.rafaelvzago.com/posts/rtl-linux/</link><pubDate>Fri, 20 Dec 2024 00:00:00 -0300</pubDate><guid>https://www.rafaelvzago.com/posts/rtl-linux/</guid><description>&lt;p>&lt;a href="https://www.rafaelvzago.com/assets/img/headers/rtl.webp" class="img-lightbox" data-lightbox>
	&lt;img src="https://www.rafaelvzago.com/assets/img/headers/rtl.webp" alt="" loading="lazy" decoding="async">
&lt;/a>&lt;/p>
&lt;h2 id="introdução">Introdução&lt;/h2>
&lt;p>Real-Time Linux (RTL) é uma extensão do kernel do Linux que transforma o sistema operacional em um ambiente de tempo real. Isso significa que, além de suas funcionalidades tradicionais, ele agora é capaz de lidar com tarefas que exigem alta previsibilidade e baixa latência, como sistemas de automação industrial, dispositivos médicos e até sistemas de entretenimento.&lt;/p>
&lt;p>No final de 2024, o Linux Kernel passou a incorporar totalmente o Real-Time Linux (RTL), marcando um momento histórico na evolução do sistema. Mas como chegamos até aqui?&lt;/p></description></item><item><title>Workshop Skupper: Patient Portal em cluster Kubernetes</title><link>https://www.rafaelvzago.com/posts/workshop-skupper-patient-portal/</link><pubDate>Tue, 02 Jul 2024 00:00:00 -0300</pubDate><guid>https://www.rafaelvzago.com/posts/workshop-skupper-patient-portal/</guid><description>&lt;p>&lt;a href="https://www.rafaelvzago.com/assets/img/headers/workshop-skupper-patient-portal.jpg" class="img-lightbox" data-lightbox>
	&lt;img src="https://www.rafaelvzago.com/assets/img/headers/workshop-skupper-patient-portal.jpg" alt="" loading="lazy" decoding="async">
&lt;/a>&lt;/p>
&lt;h2 id="descrição">Descrição&lt;/h2>
&lt;p>Este workshop tem como objetivo apresentar o Red Hat Service Interconnect, uma solução de integração de aplicações que permite a comunicação entre diferentes sistemas de forma eficiente e segura.&lt;/p>
&lt;h2 id="arquitetura-da-solução">Arquitetura da Solução&lt;/h2>
&lt;p>&lt;a href="assets/workshop_skupper_arquitetura.png" class="img-lightbox" data-lightbox>
	&lt;img src="assets/workshop_skupper_arquitetura.png" alt="Arquitetura" loading="lazy" decoding="async">
&lt;/a>&lt;/p>
&lt;h2 id="topologia-de-serviços">Topologia de Serviços&lt;/h2>
&lt;p>&lt;a href="assets/workshop_skupper_solution-topology.png" class="img-lightbox" data-lightbox>
	&lt;img src="assets/workshop_skupper_solution-topology.png" alt="Topologia" loading="lazy" decoding="async">
&lt;/a>&lt;/p>
&lt;h2 id="resumo-do-workshop">Resumo do Workshop&lt;/h2>
&lt;ol>
&lt;li>Logar no Red Hat Developer.&lt;/li>
&lt;li>Criar um cluster Openshift.&lt;/li>
&lt;li>Acessar o cluster Openshift.&lt;/li>
&lt;li>No projeto do Red Hat Openshift Sandbox, acessar o seu projeto.&lt;/li>
&lt;li>Criar uma máquina virtual no Openshift Virtualization.&lt;/li>
&lt;li>Instalar pacotes na máquina virtual:
&lt;ul>
&lt;li>podman&lt;/li>
&lt;li>kubernetes-client&lt;/li>
&lt;li>skupper&lt;/li>
&lt;li>oc&lt;/li>
&lt;li>wget&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Fazer o deploy do banco de dados com o podman.&lt;/li>
&lt;li>Fazer o deploy do frontend e do backend da aplicação.&lt;/li>
&lt;li>Configurar o Service Interconnect (Skupper) para fazer a comunicação do banco de dados rodando em um podman com a aplicação rodando no Openshift.&lt;/li>
&lt;li>Acessar a aplicação e verificar se a comunicação está funcionando.&lt;/li>
&lt;li>Considerações.&lt;/li>
&lt;/ol>
&lt;h2 id="links">Links&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Recurso&lt;/th>
 &lt;th>Link&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>[1] Red Hat Developer&lt;/td>
 &lt;td>&lt;a href="https://developers.redhat.com/">https://developers.redhat.com/&lt;/a>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>[2] OC&lt;/td>
 &lt;td>&lt;a href="https://docs.openshift.com/container-platform/4.15/cli_reference/openshift_cli/getting-started-cli.html">https://docs.openshift.com/container-platform/4.15/cli_reference/openshift_cli/getting-started-cli.html&lt;/a>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>[3] Skupper&lt;/td>
 &lt;td>&lt;a href="https://skupper.io/">https://skupper.io/&lt;/a>&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h2 id="pré-requisitos">Pré-requisitos&lt;/h2>
&lt;ul>
&lt;li>Conta no Red Hat Developer&lt;/li>
&lt;li>Conhecimento básico em Kubernetes&lt;/li>
&lt;li>Conhecimento básico em Red Hat OpenShift&lt;/li>
&lt;li>Conhecimento básico em Podman&lt;/li>
&lt;li>Google Chrome, a preferência por ele é pela funcionalidade de colar comandos no console da máquina virtual pelo VNC via browser.&lt;/li>
&lt;/ul>
&lt;h2 id="passo-a-passo">Passo a passo&lt;/h2>
&lt;h3 id="1-logar-no-red-hat-developer">1. Logar no Red Hat Developer&lt;/h3>
&lt;p>Acesse o site do &lt;a href="https://developers.redhat.com/">Red Hat Developer&lt;/a> e faça o login com a sua conta.&lt;/p></description></item><item><title>Quem sou eu? Sobre Rafael Zago</title><link>https://www.rafaelvzago.com/posts/quem-sou-eu/</link><pubDate>Mon, 04 Dec 2023 00:00:00 -0300</pubDate><guid>https://www.rafaelvzago.com/posts/quem-sou-eu/</guid><description>&lt;p>&lt;a href="https://www.rafaelvzago.com/assets/img/headers/quem-sou-eu-hero.webp" class="img-lightbox" data-lightbox>
	&lt;img src="https://www.rafaelvzago.com/assets/img/headers/quem-sou-eu-hero.webp" alt="" loading="lazy" decoding="async">
&lt;/a>&lt;/p>
&lt;h3 id="apresentação">Apresentação&lt;/h3>
&lt;p>Qué pasa?&lt;/p>
&lt;p>Olá! Não me leve muito a sério, ok? Eu criei esse espaço para compartilhar um pouco do conhecimento que eu tenho e que 90% dele, eu ganhei na internet. Então já passou da hora de devolver um pouco para o mundo.&lt;/p>
&lt;p>Hoje sou senior software automation engineer na Red Hat, mas já passei por algumas empresas (pequenas e grandes) fazendo de tudo um pouco:&lt;/p>
&lt;ul>
&lt;li>DevOps de coração e SysAdmin de vocação.&lt;/li>
&lt;li>Criando métodos de aprendizagem e estruturando treinamentos.&lt;/li>
&lt;li>Trabalhei, por muitos anos, com suporte de aplicações de vários tamanhos e complexidade.&lt;/li>
&lt;li>Sou instrutor da Caelum/Alura.&lt;/li>
&lt;li>Sou padrinho do carinha mais dahora da terra! Sem clubismo…&lt;/li>
&lt;/ul>
&lt;h2 id="comunidades">Comunidades&lt;/h2>
&lt;p>Sou devops de coração e também membro da organização do DevOpsDays SP&lt;/p></description></item><item><title>CI/CD upstream vs downstream: quando usar cada um</title><link>https://www.rafaelvzago.com/posts/ci-cd-downstream-upstream/</link><pubDate>Fri, 02 Jun 2023 00:00:00 -0300</pubDate><guid>https://www.rafaelvzago.com/posts/ci-cd-downstream-upstream/</guid><description>&lt;p>&lt;a href="https://www.rafaelvzago.com/assets/img/headers/ci-cd-downstream-upstream-hero.webp" class="img-lightbox" data-lightbox>
	&lt;img src="https://www.rafaelvzago.com/assets/img/headers/ci-cd-downstream-upstream-hero.webp" alt="" loading="lazy" decoding="async">
&lt;/a>&lt;/p>
&lt;h1 id="integrando-skupper-com-skupper-uma-abordagem-upstream-e-downstream">Integrando Skupper com Skupper: Uma abordagem upstream e downstream&lt;/h1>
&lt;p>Quando se trata de desenvolvimento de software, integrar projetos upstream e downstream pode ser um desafio. Neste artigo, vamos explorar uma abordagem eficaz para integrar o Skupper e o Skupper, utilizando ferramentas populares para cada lado do desenvolvimento.&lt;/p>
&lt;h2 id="introdução">Introdução&lt;/h2>
&lt;p>O Skupper é um projeto de software livre que fornece uma solução de rede de serviço para Kubernetes. O Skupper é desenvolvido pela Red Hat e está disponível sob a licença Apache 2.0. Essa é a versão upstream do Skupper, o que significa que é a versão que está sendo desenvolvida ativamente pela Red Hat.&lt;/p></description></item><item><title>Skupper: rede de apps multicloud em poucos comandos</title><link>https://www.rafaelvzago.com/posts/multicloud-com-skupper/</link><pubDate>Sat, 01 Oct 2022 00:00:00 -0300</pubDate><guid>https://www.rafaelvzago.com/posts/multicloud-com-skupper/</guid><description>&lt;p>&lt;a href="https://www.rafaelvzago.com/assets/img/headers/multicloud-com-skupper-hero.webp" class="img-lightbox" data-lightbox>
	&lt;img src="https://www.rafaelvzago.com/assets/img/headers/multicloud-com-skupper-hero.webp" alt="" loading="lazy" decoding="async">
&lt;/a>&lt;/p>
&lt;h2 id="referências-e-tecnologias-utilizadas">Referências e tecnologias utilizadas:&lt;/h2>
&lt;ol>
&lt;li>&lt;a href="https://skupper.io">https://skupper.io&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://minikube.sigs.k8s.io">https://minikube.sigs.k8s.io&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/skupperproject/skupper-example-hello-world">Repositório com os Códigos&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://qpid.apache.org/components/dispatch-router/index.html">Qpid-dispatch&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://activemq.apache.org/">ActiveMQ&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://kubernetes.io/docs/tasks/tools/install-kubectl/">Kubectl&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://kubernetes.io/pt-br/docs/home/">Kubernetes&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://pt.wikipedia.org/wiki/Transport_Layer_Security">MTLS&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://pt.wikipedia.org/wiki/C%C3%B3digo_aberto">Open-source&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/skupperproject/skupper-router">Skupper-router&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/skupperproject/skupper">Skupper&lt;/a>&lt;/li>
&lt;/ol>
&lt;h2 id="ferramentas">Ferramentas&lt;/h2>
&lt;ul>
&lt;li>Um computador com o minikube [2] instalado;&lt;/li>
&lt;li>Um terminal para executar os comandos;&lt;/li>
&lt;li>&lt;code>kubectl&lt;/code> &amp;gt; 1.15 [6] ou mais nova.&lt;/li>
&lt;/ul>
&lt;h2 id="descrição-da-solução">Descrição da solução&lt;/h2>
&lt;p>O Skupper [1] é uma ferramenta que permite conectar dois ou mais ambientes de cloud de uma maneira não intrusiva e segura. Tais ambientes podem ser de diferentes provedores de serviço em nuvem como: AWS, GCP, AZURE entre outras, e, inclusive, clusters kubernetes nativos.&lt;/p></description></item></channel></rss>