Conceitos básicos de Kubernetes
O 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.).
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
- 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/