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 no Oracle OKE.

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 Oracle Kubernetes Engine (OKE):

  • 2018: Oracle lança seu serviço gerenciado de Kubernetes, OKE, permitindo que os clientes implantem, gerenciem e escalem clusters Kubernetes na Oracle Cloud Infrastructure (OCI).

  • 2019: OKE se integra profundamente com outros serviços da OCI, incluindo Oracle Cloud Infrastructure Registry (OCIR) para gerenciamento de imagens de contêiner e serviços de rede e armazenamento para suporte avançado a clusters Kubernetes.

  • 2020: OKE adiciona suporte para Helm, um gerenciador de pacotes para Kubernetes, facilitando a implantação de aplicativos complexos. OKE também começa a oferecer suporte para Istio, um service mesh que fornece gerenciamento de tráfego, observabilidade e segurança de rede.

  • 2021: Introdução de ferramentas e integrações para melhorar os fluxos de trabalho de CI/CD, incluindo integração com Oracle Cloud Infrastructure DevOps e suporte para GitOps.

  • 2022: Implementação de melhorias de desempenho e recursos de escalabilidade automática para melhor suportar cargas de trabalho variáveis e de alta demanda.

  • 2023: Oracle lança o OKE Autopilot, um modo de operação que automatiza a configuração e o gerenciamento de clusters Kubernetes, reduzindo a complexidade operacional para os usuários.

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


Instalando a CLI “oci” no linux (outros: aqui)
bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"
Criando um cluster

Para evitar criar um cluster já com máquinas muito grandes, vamos utilizar a opção “VM.Standard.E2.1”:

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

1- Iniciando e fazendo login com a CLI

oci setup config

2- Liste os IDs do “compartimento pai” para utilizar no comando de criação: 

oci iam compartment list

3- Crie um cluster mínimo com a máquina básica “VM.Standard.E2.1”:

oci ce cluster create --name "clusterBasico" --compartment-id <compartment_ocid> --node-shape "VM.Standard.E2.1" --vcn-id <vcn_ocid> --kubernetes-version "v1.28.1" --wait-for-state "ACTIVE"

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

oci ce cluster delete --cluster-id <cluster_ocid> --force --wait-for-state TERMINATED
Banner
Benefícios exclusivos

A Oracle foi uma das últimas empresas a ingressar não apenas no mercado de provedores de nuvem, mas também no de Kubernetes gerenciado. Isso, no entanto, não é necessariamente um problema. Pelo contrário, muitos desafios já haviam sido resolvidos, o que certamente facilitou essa entrada tardia.

Embora a Oracle ainda não seja um dos maiores provedores de nuvem, mesmo estando no "quadrante mágico" do Gartner, ela possui algo que muitos concorrentes desejam: uma forte "presença enterprise". Executivos da Oracle têm influência significativa dentro das empresas e com os tomadores de decisão, frequentemente fechando grandes acordos que podem reduzir consideravelmente os custos. Portanto, a dica aqui é: converse com essas pessoas. 😀

Custos

Como de costume, o serviço de Kubernetes OKE tem um custo direto 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 Oracle.

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.

Dicas de atenção
  • CIDR Blocks (Blocos CIDR): A configuração dos blocos CIDR para a Virtual Cloud Network (VCN) e sub-redes precisa ser feita corretamente na criação do cluster. Alterar esses blocos depois que o cluster estiver em operação é complicado e pode exigir a criação de um novo cluster.

  • Tipologia de Cluster: A escolha entre cluster regional e cluster de uma única zona deve ser feita durante a criação. Migrar de um para o outro após a criação do cluster não é suportado e exigiria a criação de um novo cluster.

  • Criação de Clusters Privados: Se você deseja que seu cluster seja um "private cluster" com endpoints internos, essa configuração precisa ser definida durante a criação do cluster. Tornar um cluster privado após a criação pode ser complexo e pode não ser totalmente suportado.

  • Configuração de Redes e Security Lists: As security lists associadas às sub-redes e as regras de roteamento devem ser configuradas corretamente na criação. Alterar as configurações de segurança de rede pode ser feito posteriormente, mas exige cuidado para não interromper o tráfego existente.

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

Fale conosco

Almeda Campinas 802, CJ 12, Jardim Paulista,

São Paulo - SP, 01404-001

Faça parte do time

Nossos conteúdos

Social

Fale conosco

Almeda Campinas 802, CJ 12, Jardim Paulista,

São Paulo - SP, 01404-001

Faça parte do time

Nossos conteúdos

Social

Fale conosco

Almeda Campinas 802, CJ 12, Jardim Paulista,

São Paulo - SP, 01404-001

Faça parte do time

Nossos conteúdos