Cert-manager moduli
Cert-manager’ning v1.12.3 versiyasini ishonchli va yuqori mavjudlikka ega tarzda o‘rnatishni ta’minlaydi.
Modul o‘rnatilganda klasterning o‘ziga xos xususiyatlari avtomatik tarzda hisobga olinadi:
Modul yangilanishi avtomatik tarzda amalga oshiriladi, shu jumladan cert-manager resurslarining migratsiyasi bilan birga.
Kubernetes klasterida tarmoq ishlashini Cilium modul orqali ta'minlaydi.
Cheklovlar:
1.NodePort va LoadBalancer turidagi servislar hostNetwork endpointlar bilan LB-DSR (Direct Server Return) rejimida ishlamaydi. Agar kerak bo‘lsa, SNAT rejimiga o‘tilishi lozim
2.HostPort podlar faqat bitta IP manzilga bog‘lanadi. Agar tizimda bir nechta interfeys yoki IP mavjud bo‘lsa, Cilium ulardan birini tanlaydi va odatda «kulrang» (privat) IP’larni «oq» (publik) IP’lardan ustun qo‘yadi.
3.Kernel (yadro) talablari:
4.Operatsion tizimlar bilan muvofiqlik muammolari:
7 versiyada ishlashi uchun yangi yadro repodan o‘rnatilishi kerak;
8 versiyada ham yangilangan yadro talab qilinadi.
Ushbu modul Kubernetes klasterida DNS boshqaruvi uchun CoreDNS komponentlarini o‘rnatadi.
ClusterLoggingConfig
ClusterLogDestination
PodLoggingConfig
Loglarni yig‘ish va yuborish yo‘nalishini belgilovchi konfiguratsiyalar kombinatsiyasi pipeline deb ataladi.
Modul jurnalni saqlashni tashkil qilish uchun mo'ljallangan.
Modul Grafana Loki modulidan foydalanadi.
Modul Grafana Loki-ga asoslangan jurnal xotirasini o'rnatadi, agar kerak bo'lsa log-jo'natuvchi modulni loki modulidan foydalanish uchun sozlaydi va Grafana-ga tegishli ma'lumotlar manbasini qo'shadi.
Modul klaster tugunlarini asosiy monitoring qilish uchun mo‘ljallangan.
U xavfsiz metrikalarni yig‘ishni ta’minlaydi va monitoring uchun asosiy qoidalar to‘plamini taqdim etadi:
Modul klasterda Descheduler nomli custom resource’da belgilangan strategiyalar to‘plami bilan deschedulerni ishga tushiradi.
Descheduler har 15 daqiqada custom resource Descheduler’da yoqilgan strategiyalarga mos keladigan Podlarni chiqarib yuboradi. Bu esa chiqarilgan podlar uchun majburiy ravishda qayta joylashtirish (re-scheduling) jarayonini ishga tushiradi.
Custom Resource’lar yordamida NGINX Ingress controllerni o‘rnatadi va boshqaradi. Agar Ingress-kontroller joylashtiriladigan tugunlar (node) bir nechta bo‘lsa, u yuqori mavjudlik (high availability) rejimida o‘rnatiladi va bulutli yoki bare metal infratuzilmalari, shuningdek, turli turdagi Kubernetes klasterlari xususiyatlarini hisobga oladi.
Bir vaqtning o‘zida bir nechta NGINX Ingress controllerni ishga tushirish va ularni alohida sozlashni qo‘llab-quvvatlaydi — bittasi asosiy, qolganlari esa istalgancha qo‘shimcha bo‘lishi mumkin. Masalan, bu tashqi va ichki (intranet) Ingress resurslarini bir-biridan ajratishga imkon beradi.
Sertifikatlar orqali autentifikatsiya bilan OpenVPN orqali klaster resurslariga kirish imkonini beradi va oddiy veb-interfeysni taqdim etadi.
Veb-interfeys funksiyalari:
Veb-interfeys user-authn moduli bilan integratsiyalashgan bo‘lib, turli foydalanuvchilarning ushbu veb-interfeysga kirish huquqini boshqarishga imkon beradi.
Modul bilan bog‘liq veb-interfeyslar: grafana
Prometheus’ni o‘rnatadi va to‘liq sozlaydi, ko‘plab keng tarqalgan ilovalardan metrikalarni yig‘ishni tashkil etadi, shuningdek Prometheus uchun zarur bo‘lgan minimal ogohlantirishlar (alertlar) to‘plami va Grafana uchun dashboard taqdim etadi.
Agar StorageClass avtomatik hajmni kengaytirishni qo‘llab-quvvatlasa (allowVolumeExpansion: true), Prometheus uchun diskda joy yetarli bo‘lmasa, uning hajmi avtomatik ravishda kengaytiriladi.
Vertical Pod Autoscaler moduli yordamida pod qayta yaratilganda, CPU va xotira (memory) resurslari avvalgi ishlatilish tarixi asosida avtomatik tarzda belgilanadi. Shuningdek, Trickster yordamida Prometheus so‘rovlarining keshlanishi orqali xotira iste'moli sezilarli darajada kamayadi.
Metrikalarni olishning pull (tortib olish) va push (jo‘natish) modellari qo‘llab-quvvatlanadi.
Modul bilan bog‘liq veb-interfeyslar: status, upmeter
Modul klaster va Deckhouse komponentlari uchun mavjudlik turlari bo‘yicha statistikani yig‘adi. Bu SLA bajarilish darajasini baholash, mavjudlik haqidagi ma’lumotlarni veb-interfeysda ko‘rsatish va klaster komponentlarining holati haqida sahifa taqdim etish imkonini beradi.
UpmeterRemoteWrite nomli custom resource yordamida mavjudlik metrikalarini Prometheus Remote Write protokoli orqali eksport qilish mumkin.
Modul tarkibi:
Modul har 5 daqiqada taxminan 100 ta metrika o‘lchovi yuboradi. Bu miqdor yoqilgan Deckhouse modullari soniga bog‘liq.
Modul Kubernetes va grafana va Dashboard kabi boshqa modullarda ishlatiladigan veb-interfeyslar bilan birlashtirilgan yagona autentifikatsiya tizimi uchun javobgardir.
10 tagacha ishchi tugunlar (uzellar)
2 dan 16 gacha vCPU
4 dan 64 GB gacha RAM