Hoʻokuʻu ʻia ʻo Bottlerocket 1.7, 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.7.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:

  • I ka hoʻouka ʻana i nā pūʻolo RPM, hiki ke hana i kahi papa inoa o nā papahana ma ke ʻano JSON a kau i loko o ka pahu hoʻokipa e like me ka faila /var/lib/bottlerocket/inventory/application.json e loaʻa ai ka ʻike e pili ana i nā pūʻolo i loaʻa.
  • Ua hōʻano hou ʻia nā pahu "admin" a me "control".
  • Hōʻano hou ʻia nā mana pūʻolo a me nā hilinaʻi no nā ʻōlelo Go a me Rust.
  • Nā mana hou o nā pūʻolo me nā polokalamu ʻaoʻao ʻekolu.
  • Hoʻoholo ʻia nā pilikia hoʻonohonoho tmpfilesd no kmod-5.10-nvidia.
  • Ke kau ʻana i ka tuftool, pili ʻia nā mana hilinaʻi.

Source: opennet.ru

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