Hoʻokuʻu ʻia ʻo Bottlerocket 1.2, kahi māhele e pili ana i nā ipu kaʻawale

Loaʻa ka hoʻokuʻu ʻia ʻana o ka Linux distribution Bottlerocket 1.2.0, 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 paahana 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 hiki 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:

  • Hoʻohui kākoʻo no nā aniani hoʻopaʻa inoa kiʻi pahu.
  • Hoʻohui i ka hiki ke hoʻohana i nā palapala hoʻopaʻa inoa ponoʻī.
  • Hoʻohui i kahi koho e hoʻonohonoho i ka inoa host.
  • Ua hōʻano hou ʻia ka mana paʻamau o ka ipu hoʻomalu.
  • Hoʻohui ʻia nā hoʻonohonoho topologyManagerPolicy a me topologyManagerScope no kubelet.
  • Hoʻohui i ke kākoʻo no ka hoʻopiʻi kernel me ka hoʻohana ʻana i ka zstd algorithm.
  • Hāʻawi ʻia ka hiki ke hoʻouka i nā mīkini virtual i VMware ma ka format OVA (Open Virtualization Format).
  • Ua hōʻano hou ʻia ka mana hoʻolaha aws-k8s-1.21 me ke kākoʻo no Kubernetes 1.21. Ua hoʻopau ʻia ke kākoʻo no aws-k8s-1.16.
  • Hōʻano hou ʻia nā mana pūʻolo a me nā hilinaʻi no ka ʻōlelo Rust.

Source: opennet.ru

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