Kubernetes API Extension
medium

Kubernetes API Extension Question #019e3a4f

Question Statement
Kubernetes API Extension
#kubernetes
#api-extension
#customresourcedefinition
#crd
Medium

Qual mecanismo permite estender a API do Kubernetes?

A

ConfigMap

B

CustomResourceDefinition

Correct
C

MutatingAdmissionWebhook

D

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.