Իմացեք ընդունման վեբհուկները ինչ են:
sobes.tech AI
Պատասխան AI-ից
Kubernetes- ի Admission Webhook-ները HTTP callback-ներ են, որոնք ստանում են փոփոխության կամ ռեսուրսների ստեղծման համար հարցումներ։ Նրանք թույլ են տալիս միջամտել API սերվերին հարցումների ժամանակ՝ նախքան օբյեկտները պահվել Etcd-ում:
Կան երկու հիմնական տեսակներ՝
- Mutating Admission Webhooks: Կարող են փոփոխել օբյեկտները պահելուց առաջ։ Օրինակ՝ ավտոմատ կերպով ավելացնել նշումներ կամ annotations պոդերին։
- Validating Admission Webhooks: Կարող են մերժել հարցումները, եթե օբյեկտները չեն համապատասխանում որոշ կանոնների։ Օրինակ՝ արգելել պոդների ստեղծումը առանց որոշ դաշտերի securityContext-ում։
Webhook-ները տեղակայվում են որպես ծառայություններ կլաստերում և սահմանվում են MutatingWebhookConfiguration և ValidatingWebhookConfiguration ռեսուրսներով։ Այս ռեսուրսները ցույց են տալիս, թե որ գործողությունները (CREATE, UPDATE, DELETE) և որ ռեսուրսների համար (pods, deployments և այլն) պետք է կանչել webhook-ը։
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
name: example-validating-webhook
webhooks:
- name: validate.example.com # Webhook-ի անունը
clientConfig:
service:
namespace: default # Webhook ծառայության նեյմսփեյս
name: example-webhook-service # Webhook ծառայության անունը
rules:
- operations: ["CREATE", "UPDATE"] # Հետեւելու գործողություններ
apiGroups: [""] # API խմբի անուն (պոդների համար)
apiVersions: ["v1"] # API տարբերակ
resources: ["pods"] # ռեսուրսի տեսակ
sideEffects: None # Նշում է, արդյոք webhook-ը ունի կողմնակի ազդեցություններ (այստեղ՝ ոչ)
Նրանք թույլ են տալիս իրականացնել հատուկ քաղաքականության և մուտացիայի տրամաբանություն ռեսուրսների համար, լրացնելով Kubernetes-ի ներսում գտնվող Admission Controllers-ները։