5 razões para executar o Kubernetes em seu homelab Raspberry Pi
Um novo e-book gratuito oferece instruções passo a passo para criar uma nuvem privada em casa, incluindo o que você pode fazer com ela quando terminar.
Há um ditado sobre a nuvem que diz mais ou menos assim: A nuvem é apenas o computador de outra pessoa. Embora a nuvem seja na verdade mais complexa do que isso (é muito de computadores), há muita verdade nesse sentimento. Ao migrar para a nuvem, você transfere dados, serviços e capacidade de computação para uma entidade que não possui ou não controla totalmente. Por um lado, isto liberta-o de ter de realizar tarefas administrativas que não deseja fazer, mas, por outro lado, pode significar que já não controla o seu próprio computador.
É por isso que o mundo do código aberto gosta de falar sobre uma nuvem híbrida aberta, um modelo que permite escolher sua própria infraestrutura, selecionar seu próprio sistema operacional e orquestrar suas cargas de trabalho como achar melhor. No entanto, se você não tiver uma nuvem híbrida aberta disponível, poderá criar a sua própria, seja para ajudá-lo a aprender como a nuvem funciona ou para atender sua rede local.
Construir sua própria nuvem requer pelo menos três unidades Raspberry Pi, uma distribuição Arm Linux para servir como sistema operacional e Kubernetes para ajudá-lo a gerenciar os contêineres que sua nuvem executará. Chris Collins explica cada passo que você precisa seguir para que isso aconteça em nosso novo e-book. Se você já construiu uma série de nós de computação distribuídos, provavelmente ficará surpreso com o quão simples isso é. Mais cedo do que o esperado, você chegará ao final da instalação e inevitavelmente se deparará com esta questão:
O que agora?
Qual é a aplicação real de uma nuvem privada executada em pequenos computadores no seu escritório? Afinal, para que você precisa do Kubernetes? Eu costumava me fazer as mesmas perguntas e encontrei respostas suficientes para justificar um pequeno investimento em um ou dois Raspberry Pi extras e o tempo que leva para seguir as instruções do e-book de Chris. Aqui estão algumas idéias para você.
Armazenamento conectado à rede para sua casa
Se você é um hobby que deseja apenas experimentar a tecnologia mais recente, um dos pontos de entrada mais fáceis é melhorar sua rede. Desde que o Raspberry Pi foi lançado, nunca fiquei sem um servidor doméstico – mesmo na época em que minha casa era apenas um quarto alugado no subúrbio. Minhas redes domésticas nem sempre foram muito complicadas, mas rodavam alguns serviços que eu gostava de ter disponíveis, então me agradou.
Seguindo o e-book de Chris, adicionei recentemente o Kubernetes e alguns nós à minha rede, o que me permite adicionar qualquer número de serviços. Finalmente coloquei o Network Filesystem (NFS) em execução, então meu parceiro e eu temos um plano de backup fácil e podemos acessar arquivos compartilhados como se eles existissem localmente em qualquer computador que estivermos usando. Também estou executando o servidor de mídia Kodi de código aberto, para que possamos assistir filmes, ouvir música e ver fotos (todas armazenadas no compartilhamento NFS) em qualquer lugar da casa. A instalação do Nextcloud facilita a colaboração e também nos ajuda a manter contato com familiares em outros países sem recorrer a sites como o Facebook.
Resumindo, o Kubernetes e as muitas imagens de contêiner disponíveis para instalações fáceis transformaram minha rede local em minha Internet ou supercomputador pessoal. Não fornece todos os serviços para todas as pessoas, mas fornece exatamente os serviços que desejo para as pessoas a quem desejo que tenham acesso.
Se você estiver duplicando mídia ou aplicativos em vários dispositivos ou construindo um servidor doméstico, considere um cluster Kubernetes. É fácil dimensionar energia e armazenamento, é fácil de manter e é muito divertido.
Educação e qualificação
Você está considerando uma carreira em TI? Você já trabalha em TI, mas quer crescer como profissional? A nuvem é um modelo poderoso e o Kubernetes é uma maneira fácil de obter muito poder potencial. Quanto mais você aprender sobre esses conceitos, mais preparado estará para progredir em sua carreira.
Um dos aspectos mais frustrantes da nuvem nos seus primórdios foi a sua inacessibilidade. Se você não possuísse racks de servidores, seria difícil ganhar experiência na administração e manutenção de uma infraestrutura em nuvem. Graças a projetos de código aberto como Kubernetes, OKD, LXC e Podman, construir sua própria nuvem tornou-se possível. Graças ao Raspberry Pi e outros computadores system-on-a-chip (SoC) baseados em Arm, também é acessível.
servidor web
A Internet é um dos pontos de entrada mais acessíveis para a tecnologia moderna. Desde os anos 90, pessoas comuns têm entrado no estranho mundo da computação lendo HTML em uma tentativa desesperada de entender como colocar um GIF animado em uma página do MySpace ou do Geocities. Uma progressão natural do HTML e CSS rudimentares é executar um servidor web. É certo que um cluster Kubernetes provavelmente é um exagero para um site pessoal, mas é um ótimo projeto para se familiarizar com como os pods Kubernetes funcionam e por que são importantes. Também é uma ótima maneira de aprender sobre roteamento e balanceamento de carga.
Containers
Os contêineres Linux mudaram a TI e a computação como um todo. O conjunto de ferramentas LXC original habilitou e inspirou tecnologias extremamente populares como Docker, Flatpak, Kubernetes, Podman e muito mais. A conteinerização é um novo modelo de execução de código que está aparecendo em sistemas operacionais para desktops e dispositivos móveis.
O problema é que os contêineres são diferentes do que a maioria dos usuários está acostumada. Tradicionalmente, os binários eram compilados de acordo com os sistemas operacionais, eram vinculados a bibliotecas disponíveis localmente e geralmente tinham acesso a tudo no disco rígido. Os contêineres são diferentes. Eles são ambientes de execução em miniatura com binários executados neles, vinculados a outras bibliotecas no contêiner e mantidos separados do sistema host, a menos que seja concedida uma isenção específica. Além disso, um contêiner é efêmero. Você pode criar um contêiner e descartá-lo arbitrariamente. Executar um serviço em um contêiner é uma ótima maneira de aprender como os dados podem ser persistentes em um ambiente projetado para terminar e reaparecer a qualquer momento.
Por mais dolorosa que seja essa curva de aprendizado, descobrir como é fácil instalar aplicativos em contêineres abre um novo mundo de possibilidades. Você pode executar o painel Grafana, o software de monitoramento Prometheus, Discourse, Nextcloud e uma dúzia de outros a partir de definições de contêiner pré-construídas ou gráficos Helm.
desenvolvimento web
Se você é um desenvolvedor que entrega aplicativos para a web, o Kubernetes oferece muitos benefícios. Ele pode transformar seu fluxo de trabalho e, o mais importante, pode ajudar a tornar seus aplicativos resilientes. Ao desenvolver para a nuvem, você aproveita os melhores princípios de microsserviços no contexto de contêineres e pode aproveitar as vantagens da computação distribuída, sistemas de arquivos e bancos de dados.
Experimente você mesmo o Kubernetes
Se você aprendeu o básico do Kubernetes, agora é a hora de levar seu conhecimento um passo adiante com sua própria nuvem privada. Baixe nosso e-book gratuito e comece a usar o Kubernetes hoje mesmo. Você nunca sabe aonde isso o levará.