Ir para o conteúdo principal

Conceitos básicos de Kubernetes

Kubernetes-Logo.wine.webpO que é o Kubernetes?

  • Sistema de código aberto -

        Ele foi criado pelo Google e agora é mantido pela Cloud Native Computing Foundation (CNCF).

  • Possibilita a automação e a implantação.
  • Dimensionamento e a gestão de aplicativos em containers .

Infraestrutura de um Cluster Kubernetes

  • Conjunto de servidores de processamento
  • Esses servidores são chamados de Nós
  • Todo cluster possui ao menos um servidor de processamento (worker node) e um Control Plane (Master).

Descrição de alguns componentes utilizados no Kubernetes

Namespaces

  • Fornecem um mecanismo para isolar grupos de recursos dentro de um único cluster
  • É adicionado  cotas de recursos. 
  •  Permissões podem ser aplicadas.
  •  Objetos Kubernetes podem ser criados em um namespace (Deployments, Services, etc.).

azure-kubernetes-service-namespaces-2.png

Pods

  • Menores unidades de computação implantáveis que você pode criar e gerenciar no Kubernetes.
  • Possui armazenamento compartilhado
  • Recursos de rede compartilhados
  • Especificação de como executar os contêineres.
  • O conteúdo de um Pod é sempre executado em um contexto compartilhado.

Deployment

  • É um objeto que gerencia um conjunto replicado de pods.
  • Garante que um número especificado de réplicas de um aplicativo esteja em execução em um determinado momento.
  •  Permite atualizações e rollbacks sem tempo de inatividade.
  •  Você pode pensar em um deployment como uma maneira declarativa de gerenciar pods.

Services

  • É um objeto que define um conjunto lógico de pods por meio de um seletor de rótulos (label selector).
  •  Define uma política de acesso aos pods.
  •  Permitem que um conjunto de pods seja exposto como um serviço de rede.
  •  Pode ser usado para descoberta de serviço e balanceamento de carga interno.

Exemplo de Service:

Nodeport

  • Permite a obtenção de  tráfego externo diretamente para  o serviço.
  • Ele abre uma porta específica em todos os Nós e qualquer tráfego enviado a essa porta é encaminhado para o serviço.

ReplicaSet

  • É um serviço que garante que um número especificado de réplicas de POD está sendo executado.
  • É utilizado para garantir a disponibilidade de um número especificado de Pods idênticos.

Referências:

Documentação oficial Kubernetes

https://www.youtube.com/watch?v=jb8NZj9wX4A

https://www.youtube.com/watch?v=eV4ujv8kKC8

https://stacksimplify.com/azure-aks/azure-kubernetes-service-namespaces-imperative/

https://medium.com/tecnologia-e-afins/kubernetes-f456e59332d3

https://napoleon.com.br/glossario/o-que-e-kubernetes-liveness-probes/