Talos Linux uma distro k8s
Published: 2024-06-04 21:44:54


#### O que é o Talos Linux?

Talos é uma distribuição Linux otimizada para uso de container e Kubernetes, ele vem com o mínimo de recursos possível tornar o sistema operacional mais rápido  e seguro, seus destaques são.

**1. Imutável:**
- Os servidores ou outros componentes são configurados uma única vez e nunca são alterados. Qualquer modificação necessária é realizada criando uma nova versão do componente.

**2. Efêmero:**
- Pode ser criado e destruído rapidamente conforme necessário, sem a intenção de permanência.

**3. Atômico:**
 - Todo o Talos é distribuído como uma única imagem autocontida, que é versionada, assinada e imutável. Isso garante que todas as partes do sistema estão incluídas e integradas em um único pacote indivisível.

**4. Minimalista:**
- Contém apenas o essencial, sem componentes ou dependências desnecessárias. O design é simplificado para manter a eficiência e clareza.

**5. Seguro por padrão**:
- Foi projetado para ser seguro desde o início, sem a necessidade de configurações adicionais para garantir a segurança. As práticas de segurança são incorporadas desde a concepção.

**6. É Gerenciado através de um único arquivo de configuração declarativo e API gRPC:**
- Toda a gestão e configuração são centralizadas em um único arquivo de configuração, onde as instruções são declarativas (especificam o que deve ser feito, não como). A interação e gestão são feitas através de uma API gRPC, que permite comunicação eficiente e de alto desempenho entre serviços.

#### Testando o Talos Localmente.

A maneira mais simples de testar o talos é usando o Docker, você consegue criar um cluster Kubernetes localmente usando a ferrmanta de cli talosctl, com isso além de testar o Talos você ainda vai ter disponivel um cluster kubernetes local, podendo usa-lo para criar cluster de testes em sua máquina no lugar de usar kind ou minikube.

Vamos seguir o passos seguintes para criar um cluster Kubernetes usando Docker e Talos.
Requisitos:
- [Docker](https://docs.docker.com/engine/install/)
- [Kubectl](https://kubernetes.io/docs/tasks/tools/)

**Instalando Cli do talos** 
O Cliente do talos pode ser instalado usando seu gerenciador de pacotes.
No MacOS.
```bash
brew install siderolabs/tap/talosctl
```
No linux. 
```
curl -sL https://talos.dev/install | sh
```
No windows: 
```
scoop install talosctl
```

Versões compiladas podem ser baixados no github [Talos Release]("https://github.com/siderolabs/talos/releases/")

**Criando o cluster**

Agora podemos rodar o comando de criação do cluster, especificando a quantidade de nós do tipo worker..

```
talosctl cluster create --name docker-talos --workers 2
```

![Talos output](https://i.ibb.co/j5Lc5nH/output-talos.png)

Após criar o cluster, ele vai exibir na tela as configurações e já vai gerar o arquivo kubeconfig.

![kubectl](https://i.ibb.co/0YXGJdz/output-kubectl.png)

E é só isso, criamos um cluster Kubernetes local utilizando o Talos Linux, com apenas alguns comandos simples. Este processo é uma ótima maneira de testar e experimentar com Kubernetes de forma segura e rápida, sem a necessidade de instalar e configurar um ambiente de produção. Com o Talos, você pode criar clusters de teste em sua máquina local, o que é especialmente útil para desenvolvedores e profissionais de TI que precisam testar e demonstrar soluções de forma rápida e eficiente.

**Para apagar o cluster rode:**
```
talosctl cluster destroy --name docker-talos
```

Até mais!!