<?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:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Mauricio Santana Goncalves on Medium]]></title>
        <description><![CDATA[Stories by Mauricio Santana Goncalves on Medium]]></description>
        <link>https://medium.com/@qmail.asdf?source=rss-9464ac8197fe------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/2*k1XGPdIYP9V1c96fM2av1g.jpeg</url>
            <title>Stories by Mauricio Santana Goncalves on Medium</title>
            <link>https://medium.com/@qmail.asdf?source=rss-9464ac8197fe------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 15 Nov 2026 08:57:22 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@qmail.asdf/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[Utilizando o recurso cloud-init no Proxmox]]></title>
            <link>https://medium.com/@qmail.asdf/utilizando-o-recurso-cloud-init-no-proxmox-f66de476d501?source=rss-9464ac8197fe------2</link>
            <guid isPermaLink="false">https://medium.com/p/f66de476d501</guid>
            <category><![CDATA[cloud-init]]></category>
            <category><![CDATA[cloud]]></category>
            <category><![CDATA[gole-suite]]></category>
            <category><![CDATA[proxmox]]></category>
            <category><![CDATA[goles]]></category>
            <dc:creator><![CDATA[Mauricio Santana Goncalves]]></dc:creator>
            <pubDate>Sat, 31 Oct 2020 13:02:17 GMT</pubDate>
            <atom:updated>2020-11-05T10:38:17.107Z</atom:updated>
            <content:encoded><![CDATA[<h3>Cloud-init no Proxmox Virtual Environment 6</h3><p><strong>Artigo rápido sobre como utilizar cloud-init com proxmox</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*DRlIdu8q2PSGkC_W.png" /><figcaption>Proxmox VE</figcaption></figure><blockquote>Quer criar VMs já setando o nome do servidor, IP, vlan, usuario, etc… sem nem se quer ter que liga-las? cloud-init é para você!</blockquote><p>Home do projeto: <a href="https://cloud-init.io/">https://cloud-init.io/</a></p><p>Documentação oficial: <a href="https://cloudinit.readthedocs.io/en/latest/">https://cloudinit.readthedocs.io/en/latest/</a></p><p>cloud-init é um recurso altamente utilizado quando falamos de servidores virtuais fornecido pelo grandes “players” das clouds.</p><p>Ele é interessante para clouds e VMs porque seu kernel personalizado não traz suporte a nada que uma VM não precisa para trabalhar. Ou seja, ele não vai trazer suporte a placa de som soundblaster =).</p><p>Foi criado pela <a href="https://canonical.com/">Canonical</a> que é a mesma empresa criadora do Ubuntu, e que tem uma gigante esmagadora parte dos Sistemas Operacionais no mercado de clouds.</p><p>Google e AWS (entre outros) são exemplos de empresas que utilizam cloud-init para disponibilizar as VMs para seus clientes.</p><p>Quando utilizamos kubernetes ou VMs na google, por exemplo, é possível visualizar o cloud-init config utilizado por eles, que cá entre nós, é um tremendo de um cloud-init config!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*hasomVzQfgbweZcU6ZOy6w.png" /></figure><h3>Alguns exemplos de porque utilizar cloud-init no Proxmox?</h3><ul><li>Velocidade em criação de novas VMs</li><li>Controle dos IPs das VMs como se fossem um container LXC</li><li>Possibilidades de automatização</li><li>Compatibilidades com Ansible e outras ferramentas de automações</li></ul><p>Como este artigo esta sendo criado como uma simples documentação do processo, vamos direto ao assunto e assim podemos validar melhor o que esse tal cloud-init faz.</p><h3>Deployando cloud-init em proxmox! Maos a obra!</h3><p>O primeiro, leia a documentação oficial Proxmox + cloud-init: <a href="https://pve.proxmox.com/wiki/Cloud-Init_Support">https://pve.proxmox.com/wiki/Cloud-Init_Support</a></p><p>O segundo, leia pelo menos a introdução do <a href="https://cloudinit.readthedocs.io/en/latest/">https://cloudinit.readthedocs.io/en/latest/</a></p><h3>Atenção!! Atenção!!</h3><blockquote>Na documentação oficial do proxmox parte com um tópico: Preparing Cloud-Init Templates e isso confunde a galera!<br>As imagens de cloud-init já estão prontas e podemos utilizar sem ter que preparar nada. Isso é somente para as pessoas que necessitam criar seu cloud-init templates from scratch.</blockquote><h3>Download da imagem</h3><p>Eu escolhi a imagem do ubuntu em homenagem a Canonical que disponibilizou o projeto, logo o mérito é deles:</p><p><a href="https://cloud-images.ubuntu.com/groovy/current/">Ubuntu 20.10 (Groovy Gorilla) Daily Build [20201027]</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/962/1*ZUASg8mbQ0n5IZng55jf1Q.png" /></figure><p>Perceba que tanto o formato “img” como a arquitetura “amd64” são compatíveis com Proxmox.</p><p>Agora escolha algum node do seu cluster proxmox para hospedar o template e acesse ele por ssh:</p><pre># wget <a href="https://cloud-images.ubuntu.com/groovy/current/groovy-server-cloudimg-amd64.img">https://cloud-images.ubuntu.com/groovy/current/groovy-server-cloudimg-amd64.img</a></pre><pre># qm create 9002 --memory 2048 --net0 virtio,bridge=vmbr1</pre><p>Agora veja em /etc/pve/storage.cfg qual é a storage que você deseja guardar essa imagem. Neste caso vou utilizar a storage local:</p><pre># qm importdisk 9002 groovy-server-cloudimg-amd64.img local<br>Successfully imported disk as ‘unused0:local:9002/vm-9002-disk-0.raw’</pre><pre># qm set 9002 --scsihw virtio-scsi-pci --scsi0 local:9002/vm-9002-disk-0.raw<br>update VM 9002: -scsi0 local:9002/vm-9002-disk-0.raw -scsihw virtio-scsi-pci</pre><p>Estamos quase prontos. Temos que adicionar agora um 2 disco que é onde vamos armazenar as configs personalizadas (a grosso modo falando).</p><p>No proxmox, esse disco é um cdrom ide virtual:</p><pre># qm set 9002 --ide2 local:cloudinit<br>update VM 9002: -ide2 local:cloudinit<br>Formatting ‘/var/lib/vz/images/9002/vm-9002-cloudinit.qcow2’, fmt=qcow2 cluster_size=65536 preallocation=metadata compression_type=zlib size=4194304 lazy_refcounts=off refcount_bits=16</pre><p>Arrumando a ordem de boot:</p><pre># qm set 9002 --boot c --bootdisk scsi0</pre><p>Algumas imagens de amd64 cloud-init são feitas pensadas em compatibilidades com openstack. Por isso temos que adicionar a serial0 para que ela inicie. Caso tenha curiosidade, remova a serial0 e tente o reinicio, se não bootar adicione novamente e tudo vai funcionar:</p><pre># qm set 9002 --serial0 socket --vga serial0<br>update VM 9002: -serial0 socket -vga serial0</pre><p>Copie a sua chave ssh publica para o servidor do proxmox, para que possamos adicionar esta chave no template do cloud-init:</p><pre>[user_machine ~$] scp ~/.ssh/id_rsa.pub root@PROXMOX_NODE:/tmp</pre><p>Voltando ao proxmox server:</p><pre># qm set 9002 --sshkey /tmp/id_rsa.pub<br>update VM 9002: -sshkeys ssh-rsa%20AAAAB3NzaC1yc2EAAAADAQABAAABgQC4LX1HAmPWW4qzmqUBsIvgbdlfDS5MKEVK5cpXRxmUErezgVfvodbGlqqnO0T61Dry3KRg1owq62wpH1z8d%2Bh6vZCsJKoyoklC55xlbJgGDSxEB0%2FbUMiwqWkFdjRwQ1V2HOYNJKttoBUFIQvG8V3XSDtw%2Fw3W0aNOAfnheZX10zMJ%2BCuisMkvGGCBRDwnxxi%2BJoeTGrx85yLYfdD6Ca6yba6KeTMcu5PoI1BH5%2Bvt2Ta90BGjyHpLUOZpoqV0AurTEJIO3n5J0z2OH9WhC77Kwz6mG3MSNueA1BcgRUVvaXvJB65ce2azSVcKbXNkTbeBFlc7FhocEAhXrycRR0L6xgo3acvoCBOx4EijtF0itjzqfvNhH9tN9oLj8Qxiz6ttGivzucfWBsc30pUDopWGaJ0syNFE0Wyvs03cDMHb%2F5Vmb8ixE%2BK2nDJe3OXyn%2Bp4GzkWNyVZjYxutg%2FLAFP6bwe6Oe1jSob4I0bA4xT7guHLp93zEqWHRjDFGhXewhk%3D%20USER%40MACHINE%0A</pre><p>Defina o usuário que vai ter permissão de sudo:</p><pre># qm set 9002 --ciuser gole<br>update VM 9002: -ciuser gole</pre><p>Defina o tipo de maquina. Dica valiosa do Tomas 2w-consultoria.</p><pre># qm set 9002 --machine q35<br>update VM 9002: -machine q35</pre><p>Por fim, transforme ela em um template:</p><pre># qm template 9002</pre><h3>Realizando um clone e utilizando a nova VM</h3><p>Por fim clone o template para uma nova maquina:</p><pre># qm clone 9002 139 --name VMNAME --full</pre><p>Configure o ip que ela vai utilizar:</p><pre># qm set 139 --ipconfig0 ip=172..xxx.xxx.5/24,gw=172.xxx.xxx.1</pre><p>Redimensione o disco para um tamanho que vai ocupar nesta VM:</p><pre># qm resize 139 scsi0 +45G<br>Image resized.</pre><p>Ligue a VM:</p><pre># qm start 139</pre><p>Espere ela iniciar e execute o ssh desde a maquina que tinha a chave publica:</p><pre>$ ssh -l gole 172.xxx.xxx.5</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/830/1*qmtEB8TGVeO97TMRcTQ6yQ.png" /></figure><p>Bingo! Dentro do servidor sem fazer nenhuma instalação!</p><p>Você pode definir vlans, DNSs e tudo o que sua nova VM precisa para funcionar.<br>Pode também personalizar o cloud-init com os cicustom.<br>De uma olhada na documentação oficial.</p><p>Quando o cloud-init sobe pela primeira vez, ele vai instalar alguns pacotes, por isso o 1o boot é um pouco mais demorado para liberar o apt.</p><p>Sucesso!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f66de476d501" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[O que é Netbox, e para que serve o Netbox?]]></title>
            <link>https://medium.com/@qmail.asdf/o-que-%C3%A9-netbox-e-para-que-serve-o-netbox-ceb8decb85a4?source=rss-9464ac8197fe------2</link>
            <guid isPermaLink="false">https://medium.com/p/ceb8decb85a4</guid>
            <category><![CDATA[tecnologia]]></category>
            <category><![CDATA[infraestrutura]]></category>
            <category><![CDATA[dcim]]></category>
            <category><![CDATA[redes-de-computadores]]></category>
            <category><![CDATA[ipam]]></category>
            <dc:creator><![CDATA[Mauricio Santana Goncalves]]></dc:creator>
            <pubDate>Fri, 06 Mar 2020 18:11:22 GMT</pubDate>
            <atom:updated>2020-03-06T18:41:38.000Z</atom:updated>
            <content:encoded><![CDATA[<h4>Um pequeno artigo sobre umas das melhores, se não a melhor, ferramenta para DCIM/IPAM</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*PenBKV6dOrEIxzk0EsBcwQ.jpeg" /></figure><blockquote>Uma super ferramenta para gerencia de sua infraestrutura</blockquote><p>Netbox é muito mais do que vamos comentar neste artigo.</p><p>Nossa ideia é indexar conteúdo em português sobre essa ferramenta maravilhosa que muito nos ajuda na organização tanto da parte lógica como da parte física da TI.</p><h3>O que é um IPAM?</h3><p>IP address management (IPAM) é a metodologia que nos permite gerenciar tudo que é relacionado a IP. Tudo que engloba o universo lógico do modelo TCP/IP.</p><p>Com uma IPAM você pode gerenciar IPv4, IPv6, VLANs, Sub-redes, IPs. E para cada uma destas opções, pode atribuir tags, roles, e muitas outras coisas.</p><p>Isso pode parecer desnecessário, mas quando se tem uma rede com mais de 512 hosts, realizar a administração e manter a segurança desta rede sem um IPAM pode ser uma tarefa bem complicada.</p><p><a href="https://en.wikipedia.org/wiki/IP_address_management">Neste link</a> da Wikipedia, temos uma tabela bem completa de muitas ferramentas IPAM.</p><h3>O que é um DCIM?</h3><p>Data center-infrastructure management (DCIM) é a metodologia que tem como missão integrar os equipamentos da infraestrutura com o time que presta serviço a empresa. Facilitar para as pessoas da TI todas as informações dos equipamentos e hosts que representam sua infraestrutura.</p><p>A equipe de virtualização necessita saber qual é a porta da enclosure que esta conectado o switch SAN, e também precisa saber quais são os racks que dispõem de espaço disponível. Enquanto isso a equipe de redes precisa saber qual rack contem os routes MPLS, e quais os switchs que estão com a versão XPTO de firmware.</p><p>Essas informações são exemplos de casos onde o DCIM faz toda a diferença.</p><p>Quando chega o momento de montar o capacity plain, o DCIM também é uma ferramenta indispensável.</p><h3>O que é Netbox?</h3><p><a href="https://github.com/netbox-community/netbox"><strong>Netbox </strong></a>é uma ferramenta de código aberto que utiliza a licença <a href="https://www.apache.org/licenses/LICENSE-2.0"><strong>Apache 2.0</strong></a><strong>. </strong>Sua<strong> </strong><a href="https://netbox.readthedocs.io/en/stable/">documentação oficial</a> esta disponível no portal <a href="https://readthedocs.org/">Read the Docs</a>, portal esse que contem documentações de diversos outros projetos de código aberto.</p><p>O projeto foi criado por <a href="https://github.com/jeremystretch">Jeremy Stretch</a> que trabalhava como desenvolvedor de redes (Network Developer) na <a href="https://www.digitalocean.com/">Digital Ocean</a>.</p><p>Com a evolução do Netbox, muitos pessoas começaram a colaborar com os códigos. Entre estas pessoas esta <a href="https://github.com/lampwins">John Anderson</a>, que participando em diversas validações e contribuições importantes no back-end, também ajudou a melhorar a interface web, que sempre foi construida com Django framework.</p><p>Passando alguns anos Jeremy Stretch e John Anderson, junto com outros engenheiros e desenvolvedores, criaram a empresa chamada <a href="https://www.networktocode.com/">Network to code</a>.</p><h3>Sobre a instalação</h3><h4>Existem basicamente duas formas de instalação do Netbox:</h4><ul><li><a href="https://github.com/netbox-community/netbox-docker">Netbox em Docker</a></li><li><a href="https://netbox.readthedocs.io/en/stable/installation/">Netbox instalado diretamente no S.O.</a></li></ul><p>É possível mesclar parte da instalação no S.O. e outra parte com Docker, isso depende somente de conhecimento em docker.</p><p>O processo de instalação esta bem descrito, logo não é necessário que abordemos isso. Nossa intenção é somente apresentar a existência da ferramenta.</p><p>Uma vez que tenha Netbox correndo e já tenha criado o usuário em /admin, podemos acessar sua interface web.</p><h3>Interface do usuário</h3><p>Quando acessamos o Netbox pela interface web, podemos visualizar o menu que esta acima de todo o site.</p><p>Os tópicos organização, dispositivos, IPAM, virtualização, circuitos, Power, segredos e outros, esses tópicos representam o primeiro conceito que devemos nos atentar.</p><p>Cada tópico pode ser direcionado a um grupo diferente de pessoas. Ou seja, uma pessoa que cuida das estruturas físicas e dos racks podem não ter acesso a configuração dos dispositivos, e as pessoas que cuidam dos dispositivos, podem não ter acesso ao menu virtualização. E podemos ainda definir quais os níveis de perfil, ou seja, é possível que a equipe que tem acesso aos devices, tenha acesso somente leitura para todo o universo que esta dentro de IPAM, ou ainda mais, que possa criar IPs e não possa cadastrar sub-redes ou VLANs.</p><p>Isso são exemplos, uma vez que é possível personalizar os acessos como bem entendemos.</p><p>Também podemos autenticar o Netbox em LDAP, Active Directory e outras formas de autenticação.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*DRtdhzi2pT82y41-" /><figcaption>Netbox homepage</figcaption></figure><p>Podemos ver a riqueza em detalhes e os cuidados que Netbox traz. Neste exemplo podemos visualizar o link entre o local físico, com o tenant, com o rack e com os devices.</p><p>Também podemos ver que é possível definir cores para cada tipo de device, além de muitas outras coisas.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*QYjUqApn3milIwpy" /><figcaption>Netbox racks</figcaption></figure><p>Já no menu de prefixes, podemos ver a integração entre roles, VLANs, IPs, porcentagem de utilização das redes.</p><p>Podemos também observar na direita, que sempre temos a possibilidade de buscar com filtros, e diversas opções. É muito poderoso!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*-W7V8bFI0ghLb-Xv" /><figcaption>Prefix page</figcaption></figure><p>Nesse tela estamos dentro de um device.</p><p>Nesse exemplo, podemos ver que o device tem um primary_ipv4 associado, tem um status de planned, tem o role de network, uma vez que a imagem em anexo nos mostra que é um switch. Temo também a plataforma do switch, e suporte a comentários e tags.</p><p>Na parte de interfaces, podemos conectar estas interfaces com os outros dispositivos cadastrados.<br>Podemos definir se a interface utiliza LAG, se é uma bond, se é virtual, o MTU, o tipo da conexão, enfim, não</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*dhu_UO1f4vQ4FjdS" /><figcaption>Device page</figcaption></figure><h3>API</h3><p>Quem já esta acostumado em trabalhar com API’s sabe como é bom quando encontramos uma API que esta documentada utilizando Swagger.</p><p>Netbox tem a API mais completa e lindamente documentada, evidentemente, ocupando swagger. É possível fazer toda a ação via Web ou via API, logo é possível automatizar toda a inserção e obtenção de informação!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*VY0R6EKyvbuJ0x7M" /><figcaption>API Swagger</figcaption></figure><h3>É isso ai.</h3><p>A verdade é que isso é uma micro pincelada sobre o que se pode fazer com Netbox.</p><p>Participamos de implementações em empresas multinacionais com mais de 3000 sites físicos, e mais de 5 Data Centers. A organização e a transparência, a integração entre as equipes internas, foi incrível visualizar os pontos positivos desta ferramenta.</p><p>Netbox também permite integração nativa com <a href="https://docs.ansible.com/">Ansible</a>, <a href="https://www.saltstack.com/">Salt</a>, <a href="https://stackstorm.com/">Stack Storm</a>, e muitas outras, não se limitando a essas ferramentas, é possível desenvolver as próprias integrações.</p><h4>Vida longa ao Netbox!</h4><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=ceb8decb85a4" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>