Por que usar Kubernetes?

Em pleno 2024, é quase certo que você já ouviu falar de Kubernetes. Se você está começando agora, este artigo é perfeito para você! Vamos guiá-lo pelos primeiros passos com Kubernetes de forma simples e direta.

Você aprenderá não apenas como configurar seu próprio cluster Kubernetes, mas também entenderá os benefícios que ele traz para seus projetos, além de dicas importantes para evitar armadilhas comuns na DigitalOcean DOKS.

Esta é uma série de artigos, passando por cada um dos Cloud Providers. Então, não perca nenhum em nosso blog.

Quais os benefícios de utilizar Kubernetes em seus ambientes?

Escalabilidade: O Kubernetes simplifica a escalabilidade dos seus aplicativos, permitindo que você os dimensione com facilidade à medida que sua demanda cresce.

Resiliência: Com Kubernetes, seus aplicativos são altamente resilientes. Ele detecta e substitui automaticamente contêineres ou nós com falhas, mantendo seus aplicativos em execução de forma confiável.

Portabilidade: Kubernetes é uma plataforma de código aberto e pode ser executado em praticamente qualquer ambiente, seja localmente, em nuvens públicas ou privadas. Isso oferece a flexibilidade de mover seus aplicativos entre diferentes provedores de nuvem sem grandes modificações.

Automação: Com Kubernetes, você pode automatizar tarefas de implantação, atualização e dimensionamento de aplicativos, economizando tempo e reduzindo erros humanos.

Ecossistema Gigante: Kubernetes possui um vasto ecossistema de ferramentas e serviços, facilitando a integração com outras tecnologias e acelerando o desenvolvimento de aplicativos.

Pequeno histórico

Aqui alguns dos momentos mais importantes na história da DigitalOcean Kubernetes Service (DOKS):

  • 2018: Introdução do DigitalOcean Kubernetes (DOKS): DigitalOcean lança sua plataforma Kubernetes gerenciada, facilitando a criação e gerenciamento de clusters Kubernetes para desenvolvedores e pequenas empresas.

  • 2019: General Availability (GA): DigitalOcean Kubernetes atinge a disponibilidade geral, proporcionando uma plataforma estável e confiável para os usuários adicionando integração com Load Balancers para melhorar a distribuição de tráfego e a disponibilidade dos serviços.

  • 2020: Implementação de Volumes Persistentes: Adição de suporte para volumes persistentes, permitindo que os dados persistam mesmo após a reinicialização dos pods.

  • 2021: Suporte a Autoscaling: Introdução do suporte ao autoscaling de nodes e pods, permitindo que os clusters se ajustem automaticamente com base no workload.

  • 2022: Lançamento do DigitalOcean Container Registry: Facilitação do armazenamento e gerenciamento de imagens Docker diretamente na DigitalOcean.

  • 2023: Integração com Terraform: Suporte aprimorado para a infraestrutura como código (IaC) através da integração com Terraform, permitindo a criação e gestão programática de clusters Kubernetes.

Hands-on

Então esta é a hora de colocar esse tal de Kubernetes para funcionar.

Como este é um artigo bem direto ao ponto, vamos criar um cluster usando a ferramenta nativa da DigitalOcean, “doctl”, ele pode ser a alternativa mais simples ao clickops e pretendo escrever mais sobre isso no futuro.

Instalando a CLI “doctl” no linux (outros: aqui)
cd ~
wget https://github.com/digitalocean/doctl/releases/download/v1.104.0/doctl-1.104.0-linux-amd64.tar.gz
tar xf ~/doctl-1.104.0-linux-amd64.tar.gz
sudo mv ~/doctl /usr/local/bin
Criando um cluster

Para evitar criar um cluster já com máquinas muito grandes, vamos utilizar a opção “s-1vcpu-2gb”:

Antes de criar o cluster propriamente dito é necessário logar com a CLI:

1- Iniciando e fazendo login com a CLI

doctl auth init

2- Crie um cluster mínimo com a máquina básica “s-1vcpu-2gb”:

doctl kubernetes cluster create clusterzinho --size s-1vcpu-2gb --region nyc1

3- Verificando o cluster criado:

doctl kubernetes cluster clusterzinho

4- Criando o arquivo para acesso ao cluster:

doctl kubernetes cluster kubeconfig save clusterzinho

Não se esqueça de deletar esse cluster de testes 

doctl kubernetes cluster delete clusterzinho


Banner

Custos

Em sua estratégia Cloud e Kubernetes custo é um dos primeiros pontos levado em consideração com certeza e esta também é a estratégia da DigitalOcean para destacar seus produtos nesse mercado concorrido de nuvem, veja esse quadro abaixo que está no centro da página de serviços:

Claro que esta não deve ser sua única preocupação e o segundo ponto de atenção é a qualidade do serviço e disponibilidade, pois podem afetar diretamente o seu produto ou serviço, em nossa experiência aqui ela tem um desempenho bem similar aos outros provedores e talvez uma estratégia que pode ser adotada é rodar aqui ambientes com menor impacto como desenvolvimento, por exemplo.

Recomendo dar uma olhada no SLA deles aqui e caso deseje eles tem um case bem legal da BrightData que destaca o fato de não cobrarem pelo tráfego de rede.

Dicas de atenção

  • Ativar HA: para clusters de produção ativar o HA é fundamental, mas lembre-se que uma vez ativada essa opção não pode ser desativada;

  • Adeus disco local em upgrades: lembre-se que os dados em disco local das máquinas é perdido durante o processo de upgrade, pois as máquinas são substituídas por novas;

  • Habilite Surge Upgrade: esta é uma opção gratuita que lhe dará uma paz adicional para os momentos de upgrade, pois assim como o processo de deploy no Kubernetes, este serviço liga novas máquinas para onde é migrado seu workload e só então desliga as antigas.

  • O tipo correto de máquinas: essa não é uma dica exclusiva para DigitalOcean, mas eles têm um bom material de apoio para auxiliar na escolha do tamanho correto de máquinas em seu cluster, o que afetará diretamente os custos e disponibilidade de seu ambiente.

Próximos passos

Não basta apenas ter um cluster Kubernetes. O Kubernetes abrange uma ampla gama de infraestrutura, incluindo networking, storage, processamento, entre outros. Isso resulta em uma carga cognitiva massiva e quase impossível de dominar todos os detalhes necessários, especialmente considerando que a cada 4 meses temos uma nova versão. Sua jornada cloud native com Kubernetes está apenas começando, e você certamente se deparará com todo um ecossistema de ferramentas, como monitoramento, logs centralizados, CI/CD e, é claro, suas próprias aplicações.

Então não perca nossos próximos conteúdos aqui no blog, acompanhe também o Kubicast, onde você poderá ouvir sobre experiências, cases e aprender muito sobre o mundo cloud native.

Até a próxima com um novo cloud provider!

Social

Contact us

Almeda Campinas 802, CJ 12, Jardim Paulista,

São Paulo - SP, 01404-001

Opportunities

Our content

Social

Contact us

Almeda Campinas 802, CJ 12, Jardim Paulista,

São Paulo - SP, 01404-001

Opportunities

Our content

Social

Contact us

Almeda Campinas 802, CJ 12, Jardim Paulista,

São Paulo - SP, 01404-001

Opportunities

Our content