Bottlerocket 1.8-ը հասանելի է, բաշխում, որը հիմնված է մեկուսացված տարաների վրա

Հրապարակվել է Linux բաշխման Bottlerocket 1.8.0 թողարկումը, որը մշակվել է Amazon-ի մասնակցությամբ՝ մեկուսացված բեռնարկղերի արդյունավետ և անվտանգ գործարկման համար: Բաշխման գործիքները և կառավարման բաղադրիչները գրված են Rust-ով և տարածվում են MIT և Apache 2.0 լիցենզիաների ներքո: Այն աջակցում է Bottlerocket-ի գործարկումը Amazon ECS, VMware և AWS EKS Kubernetes կլաստերների վրա, ինչպես նաև ստեղծում է հատուկ կառուցվածքներ և հրատարակություններ, որոնք թույլ են տալիս օգտագործել տարբեր նվագախմբային և գործարկման գործիքներ կոնտեյներների համար:

Բաշխումն ապահովում է ատոմային և ավտոմատ կերպով թարմացվող անբաժանելի համակարգի պատկեր, որը ներառում է Linux միջուկը և նվազագույն համակարգի միջավայրը, ներառյալ միայն այն բաղադրիչները, որոնք անհրաժեշտ են կոնտեյներներ գործարկելու համար: Շրջակա միջավայրը ներառում է systemd համակարգի կառավարիչը, Glibc գրադարանը, Buildroot build գործիքը, GRUB boot loader-ը, չար ցանցի կոնֆիգուրատորը, մեկուսացված բեռնարկղերի կոնտեյներների գործարկման ժամանակը, Kubernetes կոնտեյներների նվագախմբային հարթակը, aws-iam-authenticator-ը և Amazon-ը: ECS գործակալ.

Կոնտեյներների նվագախմբի գործիքները գալիս են առանձին կառավարման կոնտեյներով, որը միացված է լռելյայնորեն և կառավարվում է API-ի և AWS SSM գործակալի միջոցով: Հիմնական պատկերում բացակայում է հրամանի վահանակը, SSH սերվերը և մեկնաբանվող լեզուներ (օրինակ՝ ոչ Python կամ Perl) - վարչական գործիքները և վրիպազերծման գործիքները տեղադրվում են առանձին սպասարկման կոնտեյներով, որը լռելյայն անջատված է:

Հիմնական տարբերությունը նմանատիպ բաշխումներից, ինչպիսիք են Fedora CoreOS-ը, CentOS/Red Hat Atomic Host-ը, հիմնական ուշադրությունն է առավելագույն անվտանգության ապահովման վրա՝ հնարավոր սպառնալիքներից համակարգի պաշտպանության ամրապնդման համատեքստում, ինչը դժվարացնում է ՕՀ բաղադրիչների խոցելիության օգտագործումը և կոնտեյների մեկուսացման ավելացումը: . Կոնտեյներները ստեղծվում են Linux միջուկի ստանդարտ մեխանիզմների միջոցով՝ cgroups, namespaces և seccomp: Լրացուցիչ մեկուսացման համար բաշխումն օգտագործում է SELinux «պարտադրման» ռեժիմում:

Արմատային միջնորմը տեղադրվում է միայն կարդալու համար, իսկ /etc կարգավորումների բաժինը տեղադրվում է tmpfs-ով և վերագործարկումից հետո վերականգնվում է իր սկզբնական վիճակին: /etc գրացուցակի ֆայլերի ուղղակի փոփոխությունները, ինչպիսիք են /etc/resolv.conf և /etc/containerd/config.toml, չեն աջակցվում. կարգավորումները մշտապես պահպանելու համար դուք պետք է օգտագործեք API-ն կամ տեղափոխեք գործառույթը առանձին բեռնարկղերում: dm-verity մոդուլն օգտագործվում է արմատային բաժանման ամբողջականությունը գաղտնագրորեն ստուգելու համար, և եթե հայտնաբերվում է տվյալների բլոկ սարքի մակարդակում փոփոխելու փորձ, համակարգը վերագործարկում է:

Համակարգի բաղադրիչներից շատերը գրված են Rust-ով, որն ապահովում է հիշողության համար անվտանգ գործառույթներ՝ խուսափելու համար խոցելիություններից, որոնք առաջանում են հիշողության ազատ մուտքի, զրո ցուցիչի վերափոխումների և բուֆերների գերակատարումների հետևանքով: Լռելյայն կառուցելիս կոմպիլյացիոն ռեժիմները «-enable-default-pie» և «-enable-default-ssp» օգտագործվում են գործարկվող ֆայլի հասցեների տարածության (PIE) պատահականությունը հնարավոր դարձնելու և դեղձանիկ փոխարինման միջոցով կույտերի արտահոսքից պաշտպանվելու համար: C/C++-ով գրված փաթեթների համար «-Wall», «-Werror=format-security», «-Wp,-D_FORTIFY_SOURCE=2», «-Wp,-D_GLIBCXX_ASSERTIONS» և «-fstack-clash» դրոշները լրացուցիչ են: միացված է - պաշտպանություն»:

Նոր թողարկումում.

  • Վարչական և հսկիչ բեռնարկղերի պարունակությունը թարմացվել է:
  • Մեկուսացված բեռնարկղերի գործարկման ժամանակը թարմացվել է կոնտեյներների 1.6.x ճյուղին:
  • Ապահովում է, որ բեռնարկղերի աշխատանքը համակարգող ֆոնային գործընթացները վերսկսվեն վկայականների պահեստում փոփոխություններից հետո:
  • Հնարավոր է սահմանել միջուկի բեռնման պարամետրերը Boot Configuration բաժնի միջոցով:
  • Միացված է դատարկ բլոկների անտեսումը արմատային բաժանման ամբողջականությունը վերահսկելիս՝ օգտագործելով dm-verity:
  • Ապահովված է հոսթների անունները ստատիկ կերպով կապելու հնարավորությունը /etc/hosts-ում:
  • Ապահովված է ցանցի կոնֆիգուրացիա ստեղծելու հնարավորություն՝ օգտագործելով netdog կոմունալ ծրագիրը (ավելացվել էgenere-net-config հրամանը):
  • Առաջարկվել են Kubernetes 1.23-ի աջակցությամբ բաշխման նոր տարբերակներ: Kubernetes-ում pod-ների գործարկման ժամանակը կրճատվել է՝ անջատելով configMapAndSecretChangeDetectionStrategy ռեժիմը: Ավելացվեց kubelet-ի նոր կարգավորումներ՝ մատակարար-id և podPidsLimit:
  • Առաջարկվել է «aws-ecs-1-nvidia» բաշխիչ փաթեթի նոր տարբերակը Amazon Elastic Container Service (Amazon ECS) համար, որը մատակարարվում է NVIDIA-ի դրայվերներով:
  • Ավելացված է աջակցություն Microchip Smart Storage-ի և MegaRAID SAS պահեստավորման սարքերի համար: Ընդլայնվել է Broadcom չիպերի վրա Ethernet քարտերի աջակցությունը:
  • Թարմացված փաթեթի տարբերակները և կախվածությունները Go և Rust լեզուների համար, ինչպես նաև երրորդ կողմի ծրագրերով փաթեթների տարբերակները: Bottlerocket SDK-ն թարմացվել է 0.26.0 տարբերակին:

Source: opennet.ru

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