Kubernetes API Extension Question #019e3a4f
Qual mecanismo permite estender a API do Kubernetes?
ConfigMap
CustomResourceDefinition
MutatingAdmissionWebhook
Kustomize
Official Explanation / Community Explanations
A API do Kubernetes pode ser estendida usando CustomResourceDefinitions (CRDs). CRDs permitem que os usuários definam recursos personalizados que se comportam como recursos nativos do Kubernetes, permitindo que o servidor da API os sirva e armazene. Este mecanismo é a principal forma de estender a API do Kubernetes sem modificar o código central.
Como Funciona:
Um CustomResourceDefinition define um novo tipo de recurso especificando seu nome, grupo, versão e esquema. Uma vez criado, o servidor da API do Kubernetes gera automaticamente endpoints RESTful para esse recurso, e os usuários podem criar, ler, atualizar e excluir objetos personalizados via kubectl ou chamadas de API. CRDs são totalmente integrados com RBAC, controladores de admissão e outros recursos do Kubernetes.
Por que a Resposta Correta está Certa:
CustomResourceDefinition é o mecanismo padrão e integrado para estender a API do Kubernetes. É amplamente utilizado para operadores e controladores personalizados.
Por que as Respostas Incorretas estão Erradas:
- ConfigMap é usado para armazenar dados de configuração como pares chave-valor, não para estender a API.
- MutatingAdmissionWebhook é um controlador de admissão que intercepta requisições de API para modificá-las, mas não define novos tipos de recurso.
- Kustomize é uma ferramenta de gerenciamento de configuração para personalizar manifestos do Kubernetes, não um mecanismo de extensão da API.