Orquestração de Contêineres Question #019e3a4f
Qual é o propósito do CRI?
Fornecer controle de integração de runtime quando múltiplos runtimes são usados.
Suportar replicação e escalonamento de contêineres nos nós.
Fornecer uma interface que permite ao Kubernetes suportar runtimes de contêineres plugáveis.
Permitir a definição de critérios dinâmicos de recursos entre contêineres.
Official Explanation / Community Explanations
A Container Runtime Interface (CRI) é uma interface de plugin que permite ao Kubernetes suportar múltiplos runtimes de contêineres sem precisar recompilar o kubelet.
Como Funciona
A CRI define um conjunto de APIs gRPC que o kubelet usa para gerenciar contêineres e imagens. Qualquer runtime que implemente essa interface (por exemplo, containerd, CRI-O, Docker via cri-dockerd) pode ser usado com o Kubernetes. Isso desacopla o Kubernetes de implementações específicas de runtime, permitindo flexibilidade e interoperabilidade.
Por que a resposta correta está certa
A resposta correta afirma que a CRI fornece uma interface que permite ao Kubernetes suportar runtimes de contêineres plugáveis. Este é precisamente o propósito da CRI: abstrair os detalhes do runtime por trás de uma API padrão, permitindo que diferentes runtimes sejam trocados sem alterações nos componentes principais do Kubernetes.
Por que as respostas incorretas estão erradas
- A opção sobre fornecer controle de integração de runtime quando múltiplos runtimes são usados é enganosa. A CRI não gerencia múltiplos runtimes simultaneamente; ela define uma única interface que cada runtime implementa. O Kubernetes normalmente usa um runtime por nó.
- A opção sobre suportar replicação e escalonamento de contêineres nos nós descreve o papel do ReplicaSet ou do controller manager, não da CRI. Replicação e escalonamento são recursos de orquestração de nível superior.
- A opção sobre permitir a definição de critérios dinâmicos de recursos entre contêineres não está relacionada à CRI. Critérios de recursos (por exemplo, solicitações e limites de CPU/memória) são tratados pelo kubelet e pelo scheduler, não pela CRI.