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