Kei te waatea te Bottlerocket 1.8, he tohatoha i runga i nga ipu taratahi

Ko te tukunga o te Linux tohatoha Bottlerocket 1.8.0 kua whakaputaina, i whakawhanakehia me te whai waahi a Amazon mo te whakarewanga pai me te haumaru o nga ipu taratahi. Ko nga taputapu o te tohatoha me nga waahanga whakahaere kua tuhia ki Rust ka tohatohahia i raro i nga raihana MIT me Apache 2.0. Ka tautokohia te whakahaere Bottlerocket i runga i nga roopu Amazon ECS, VMware me AWS EKS Kubernetes, me te hanga hanga ritenga me nga whakaputanga e taea ai te whakamahi i nga momo orchestration me nga taputapu wa whakahaere mo nga ipu.

Ko te tohatoha e whakarato ana i te ahua o te punaha ngota me te whakahou aunoa i te ahua o te punaha kei roto ko te kernel Linux me te taiao punaha iti, tae atu ki nga waahanga e tika ana hei whakahaere ipu. Kei roto i te taiao ko te kaiwhakahaere o te punaha punaha, te whare pukapuka Glibc, te taputapu hanga Buildroot, te GRUB boot loader, te whirihoranga whatunga kino, te wa whakahaere mo nga ipu taratahi, te papaahanga whakahiato ipu Kubernetes, te aws-iam-authenticator, me te Amazon. Kaitohu ECS.

Ko nga taputapu whakahiato ipu ka tae mai ki tetahi ipu whakahaere motuhake ka taea te taunoa me te whakahaere ma te API me te AWS SSM Agent. Ko te ahua o te turanga kaore he anga whakahau, he tūmau SSH me nga reo whakamaori (hei tauira, kaore he Python, Perl ranei) - ka whakauruhia nga taputapu whakahaere me nga taputapu patuiro ki roto i tetahi ipu ratonga motuhake, kua whakakorehia e te taunoa.

Ko te rereketanga nui mai i nga tohatoha rite penei i a Fedora CoreOS, CentOS / Red Hat Atomic Host ko te arotahi tuatahi ki te whakarato i te haumarutanga teitei i roto i te horopaki o te whakapakari i te whakamarumaru o te punaha mai i nga riri ka taea, ka uaua ake te whakamahi i nga whakaraeraetanga i roto i nga waahanga OS me te whakanui ake i te wehenga ipu. . Ka waihangahia nga ipu ma te whakamahi i nga tikanga kernel Linux paerewa - cgroups, ingoa mokowā me te seccomp. Mo etahi atu taapiri, ka whakamahia e te tohatoha SELinux i roto i te aratau "whakauru".

Ko te arai pakiaka ka whakairihia he panui-anake, a ko te wehewehenga tautuhinga /etc ka mau ki tmpfs ka whakahokia ki tona ahuatanga taketake i muri i te tiimatanga. Ko te whakarereketanga tika o nga konae kei roto i te whaiaronga /etc, penei i te /etc/resolv.conf me /etc/containerd/config.toml, kaore i te tautokohia - hei tiaki tuturu i nga tautuhinga, me whakamahi koe i te API, me neke ranei te mahi ki nga ipu motuhake. Ka whakamahia te kōwae dm-verity ki te manatoko i te pono o te wehewehenga pakiaka, a, ki te kitea he ngana ki te whakarereke i nga raraunga i te taumata taputapu poraka, ka whakaara ano te punaha.

Ko te nuinga o nga waahanga o te punaha kua tuhia ki roto i te Rust, e whakarato ana i nga ahuatanga haumaru-mahara hei karo i nga whakaraeraetanga i puta mai i nga urunga mahara kore-kore, nga tohu tohu korekore, me te nui o te aukati. Ina hanga taunoa, ka whakamahia nga tikanga whakahiato "-enable-default-pie" me "-enable-default-ssp" kia taea ai te matapōkeretia o te mokowā wāhitau konae (PIE) me te whakamarumaru i te puhake o te puranga ma te whakakapi i te kanari. Mo nga kohinga kua tuhia ki C/C++, ko nga haki "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" me "-fstack-clash" he taapiri. whakahohea -protection".

I roto i te tukunga hou:

  • Kua whakahoutia nga ihirangi o nga ipu whakahaere me te whakahaere.
  • Ko te wa whakahaere mo nga ipu taratahi kua whakahouhia ki te peka 1.6.x.
  • Ka whakarite kia timata ano nga tukanga papamuri e ruruku ana i te mahi o nga ipu i muri i nga huringa ki te toa tiwhikete.
  • Ka taea te tautuhi i nga tawhā boot kernel i roto i te waahanga Boot Configuration.
  • Whakahohehia te kore e aro ki nga poraka putua ina aro turuki i te pono o te arai pakiaka ma te whakamahi i te dm-verity.
  • Ko te kaha ki te here i nga ingoa ingoa i roto i te /etc/hosts kua whakaratohia.
  • Kua whakaratohia te kaha ki te whakaputa whirihoranga whatunga ma te whakamahi i te taputapu netdog (kua taapirihia te whakahau whakaputa-net-config).
  • Ko nga whiringa tohatoha hou me te tautoko mo te Kubernetes 1.23 kua tohua. Kua whakahekehia te wa whakaoho mo nga poti i Kubernetes ma te whakakore i te aratau configMapAndSecretChangeDetectionStrategy. Kua taapirihia nga tautuhinga kubelet hou: kaiwhakarato-id me podPidsLimit.
  • He putanga hou o te kete tohatoha "aws-ecs-1-nvidia" mo Amazon Elastic Container Service (Amazon ECS), kua tukuna me nga taraiwa NVIDIA, kua tohua.
  • He tautoko taapiri mo te Microchip Smart Storage me nga taputapu rokiroki MegaRAID SAS. Ko te tautoko mo nga kaari Ethernet i runga i nga maramara Broadcom kua whakawhānuihia.
  • Ko nga putanga o te kete kua whakahouhia me nga whakawhirinakitanga mo te reo Haere me te Rust, tae atu ki nga putanga o nga kohinga me nga kaupapa-tuatoru. Kua whakahoutia te Bottlerocket SDK ki te putanga 0.26.0.

Source: opennet.ru

Tāpiri i te kōrero