Orquestração de Contêineres Question #019e3a4f
O Kubernetes suporta múltiplos clusters virtuais apoiados pelo mesmo cluster físico. Esses clusters virtuais são chamados de:
namespaces
containers
hypervisors
cgroups
Official Explanation / Community Explanations
No Kubernetes, namespaces fornecem um mecanismo para isolar grupos de recursos dentro de um único cluster. Eles permitem que múltiplos clusters virtuais (namespaces) coexistam no mesmo cluster físico, cada um com seu próprio conjunto de recursos como pods, services e deployments. Isso possibilita o multi-tenancy e a separação organizacional sem exigir infraestrutura física separada.
Como Funciona
Namespaces são um conceito fundamental no Kubernetes que particiona logicamente o cluster. Recursos criados em um namespace são isolados daqueles em outro, a menos que explicitamente conectados via services ou network policies. Por padrão, o Kubernetes inclui namespaces como default, kube-system e kube-public. Os usuários podem criar namespaces adicionais para separar ambientes (ex.: dev, staging, prod) ou equipes.
Por que a Resposta Correta está Correta
- Namespaces são o termo correto para clusters virtuais no Kubernetes. Eles são uma abstração embutida que permite que múltiplos usuários ou equipes compartilhem o mesmo cluster enquanto mantêm isolamento.
Por que as Respostas Incorretas estão Erradas
- Containers são unidades leves e portáteis que empacotam uma aplicação e suas dependências. Eles são executados dentro de pods, não como clusters virtuais. Containers são as unidades de execução, não o mecanismo de isolamento para múltiplos clusters virtuais.
- Hypervisors são softwares que criam e executam máquinas virtuais (VMs) abstraindo o hardware subjacente. O Kubernetes não usa hypervisors para clusters virtuais; ele usa namespaces para separação lógica dentro de um único kernel do SO.
- cgroups (control groups) são um recurso do kernel Linux que limita, contabiliza e isola o uso de recursos (CPU, memória, disco I/O) para grupos de processos. Embora cgroups sejam usados por container runtimes para impor limites de recursos, eles não fornecem a abstração de cluster virtual que os namespaces fornecem.