Sobes.tech
Junior — Middle

Como diferem os níveis de privilégio no Docker e Kubernetes e qual é a sua principal diferença?

sobes.tech IA

Resposta da IA

Em Docker e Kubernetes, os níveis de privilégio estão relacionados com a segurança e o controlo de acesso, mas são implementados de forma diferente devido às características arquitetónicas.

Docker:

  • Os contêineres são executados num único host e usam o núcleo do sistema operativo do host.
  • Os privilégios do contêiner dependem do utilizador dentro do contêiner e das configurações de segurança (por exemplo, a flag --privileged concede direitos estendidos ao contêiner).
  • Os contêineres podem ser executados com permissões limitadas, mas se não forem configurados corretamente, podem aceder ao host.

Kubernetes:

  • Gere múltiplos contêineres e nós.
  • Utiliza RBAC (Controlo de Acesso Baseado em Papéis) para delimitar os direitos dos utilizadores e serviços no cluster.
  • Controla os direitos ao nível do servidor API, permitindo uma configuração detalhada do acesso aos recursos do cluster.
  • Também suporta SecurityContext para configurar os direitos dos contêineres (por exemplo, executar como um utilizador não privilegiado).

Diferença principal: Docker gere os privilégios ao nível de cada contêiner e do host individual, enquanto Kubernetes os gere ao nível do cluster com controlo de acesso centralizado e políticas de segurança.

Exemplo: no Kubernetes, é possível definir um papel que permita apenas leitura de pods, enquanto que no Docker tal nível de delimitação não existe.