konteyner orkestrasiya platformasının buraxılışı , ayrılmış konteynerlərin klasterini bir bütün olaraq idarə etməyə imkan verir və konteynerdə işləyən tətbiqlərin yayılması, dəstəklənməsi və miqyaslandırılması üçün mexanizmlər təqdim edir. Layihə əvvəllər Google tərəfindən yaradılmışdır, lakin sonra bağımsız bir platformaya keçirilib ki, Linux Foundation təşkilatı tərəfindən idarə olunur. Platforma, müstəqil sistemlərə bağlı olmayan və hər hansı bulud mühitlərində bütün tətbiqlərlə işləyə bilən inkişaf edən bir icma həlli kimi təqdim olunur. Kubernetes kodu Go dilində yazılmışdır və Apache 2.0 lisansı altındadır.
İnfrastrukturun yayılması və idarə edilməsi üçün DNS bazası, yük balanslaşdırması,
klaster düyünləri arasında konteynerlərin paylanması (yükün və xidmət ehtiyaclarının dəyişməsinə uyğun olaraq konteynerlərin miqrasiyası), tətbiq səviyyəsində işləmə yoxlaması, hesabların idarə olunması, aktiv klasterin yenilənməsi və dinamik miqyaslandırılması, onun dayandırılmadan həyata keçirilə bilir. Eyni zamanda, bütün qrup üçün yeniləmə və ləğv əməliyyatlarını icra etməklə konteyner qruplarının yayılması mümkündür, həmçinin klasterin resursların bölünməsi ilə hissələrə bölünməsi. Məlumatların saxlanması üçün həm yerli saxlama, həm də şəbəkə saxlama sistemləri istifadə edilə bilər.
Kubernetes 1.18 buraxılışı 38 dəyişikliyi və inkişafı əhatə edir, bunlardan 15 stabil statusuna, 11 isə beta statusuna keçib. 12 yeni dəyişik isə alfa statusu ilə təklif olunur. Yeni versiyanın hazırlanmasında həm müxtəlif funksiyaların işlənilməsinə, həm də eksperimental imkanların stabilləşdirilməsinə bərabər səylər göstərilmişdir, eləcə də yeni inkişafların əlavə olunmasına. Əsas dəyişikliklər:
- Kubectl
- debug vasitələrinin işə salınması ilə podlar içindəki problemin sadələşdirilməsi üçün yeni «kubectl debug» komanda alfa versiyası təqdim olundu.
- kubectl diff komanda, tətbiq edildikdə klasterdə nələrin dəyişəcəyini görməyə imkan verir.
- kubectl run komandasının bütün generatorları tək podun yaradılması istisna olmaqla.
- —dry-run flagı, onun dəyərinə (client, server və ya none) əsaslanaraq, test əməliyyatı müştəri və ya server tərəfində həyata keçirilir.
- kubectl kodu Ingress üçün API qrupu networking.v1beta1 olaraq dəyişdirildi.
- Ingress
- yeni sahələr:
- pathType, sorğudakı yolu müqayisə etmənin yolunu göstərməyə imkan tanıyır
- IngressClassName — kubernetes.io/ingress.class annotasiyasının əvəzləyicisidir, o da deprecated elan edilib. Bu sahədə xüsusi IngressClass obyektinin adını göstərmək olar.
- IngressClassName — kubernetes.io/ingress.class annotasiyasının əvəz edilməsi, bu isə istifadə edilməyən bir funksiya kimi elan edilmişdir. Bu sahədə IngressClass xüsusi obyektinin adını göstərmək lazımdır.
- IngressClass obyekti, burada ingras kontrolçusunun adı, əlavə parametrləri və onun standart olaraq istifadə edilib-edilmədiyi göstərilir.
- Service
- AppProtocol sahəsi, tətbiqin hansı protokolu istifadə etdiyini müəyyən etməyə imkan tanıyır.
- beta statusuna gətirilmişdir və standart olaraq EndpointSlicesAPI-yə daxil edilmişdir, bu da adi Endpoints-lərin daha funksional əvəzidir.
- Şəbəkə
- IPv6 beta statusuna keçirilib.
- Daimi disklər. Aşağıdakı funksionallıq stabil elan edilmişdir:
- Tətbiqin konfiqurasiyası
- ConfigMap və Secret obyektlərinə yeni "immutable" sahəsi. Bu sahənin dəyərinin true təyin edilməsi obyekti dəyişdirməyə qadağa qoyur.
- Planlayıcı
- kube-scheduler üçün əlavə profillərin yaradılması imkanı. Əvvəlki dövrlərdə qeyri-standart pod bölüşdürmə alqoritmlərini həyata keçirmək üçün əlavə ayrı planlayıcıların işə salınması tələb olunurdusa, indi standart planlayıcı üçün əlavə konfiqurasiya dəstləri yaratmaq və onun adını eyni pod sahəsində "spec.schedulerName" qeyd etmək imkanı var. Status - alfa.
- stabil elan edilmişdir
- Genişlənmə
- HPA manifestində işə salınmış podların sayını dəyişdirmək üçün aqressivlik dərəcəsini göstərə bilmək imkanı, yəni yük artdıqda, eyni anda N dəfə daha çox instansiya işə salmaq.
- Kubelet
- beta statusunu almışdır. Funksiya NUMA bölüşdürməsini əhatə edir ki, bu da çox soketli sistemlərdə performansın aşağı düşməsinin qarşısını alır.
- Beta statusu PodOverhead funksiyası, RuntimeClass-da podun işə salınması üçün lazım olan əlavə resurs miqdarını göstərə bilməyə imkan tanıyır.
- HugePages-a dəstək, alfa statusunda konteyner səviyyəsində izolyasiya və bir neçə ölçüdə hugepages dəstəyi əlavə edilmişdir.
- metriclər üçün /metrics/resource/v1alpha1 endpointi, onun əvəzinə /metrics/resource istifadə edilir.
- API
- köhnəlmiş API qrup apps/v1beta1 və extensions/v1beta1-in istifadəsini ləğv etmişdir.
- beta statusuna yüksəldilmişdir. Bu təkmilləşdirmə obyektlərin idarə olunmasını kubectl-dən API serverə keçirir. Təkmilləşdirməni hazırlayanlar iddia edirlər ki, bu mövcud bir çox hataları düzəltməyə imkan verəcək, ki, bu da indiki vəziyyətdə düzəldilə bilmir. Həmçinin "metadata.managedFields" bölməsi əlavə edilib, burada obyektin dəyişikliklər tarixini saxlamağı təklif edirlər, kim, nə vaxt və konkret olaraq nəyi dəyişdirdi.
- stabil CertificateSigningRequest API-si.
- Windows platformasının dəstəyi.
- Windows node dəstəyi genişlənməyə davam edir. Alfa versiyaları əlavə olunmuşdur:
- stabil statusuna keçirilmişdir
- Windows node dəstəyi genişlənməyə davam edir. Alfa versiyaları əlavə olunmuşdur:
Mənbə: opennet.ru
