Introdução ao Kubernetes

Introdução ao Kubernetes

1. Visão geral

Neste tutorial, teremos uma breve introdução teórica ao Kubernetes. Em particular, discutiremos os seguintes tópicos:

  • Necessidade de uma ferramenta de orquestração de contêiner

  • Recursos do Kubernetes

  • Arquitetura Kubernetes *API do Kubernetes

Para um entendimento mais aprofundado, também podemos dar uma olhada na official documentation.

===* 2. Orquestração de contêineres *

Neste link:/dockerizing-spring-boot-application [artigo anterior], já discutimos alguns conceitos básicos do Docker, além de como empacotar e implantar aplicativos personalizados.

Em poucas palavras, o Docker é um tempo de execução do contêiner: fornece recursos para empacotar, enviar e executar instâncias únicas de um aplicativo de maneira padronizada, também conhecida como contêiner.

No entanto, à medida que a complexidade aumenta, novas necessidades aparecem; implantação automatizada, orquestração de contêineres, agendamento de aplicativos, concessão de alta disponibilidade, gerenciamento de um cluster de várias instâncias de aplicativos e assim por diante.

Existem algumas ferramentas disponíveis no mercado. No entanto, Kubernetes está se estabelecendo cada vez mais como um concorrente substancial.

===* 3. Recursos do Kubernetes *

O Kubernetes, em suma, é um sistema* para orquestrar aplicativos em contêineres em um cluster de nós, incluindo infraestrutura de rede e armazenamento *. Algumas das características mais importantes são:

  • Planejamento de recursos: garante que os Pods sejam distribuídos de maneira ideal em todos os nós disponíveis

  • Escalonamento automático: com o aumento da carga, o cluster pode alocar dinamicamente nós adicionais e implantar novos Pods neles

  • Autocorreção: o cluster supervisiona os contêineres e os reinicia, se necessário, com base em políticas definidas

  • Service-discovery: Pods e Services são registrados e publicados via DNS

  • Atualizações/reversões contínuas: suporta atualizações contínuas com base na reimplantação sequencial de Pods e contêineres

  • Gerenciamento de segredo/configuração: suporta manipulação segura de dados confidenciais, como senhas ou chaves de API *Orquestração de armazenamento: são suportadas várias soluções de armazenamento de terceiros, que podem ser usadas como volumes externos para manter os dados

===* 4. Entendendo o Kubernetes *

O* _ Master * mantém o estado desejado de um cluster. Quando interagimos com nosso cluster, e. g. usando a interface da linha de comando _kubectl