Loaʻa ka Bottlerocket 1.8, kahi māhele e pili ana i nā ipu kaʻawale

Ua paʻi ʻia ka hoʻokuʻu ʻia ʻana o ka Linux distribution Bottlerocket 1.8.0, i hoʻomohala ʻia me ke komo ʻana o Amazon no ka hoʻokuʻu ʻana i nā ipu kaʻawale. Ua kākau ʻia nā mea hana a me nā ʻāpana hoʻomalu i Rust a māhele ʻia ma lalo o nā laikini MIT a me Apache 2.0. Kākoʻo ia i ka holo ʻana o Bottlerocket ma Amazon ECS, VMware a me AWS EKS Kubernetes pūʻulu, a me ka hana ʻana i nā hana maʻamau a me nā hoʻopuka e ʻae ai i ka hoʻohana ʻana i nā ʻano orchestration a me nā mea hana runtime no nā ipu.

Hāʻawi ka hāʻawi ʻana i kahi kiʻi ʻōnaehana atomically a hōʻano hou ʻia me ka kernel Linux a me kahi ʻōnaehana liʻiliʻi, me nā ʻāpana wale nō e pono ai e holo i nā ipu. Aia i loko o ke kaiapuni ka luna ʻōnaehana systemd, ka hale waihona puke ʻo Glibc, ka mea hana Buildroot, ka GRUB boot loader, ka mea hoʻonohonoho pūnaewele hewa, ka manawa holo pahu pahu no nā ipu kaʻawale, ke kahua hoʻokani pahu Kubernetes, ka aws-iam-authenticator, a me ka Amazon. Agena ECS.

Hele mai nā mea hana orchestration container i loko o kahi pahu hoʻokele ʻokoʻa i hiki ke hoʻohana ʻia e ka paʻamau a mālama ʻia ma o ka API a me AWS SSM Agent. Loaʻa i ke kiʻi kumu kahi shell command, SSH server a me nā ʻōlelo unuhi (no ka laʻana, ʻaʻohe Python a i ʻole Perl) - waiho ʻia nā mea hana hoʻomalu a me nā mea hana debugging i loko o kahi pahu lawelawe ʻokoʻa, kahi i hoʻopaʻa ʻole ʻia.

ʻO ka ʻokoʻa koʻikoʻi mai nā hoʻohele like e like me Fedora CoreOS, CentOS / Red Hat Atomic Host ka mea nui i ka hāʻawi ʻana i ka palekana kiʻekiʻe i ka pōʻaiapili o ka hoʻoikaika ʻana i ka ʻōnaehana pale mai nā mea hoʻoweliweli, e ʻoi aku ka paʻakikī o ka hoʻohana ʻana i nā nāwaliwali i nā ʻāpana OS a me ka hoʻonui ʻana i ka pahu kaʻawale. . Hana ʻia nā pahu me ka hoʻohana ʻana i nā mīkini kernel Linux maʻamau - cgroups, namespaces a me seccomp. No ka hoʻokaʻawale hou aku, hoʻohana ka hāʻawi iā SELinux i ke ʻano "hoʻokō".

Hoʻokomo ʻia ka ʻāpana kumu i ka heluhelu-wale, a ua kau ʻia ka ʻāpana hoʻonohonoho / etc i tmpfs a hoʻihoʻi ʻia i kona kūlana mua ma hope o ka hoʻomaka hou ʻana. ʻAʻole i kākoʻo ʻia ka hoʻololi pololei ʻana o nā faila ma ka papa kuhikuhi /etc, e like me /etc/resolv.conf a me /etc/containerd/config.toml - no ka mālama mau ʻana i nā hoʻonohonoho, pono ʻoe e hoʻohana i ka API a i ʻole e hoʻoneʻe i ka hana i loko o nā pahu ʻokoʻa. Hoʻohana ʻia ka module dm-verity e hōʻoia i ka pono o ka ʻāpana kumu, a inā ʻike ʻia kahi hoʻāʻo e hoʻololi i ka ʻikepili ma ka pae o ka mea poloka, e hoʻomaka hou ka ʻōnaehana.

Ua kākau ʻia ka hapa nui o nā ʻāpana ʻōnaehana ma Rust, e hāʻawi ana i nā hiʻohiʻona palekana hoʻomanaʻo e pale aku i nā nāwaliwali i hoʻokumu ʻia e ka hoʻohana ʻana i ka hoʻomanaʻo ma hope o ka manuahi ʻole, nā kuhikuhi kuhikuhi null, a me ka hoʻonui ʻana. Ke kūkulu ʻia ma ka paʻamau, hoʻohana ʻia nā ʻano hui "-enable-default-pie" a me "-enable-default-ssp" e hiki ai i ka randomization o ka executable file address space (PIE) a me ka pale ʻana i ka hoʻopaʻa ʻana ma o ka canary substitution. No nā pūʻolo i kākau ʻia ma C/C++, nā hae "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" a me "-fstack-clash" hiki ke -palekana".

I ka hoʻokuʻu hou:

  • Ua hōʻano hou ʻia nā ʻike o nā pahu hoʻomalu a me nā mana.
  • Ua hōʻano hou ʻia ka manawa holo no nā ipu kaʻawale i ka lālā containerd 1.6.x.
  • E hōʻoia i ka hoʻomaka hou ʻana o nā kaʻina hana hope e hoʻonohonoho i ka hana o nā ipu ma hope o nā loli i ka hale kūʻai palapala.
  • Hiki ke hoʻonohonoho i nā ʻāpana boot kernel ma o ka ʻāpana Boot Configuration.
  • Hoʻohana ʻia ka haʻalele ʻana i nā poloka hakahaka i ka nānā ʻana i ka pono o ka ʻāpana kumu me ka hoʻohana ʻana i ka dm-verity.
  • Ua hāʻawi ʻia ka hiki ke hoʻopaʻa i nā inoa inoa ma /etc/hosts.
  • Ua hāʻawi ʻia ka hiki ke hana i kahi hoʻonohonoho pūnaewele me ka hoʻohana ʻana i ka pono netdog (ua hoʻohui ʻia ke kauoha generate-net-config).
  • Ua koho ʻia nā koho hoʻolaha hou me ke kākoʻo no Kubernetes 1.23. Ua hōʻemi ʻia ka manawa hoʻomaka no nā pods ma Kubernetes ma ke kāpae ʻana i ke ʻano configMapAndSecretChangeDetectionStrategy. Hoʻohui i nā hoʻonohonoho kubelet hou: provider-id a me podPidsLimit.
  • Ua noi ʻia kahi mana hou o ka pahu hoʻolaha "aws-ecs-1-nvidia" no Amazon Elastic Container Service (Amazon ECS), i hoʻolako ʻia me nā mea hoʻokele NVIDIA.
  • Hoʻohui kākoʻo no ka Microchip Smart Storage a me MegaRAID SAS mea mālama. Ua hoʻonui ʻia ke kākoʻo no nā kāleka Ethernet ma nā pahu Broadcom.
  • Hōʻano hou i nā mana pūʻolo a me nā hilinaʻi no ka ʻōlelo Go a me Rust, a me nā mana o nā pūʻolo me nā polokalamu ʻaoʻao ʻekolu. Ua hōʻano hou ʻia ka Bottlerocket SDK i ka mana 0.26.0.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka