Descubra um método universal para implantar o Talos Linux em servidores dedicados ou máquinas virtuais restritas, utilizando o recurso kexec do núcleo Linux. A abordagem permite contornar limitações de provedores que não aceitam imagens personalizadas ou arquivos ISO.

O Talos Linux é um sistema operacional especializado e otimizado para a execução do Kubernetes, focando fortemente em segurança e gerenciamento do ciclo de vida dos componentes do plano de controle. Uma de suas características mais marcantes é a ausência quase total de executáveis, incluindo a falta de um interpretador de comandos e a impossibilidade de acesso via SSH, exigindo que toda a configuração ocorra por meio de uma API semelhante à do Kubernetes. Embora seja distribuído em imagens pré-construídas para diversos ambientes, a instalação convencional pode falhar em provedores que oferecem servidores ou máquinas virtuais pré-configurados sem permitir o envio de imagens personalizadas ou o uso de ISOs via KVM. Para contornar esse obstáculo, uma das soluções mais versáteis emprega um mecanismo do núcleo do Linux chamado kexec.
O kexec atua tanto como um utilitário quanto como uma chamada de sistema, permitindo inicializar um novo núcleo diretamente a partir do sistema operacional vigente, eliminando a necessidade de uma reinicialização física da máquina. Dessa forma, é possível baixar o núcleo e o sistema de arquivos temporário essenciais do Talos Linux e realizar a troca imediata, transformando a distribuição Linux atual em um carregador de inicialização provisório. Esse processo viabiliza a execução inicial do sistema em memória RAM a partir de qualquer ambiente Linux básico, como um servidor operando em modo de resgate ou uma máquina virtual.

Após o acesso via SSH ao sistema operacional preexistente, o procedimento envolve a instalação do pacote kexec-tools para obter o utilitário necessário e a obtenção do núcleo e do initramfs do Talos Linux. Para servidores físicos, recomenda-se a criação de uma imagem personalizada com os firmwares adequados por meio do serviço Talos Factory ou o uso de imagens pré-construídas disponibilizadas pelo projeto Cozystack, criado na Ænix e transferido para o CNCF Sandbox. Em seguida, as informações de rede são obtidas e passadas para o momento da inicialização utilizando o recurso interno de configuração de IP do núcleo, ativado pela opção CONFIG_IP_PNP.
Com o utilitário kexec carregando o novo núcleo na memória RAM e efetuando a transição, o Talos Linux passa a operar com a rede configurada, embora inteiramente de forma volátil na memória. Para efetivar a instalação de maneira persistente no disco e substituir o sistema operacional anterior, aplica-se uma configuração de máquina indicando o disco de destino, o que pode ser feito através da ferramenta oficial talosctl ou por meio do utilitário Talm, mantido pelo projeto Cozystack. Ao aplicar o arquivo de configuração e executar o comando de inicialização, o cluster etcd é inicializado, permitindo monitorar o estado dos serviços e obter o arquivo kubeconfig para gerenciar o Kubernetes recém-instalado.
Para cenários complexos com múltiplos nós de infraestrutura física que possuem diferentes discos e interfaces, o gerenciador de configurações Talm oferece suporte à criação de modelos dinâmicos semelhantes ao Helm. O Talm realiza consultas à API do Talos para preencher valores na configuração final e armazena os parâmetros dos nós, simplificando a aplicação de comandos e garantindo que as configurações geradas não contenham dados confidenciais, possibilitando o armazenamento seguro em repositórios de código-fonte.