Sobes.tech
Middle

Ինիտ-կոնտեյները ինչ է Kubernetes-ում?

sobes.tech AI

Պատասխան AI-ից

Նշանակում է հատուկ կոնտեյներ, որը ավարտում է իր աշխատանքը նախքան հիմնական կոնտեյներները սկսվեն։

Նրա նպատակն է՝

  • Նախապատրաստել միջավայրը հիմնական հավելվածը գործարկելուց առաջ։
  • Լիցքավորել կոնֆիգուրացիաներ կամ սցենարներ։
  • Հետեւել արտաքին ծառայությունների (մատուցողներ, API) պատրաստ լինելուն։
  • Կարգավորել ֆայլային համակարգը կամ իրավունքները։

Հիմնական հատկանիշները՝

  • Կատարվում են ըստ պոդի բնութագրում նշված կարգով։
  • Ամեն մի init-kontainer պետք է հաջողությամբ ավարտվի նախքան հաջորդը սկսվի կամ հիմնական կոնտեյներները սկսեն գործել։
  • Եթե init-kontainer-ը ձախողվի, Kubernetes-ը վերագործարկում է պոդը, մինչև init-kontainer-ը հաջողությամբ ավարտվի (պոդի վերագործարկման քաղաքականության համաձայն)։
  • Դրանք ունեն հասանելիություն ընդհանուր volume-ի, որը թույլ է տալիս փոխանցել տվյալներ հիմնական կոնտեյներներին։

YAML բնութագրում՝

// Init-kontainer-ով պոդի օրինակ
apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  initContainers: // Init-kontainerների ցանկ
  - name: init-myservice // Init-kontainerի անուն
    image: my-init-image // Init-kontainerի պատկեր
    command: ["sh", "-c", "echo 'Initializing...' && sleep 5"] // Կատարելի հրամանը
  containers: // Հիմնական կոնտեյներների ցանկ
  - name: my-app // Հիմնական կոնտեյներ անուն
    image: my-app-image // Հիմնական կոնտեյներ պատկեր
    ports:
    - containerPort: 80