DevOps engineer passionate about building reliable, scalable infrastructure in the cloud and beyond. I write about AWS, Linux, infrastructure as code, and the things I learn along the way.
No artigo anterior, instalamos o CNI no cluster Kubernetes, configuramos o network load balancer MetalLB e implementamos um Ingress Controller. No entanto, ainda não conseguimos obter um endereço HTTPS ou expor nossos serviços na internet sem associar um domínio. Nesta segunda parte, nosso objetivo é resolver essas questões, começando pela obtenção de certificados ACME. Para isso, utilizaremos o Certificate Manager, que gerencia automaticamente os certificados no cluster. Além disso, para automatizar a criação de domínios para cada aplicação, utilizaremos o External-DNS. Por fim, vamos configurar o Argo CD, validando assim os dois add-ons mencionados anteriormente. Lembre-se de que, para seguir este artigo, é necessário ter um cluster Kubernetes já configurado, um domínio registrado, e acesso ao registro desse domínio.
No primeiro artigo, utilizamos um Lenovo Thinkpad T470. Devido à limitação de memória, migramos o servidor Proxmox para um hardware mais robusto, com 32 GB de RAM, um Xeon E5 de 2015 e um sonho - brincadeiras à parte. Esta atualização foi necessária para criar um cluster Kubernetes com alta disponibilidade, mesmo que virtualizado, pois é um único host físico. O propósito deste artigo é demonstrar os add-ons essenciais para o funcionamento básico de um cluster Kubernetes. O artigo será dividido em duas partes de um webserver nginx: uma para HTTP e a segunda [link em breve] para HTTPS. Mas antes de entrar no assunto principal, precisamos falar dos requisitos.
Indo direto ao ponto, o motivo de escrita desse artigo, convém a curiosidade de como possuir uma IA assim como o ChatGPT instalado localmente, sem a necessidade de pagar pelo serviço. Isso será possibilitado por modelos de IA, opensource, como o Vicuna, do qual iremos utilizar no lab desse artigo. Localmente, seja na workstation ou servidor, poderá testar diversos desses modelos open source, utilizando a web-ui da qual iremos instalar, porém de certa forma estando limitado a quantidade memoria RAM e a GPU/VRAM disponível.