Estendendo o servidor da API com webhooks de admissão
Intercepte e valide ou modifique solicitações à API do Kubernetes em trânsito usando webhooks de admissão de validação e modificação para aplicar políticas ao cluster.
Estendendo o servidor da API com webhooks de admissão é uma aula grátis de Docker & Kubernetes for Developers no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Docker & Kubernetes for Developers, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Docker & Kubernetes for Developers inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
What Is Admission Control
After authentication and authorization, requests pass through admission controllers that can validate or modify objects before they are persisted.
Two Kinds of Webhooks
Dynamic admission uses webhooks: mutating webhooks change objects, and validating webhooks accept or reject them.
Where They Sit in the Pipeline
The API server runs mutating webhooks first, then validating webhooks, so a mutation can add defaults before validation checks the final object.
A Use Case
Examples: inject a sidecar (mutating), enforce that every Pod sets resource limits (validating), or block images from untrusted registries.
The MutatingWebhookConfiguration
This resource registers your webhook endpoint with the API server.
apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
metadata:
name: add-defaults
webhooks:
- name: defaults.example.com
clientConfig:
service:
name: webhook-svc
namespace: default
path: /mutate
caBundle: <base64-ca>
rules:
- operations: ["CREATE"]
apiGroups: [""]
apiVersions: ["v1"]
resources: ["pods"]The AdmissionReview Payload
The API server sends an AdmissionReview JSON to your webhook and expects an AdmissionReview response with allowed true/false, and for mutation a JSONPatch.
Returning a JSON Patch
A mutating webhook returns a base64-encoded JSONPatch describing the changes to apply.
{"response":{"allowed":true,"patchType":"JSONPatch","patch":"<base64-patch>"}}failurePolicy Matters
failurePolicy: Fail blocks requests if the webhook is down, which is safe but can lock up the cluster; Ignore lets requests through, which is risky for security policies.
Scoping With Selectors
Use namespaceSelector and objectSelector to limit which requests hit your webhook, avoiding overhead and accidental scope creep.
Policy Engines as an Alternative
Instead of writing webhook servers, tools like OPA Gatekeeper and Kyverno provide declarative policies on top of the same admission mechanism.
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
name: require-limits
spec:
validationFailureAction: Enforce
rules:
- name: check-limits
match:
any:
- resources:
kinds: [Pod]
validate:
message: "CPU and memory limits are required"
pattern:
spec:
containers:
- resources:
limits:
memory: "?*"TLS Is Required
Webhook endpoints must serve HTTPS with a certificate trusted via the caBundle, since the API server only calls webhooks over TLS.
Quick Check
Test what you have learned.
Recap
You learned how admission webhooks extend the API server: mutating webhooks change objects and validating webhooks enforce policy, the AdmissionReview flow, failurePolicy and selectors, TLS requirements, and policy engines like Kyverno and Gatekeeper.
Aprenda Docker & Kubernetes for Developers com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 12
- Aulas
- 48
Perguntas Frequentes
A aula “Estendendo o servidor da API com webhooks de admissão” é grátis?
Sim — o texto completo de “Estendendo o servidor da API com webhooks de admissão” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Docker & Kubernetes for Developers, atualize para CoddyKit PRO. O curso de Docker & Kubernetes for Developers inclui 4 aulas no total.
O que vou aprender em “Estendendo o servidor da API com webhooks de admissão”?
Intercepte e valide ou modifique solicitações à API do Kubernetes em trânsito usando webhooks de admissão de validação e modificação para aplicar políticas ao cluster. Você pratica Docker & Kubernetes for Developers com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Docker & Kubernetes for Developers?
Nenhuma experiência prévia é necessária. Docker & Kubernetes for Developers no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Estendendo o servidor da API com webhooks de admissão”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Docker & Kubernetes for Developers?
Sim. Cada aula de Docker & Kubernetes for Developers inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Definições de recursos personalizados (CRDs)
- O padrão Operator no Kubernetes
- Kubernetes sem servidor (Knative)
- Estendendo o servidor da API com webhooks de admissão