Junior
Bir podda bir nechta konteyner bo'lishi mumkinmi?
sobes.tech AI
AIdan javob
Ha, bo'lishi mumkin. Bu Kubernetesda keng tarqalgan amaliyot.
Bir nechta konteynerlar odatda resurslarni (saqlash joyi, tarmoq yoyi) bo'lishadi va ko'pincha asosiy ilova konteyneri yonida yordamchi vazifalarni bajarish uchun ishlatiladi (Sidecar naqsh).
Foydalanish misollari:
- Sidecar konteynerlar: Monitoring, log yozish, service mesh proksi (masalan, Envoy).
- Ambassador konteynerlar: Tashqi xizmatlarga kirish uchun proksi.
- Adapter konteynerlar: Yordamchi jarayonlarning chiqishini normallashtirish.
Poddagi konteynerlar har doim bir xil tugunda rejalashtiriladi va IPC (o'rtasidagi jarayonlararo aloqa) uchun bir xil namespace'dan foydalanadi, bu ular o'rtasida muloqot qilish imkonini beradi.
Ikki konteynerli pod manifestining misoli (asosiy nginx ilovasi va log yozish uchun sidecar konteyneri):
// apiVersion - Kubernetes API versiyasi
apiVersion: v1
// kind - ob'ekt turi (bu holatda Pod)
kind: Pod
// metadata - podning metama'lumotlari (ism, etiketlar va boshqalar)
metadata:
name: multi-container-pod
spec:
// containers - pod ichidagi konteynerlar ro'yxati
containers:
// Birinchi konteyner - asosiy ilova (nginx)
- name: main-app
image: nginx:latest
ports:
// 80 portni ochish
- containerPort: 80
// Ikkinchi konteyner - log yozish uchun sidecar (fiktiv misol)
- name: log-sidecar
image: busybox:latest
args:
// log yozishni simulyatsiya qilish uchun doimiy sikl
- /bin/sh
- -c
- while true; do echo "Logging from sidecar..."; sleep 5; done