Sobes.tech
Middle+

Իմացեք ընդունման վեբհուկները ինչ են:

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-ները։