Bottlerocket 1.8 mövcuddur, təcrid olunmuş konteynerlərə əsaslanan paylama

İzolyasiya edilmiş konteynerlərin səmərəli və təhlükəsiz işə salınması üçün Amazon-un iştirakı ilə hazırlanmış Bottlerocket 1.8.0 Linux paylamasının buraxılışı nəşr edilmişdir. Dağıtım alətləri və nəzarət komponentləri Rust-da yazılmışdır və MIT və Apache 2.0 lisenziyaları altında paylanmışdır. O, Amazon ECS, VMware və AWS EKS Kubernetes klasterlərində Bottlerocket-in işlədilməsini dəstəkləyir, həmçinin konteynerlər üçün müxtəlif orkestrləşdirmə və iş vaxtı alətlərindən istifadə etməyə imkan verən fərdi quruluşlar və nəşrlər yaradır.

Dağıtım, yalnız konteynerləri işə salmaq üçün lazım olan komponentlər daxil olmaqla, Linux nüvəsini və minimal sistem mühitini özündə birləşdirən atomik və avtomatik yenilənmiş bölünməz sistem şəklini təmin edir. Ətraf mühitə systemd sistem meneceri, Glibc kitabxanası, Buildroot qurma aləti, GRUB yükləmə yükləyicisi, pis şəbəkə konfiquratoru, təcrid olunmuş konteynerlər üçün konteynerin işləmə vaxtı, Kubernetes konteyner orkestrasiyası platforması, aws-iam-authenticator və Amazon daxildir. ECS agenti.

Konteyner orkestrasiyası alətləri defolt olaraq aktivləşdirilən və API və AWS SSM Agenti vasitəsilə idarə olunan ayrıca idarəetmə konteynerində gəlir. Əsas təsvirdə əmr qabığı, SSH serveri və tərcümə edilmiş dillər yoxdur (məsələn, Python və ya Perl yoxdur) - inzibati alətlər və sazlama alətləri defolt olaraq söndürülmüş ayrı bir xidmət konteynerinə yerləşdirilir.

Fedora CoreOS, CentOS/Red Hat Atomic Host kimi oxşar paylamalardan əsas fərq, sistemin mümkün təhdidlərdən qorunmasının gücləndirilməsi kontekstində maksimum təhlükəsizliyin təmin edilməsi, OS komponentlərində zəifliklərin istismarını çətinləşdirən və konteyner izolyasiyasının artırılmasında əsas diqqət mərkəzindədir. . Konteynerlər standart Linux nüvə mexanizmlərindən istifadə etməklə yaradılır - qruplar, ad boşluqları və seccomp. Əlavə izolyasiya üçün paylama SELinux-dan “məcburetmə” rejimində istifadə edir.

Kök bölməsi yalnız oxumaq üçün quraşdırılır və /etc parametrləri bölməsi tmpfs-də quraşdırılır və yenidən başladıqdan sonra orijinal vəziyyətinə qaytarılır. /etc/resolv.conf və /etc/containerd/config.toml kimi /etc qovluğunda faylların birbaşa modifikasiyası dəstəklənmir - parametrləri daimi saxlamaq üçün API-dən istifadə etməli və ya funksionallığı ayrı konteynerlərə köçürməlisiniz. dm-verity modulu kök bölmənin bütövlüyünü kriptoqrafik olaraq yoxlamaq üçün istifadə olunur və blok cihaz səviyyəsində məlumatların dəyişdirilməsi cəhdi aşkar edilərsə, sistem yenidən işə düşür.

Əksər sistem komponentləri pulsuz yaddaşa daxil olma, boş göstərici istinadları və bufer aşması nəticəsində yaranan zəifliklərin qarşısını almaq üçün yaddaş üçün təhlükəsiz funksiyaları təmin edən Rust dilində yazılmışdır. Defolt olaraq qurarkən, "-enable-default-pie" və "-enable-default-ssp" kompilyasiya rejimləri icra edilə bilən fayl ünvan sahəsinin (PIE) təsadüfiləşdirilməsini və kanar əvəzetmə yolu ilə yığın daşqınlarından qorunmağı təmin etmək üçün istifadə olunur. C/C++ dilində yazılmış paketlər üçün “-Wall”, “-Werror=format-security”, “-Wp,-D_FORTIFY_SOURCE=2”, “-Wp,-D_GLIBCXX_ASSERTIONS” və “-fstack-clash” bayraqları əlavə olaraq verilir. aktivləşdirildi - qorunma".

Yeni buraxılışda:

  • İnzibati və nəzarət konteynerlərinin məzmunu yenilənib.
  • Təcrid olunmuş konteynerlər üçün iş vaxtı konteynerd 1.6.x filialına yeniləndi.
  • Sertifikat anbarında dəyişikliklərdən sonra konteynerlərin işini koordinasiya edən fon proseslərinin yenidən işə salınmasını təmin edir.
  • Yükləmə konfiqurasiyası bölməsi vasitəsilə kernel açılış parametrlərini təyin etmək mümkündür.
  • dm-verity istifadə edərək kök bölmənin bütövlüyünə nəzarət edərkən boş bloklara məhəl qoymamaq aktivləşdirilib.
  • /etc/hosts-da host adlarını statik olaraq bağlamaq imkanı təmin edilmişdir.
  • Netdog yardım proqramından istifadə edərək şəbəkə konfiqurasiyasını yaratmaq imkanı təmin edilmişdir (general-net-config əmri əlavə edilmişdir).
  • Kubernetes 1.23 dəstəyi ilə yeni paylama variantları təklif edilmişdir. Kubernetes-də podların işə salınma vaxtı konfiqurasiyaMapAndSecretChangeDetectionStrategy rejimini söndürməklə azaldılıb. Yeni kubelet parametrləri əlavə edildi: provayder-id və podPidsLimit.
  • NVIDIA sürücüləri ilə təchiz edilmiş Amazon Elastik Konteyner Xidməti (Amazon ECS) üçün "aws-ecs-1-nvidia" paylama dəstinin yeni versiyası təklif edilmişdir.
  • Microchip Smart Storage və MegaRAID SAS saxlama cihazları üçün əlavə dəstək. Broadcom çiplərində Ethernet kartlarına dəstək genişləndirildi.
  • Go və Rust dilləri üçün yenilənmiş paket versiyaları və asılılıqlar, həmçinin üçüncü tərəf proqramları ilə paketlərin versiyaları. Bottlerocket SDK 0.26.0 versiyasına yeniləndi.

Mənbə: opennet.ru

Добавить комментарий