Sobes.tech
Middle

Kubernetes-ში init კონტეინერი რა არის?

sobes.tech AI

პასუხი AI-სგან

სპეციალური კონტეინერი პოდში, რომელიც სრულებს თავის სამუშაოს სანამ პოდის ძირითადი კონტეინერები დაიწყებენ მუშაობას.

მისი მიზანია:

  • გარემოს ინიციალიზაცია ძირითადი აპლიკაციის დაწყებამდე.
  • კონფიგურაციების ან სკრიპტების ჩატვირთვა.
  • გარე სერვისების (მონაცემთა ბაზები, API) მზადყოფნის მოლოდინი.
  • ფაილური სისტემის ან დაშვების უფლებების კონფიგურაცია.

ძირითადი მახასიათებლები:

  • შესრულება მითითებული წესრიგით პოდის სპეციფიკაციაში.
  • თითოეული init-konteinerი უნდა დასრულდეს წარმატებით, სანამ შემდეგი დაიწყება ან ძირითადი კონტეინერები დაიწყებენ მუშაობას.
  • თუ init-konteinerი ჩავარდება, Kubernetes ხელახლა დაიწყებს პოდს, სანამ init-konteinerი წარმატებით არ დასრულდება (პოდსის ხელახლა დაწყების პოლიტიკის შესაბამისად).
  • აქვთ წვდომა საერთო volume-ზე, რაც საშუალებას აძლევს მონაცემების გადაცემას ძირითადი კონტეინერებისთვის.

YAML სპეციფიკაცია:

// მაგალითი პოდის სპეციფიკაციის, სადაც არის init-konteinerი
apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  initContainers: // init-konteinerების სია
  - name: init-myservice // init-konteinerის სახელი
    image: my-init-image // init-konteinerის სურათი
    command: ["sh", "-c", "echo 'Initializing...' && sleep 5"] // შესრულებადი ბრძანება
  containers: // ძირითადი კონტეინერების სია
  - name: my-app // ძირითადი კონტეინერის სახელი
    image: my-app-image // ძირითადი კონტეინერის სურათი
    ports:
    - containerPort: 80