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.

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 do Azure Kubernetes Service (AKS):

  • 2017: A Microsoft anuncia o Azure Kubernetes Service (AKS) durante o evento Microsoft Ignite, oferecendo aos clientes uma maneira fácil de implantar, gerenciar e dimensionar contêineres usando o Kubernetes na nuvem do Azure.

  • 2018: O Azure Kubernetes Service é disponibilizado para o público em geral (GA), permitindo que os clientes implantem e gerenciem clusters Kubernetes na nuvem do Azure.

  • 2019: O Azure Arc é anunciado, permitindo que os clientes gerenciem e governem clusters Kubernetes não apenas no Azure, mas também em ambientes multi-cloud e on-premises.

  • 2020: A Microsoft anuncia a disponibilidade geral do Azure Policy para o AKS, permitindo aos clientes aplicar políticas de conformidade e segurança em seus clusters Kubernetes.

  • 2021: A Microsoft anuncia o Azure Kubernetes Service Autopilot, uma opção de configuração totalmente gerenciada que simplifica a operação e a escalabilidade de clusters AKS.  

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 Azure, “az”, ele pode ser a alternativa mais simples ao clickops e pretendo escrever mais sobre isso no futuro.

Instalando a CLI “az” no linux (outros: aqui)
curl -L https://aka.ms/InstallAzureCli | bash
Criando um cluster

Para evitar criar um cluster já com máquinas muito grandes, vamos utilizar a opção “Standard_DS2_v2”:

Antes de criar o cluster propriamente dito é necessário criar alguns recursos, então vamos lá:

1 - Definir sua subscrição: 

az account set --subscription <subscription_id

2 - Criar um grupo de recursos:

az group create --name ResourceGroup01 --location eastus

3 - Criar o cluster básico:

az aks create --resource-group ResourceGroup01 --name clusterbasico --node-count 2 --node-vm-size Standard_DS2_v2 --generate-ssh-keys


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

az aks delete --resource-group ResourceGroup01 --name clusterbasico --yes
Banner
Benefícios exclusivos

A Azure está no segundo lugar, na corrida de cloud providers, há bastante tempo e vem criando a cada dia mais serviços importantes e de altíssima qualidade, pessoalmente tive algumas experiências ruins com storage lá em 2018, mas dessa época pra cá tivemos uma evolução gigantesca e temos uma das melhores opções de Kubernetes gerenciado.

Um serviço que gostaria de destacar aqui é o Azure Key Vault, que é uma ótima opção para um cofre de seus segredos para você evitar colocá-los diretamente em seu código. Claro que eu não poderia deixar de citar o serviço de controle de identidades que integrado inclusive ao Key Vault pode trazer benefícios como não precisar se preocupar com rotação de senhas.

Custos

Apenas o serviço de AKS não tem um custo direto, mas se desejar SLA em seu suporte com a Azure esse sim tem um custo mensal médio de $73 e, além disso, você deve levar em conta os custos de cada node ou instâncias, custos de storage, de networking entre outros, como isso pode variar muito você pode avaliar antecipadamente na calculadora da Azure.

Existem alguns tradeoffs pouco falados quanto a otimização de custos, onde a resiliência e disponibilidade podem ficar comprometidas, tenha uma mentalidade de redução de custos, mas entenda que o serviço continua tendo seu preço, uma dica é este post.

Dicas de atenção
  • Não esqueça de usar access control list (ACL) para separar com segurança node pools;

  • Utilize máquinas de arquitetura ARM que têm um custo mais baixo.

  • Sempre tenha um nodepool livre de taints, é sempre necessário um node para os pods de sistema da Azure para reconciliação e upgrade.

  • Em média a cada 2 meses são lançados novos release de imagens, aplique-as, é uma questão de segurança.

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