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
--privilegedconcede 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.