เบเบฒเบ™เบ›เปˆเบญเบ Bottlerocket 1.1, เบเบฒเบ™เปเบˆเบเบขเบฒเบเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบ–เบฑเบ‡เบ—เบตเปˆเปเบเบเบญเบญเบ

ะ”ะพัั‚ัƒะฟะตะฝ ะฒั‹ะฟัƒัะบ Linux-ะดะธัั‚ั€ะธะฑัƒั‚ะธะฒะฐ Bottlerocket 1.1.0, ั€ะฐะทะฒะธะฒะฐะตะผะพะณะพ ะฟั€ะธ ัƒั‡ะฐัั‚ะธะธ ะบะพะผะฟะฐะฝะธะธ Amazon ะดะปั ัั„ั„ะตะบั‚ะธะฒะฝะพะณะพ ะธ ะฑะตะทะพะฟะฐัะฝะพะณะพ ะทะฐะฟัƒัะบะฐ ะธะทะพะปะธั€ะพะฒะฐะฝะฝั‹ั… ะบะพะฝั‚ะตะนะฝะตั€ะพะฒ. ะ˜ะฝัั‚ั€ัƒะผะตะฝั‚ะฐั€ะธะน ะธ ัƒะฟั€ะฐะฒะปััŽั‰ะธะต ะบะพะผะฟะพะฝะตะฝั‚ั‹ ะดะธัั‚ั€ะธะฑัƒั‚ะธะฒะฐ ะฝะฐะฟะธัะฐะฝั‹ ะฝะฐ ัะทั‹ะบะต Rust ะธ ั€ะฐัะฟั€ะพัั‚ั€ะฐะฝััŽั‚ัั ะฟะพะด ะปะธั†ะตะฝะทะธัะผะธ MIT ะธ Apache 2.0. ะŸะพะดะดะตั€ะถะธะฒะฐะตั‚ัั ะทะฐะฟัƒัะบ Bottlerocket ะฒ ะบะปะฐัั‚ะตั€ะฐั… Amazon ECS ะธ AWS EKS Kubernetes, ะฐ ั‚ะฐะบะถะต ัะพะทะดะฐะฝะธะต ะฟั€ะพะธะทะฒะพะปัŒะฝั‹ั… ัะฑะพั€ะพะบ ะธ ั€ะตะดะฐะบั†ะธะน, ะดะพะฟัƒัะบะฐัŽั‰ะธั… ะฟั€ะธะผะตะฝะตะฝะธะต ั€ะฐะทะปะธั‡ะฝั‹ั… ะธะฝัั‚ั€ัƒะผะตะฝั‚ะพะฒ ะพั€ะบะตัั‚ั€ะพะฒะบะธ ะธ runtime ะดะปั ะบะพะฝั‚ะตะนะฝะตั€ะพะฒ.

เบเบฒเบ™เปเบˆเบเบขเบฒเบเปƒเบซเป‰เบฎเบนเบšเบžเบฒเบšเบ‚เบญเบ‡เบฅเบฐเบšเบปเบš indivisible เบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เปเบšเบšเบญเบฐเบ•เบญเบกเปเบฅเบฐเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เป€เบŠเบดเปˆเบ‡เบ›เบฐเบเบญเบšเบกเบต Linux kernel เปเบฅเบฐเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบซเบ™เป‰เบญเบเบ—เบตเปˆเบ›เบฐเบเบญเบšเบกเบตเบžเบฝเบ‡เปเบ•เปˆเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เป€เบžเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบšเบฑเบ™เบˆเบธ. เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบฅเบงเบกเบกเบตเบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบฅเบฐเบšเบปเบš systemd, เบซเป‰เบญเบ‡เบชเบฐเปเบธเบ” Glibc, เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเป‰เบฒเบ‡ Buildroot, bootloader GRUB, เบ•เบปเบงเบ•เบฑเป‰เบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ—เบตเปˆเบŠเบปเปˆเบงเบฎเป‰เบฒเบ, เบŠเปˆเบงเบ‡เป€เบงเบฅเบฒเบšเบฑเบ™เบˆเบธ container เบ—เบตเปˆเป‚เบ”เบ”เบ”เปˆเบฝเบง, เปเบžเบฅเบ”เบŸเบญเบก orchestration container Kubernetes, aws-iam-authenticator, เปเบฅเบฐเบ•เบปเบงเปเบ—เบ™ Amazon ECS .

เป€เบ„เบทเปˆเบญเบ‡เบกเบท orchestration เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเบกเบฒเบขเบนเปˆเปƒเบ™เบ–เบฑเบ‡เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบ—เบตเปˆเบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบฅเบฐเบˆเบฑเบ”เบเบฒเบ™เบœเปˆเบฒเบ™ API เปเบฅเบฐ AWS SSM Agent. เบฎเบนเบšเบžเบฒเบšเบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบฒเบ”เปเบเบฐเบ„เปเบฒเบชเบฑเปˆเบ‡, เป€เบŠเบตเบŸเป€เบงเบต SSH, เปเบฅเบฐเบžเบฒเบชเบฒเบ—เบตเปˆเบ–เบทเบเบ•เบตเบ„เบงเบฒเบก (เบ•เบปเบงเบขเปˆเบฒเบ‡, เบšเปเปˆเบกเบต Python เบซเบผเบท Perl) - เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบเบฒเบ™เบšเปเบฅเบดเบซเบฒเบ™เปเบฅเบฐเบเบฒเบ™เบ”เบตเบšเบฑเบเบ–เบทเบเบเป‰เบฒเบเป„เบ›เบšเปˆเบญเบ™เป€เบเบฑเบšเบšเปเบฅเบดเบเบฒเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเบ›เบดเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™.

เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบ—เบตเปˆ เบชเบณ เบ„เบฑเบ™เบˆเบฒเบเบเบฒเบ™เปเบˆเบเบขเบฒเบเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เป€เบŠเบฑเปˆเบ™ Fedora CoreOS, CentOS / Red Hat Atomic Host เปเบกเปˆเบ™เบˆเบธเบ”เบชเบธเบกเบ•เบปเป‰เบ™เบ•เปเปƒเบ™เบเบฒเบ™เปƒเบซเป‰เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบชเบนเบ‡เบชเบธเบ”เปƒเบ™เปเบ‡เปˆเบ‚เบญเบ‡เบเบฒเบ™เป€เบชเบตเบกเบชเป‰เบฒเบ‡เบฅเบฐเบšเบปเบšเบ›เป‰เบญเบ‡เบเบฑเบ™เป„เบžเบ‚เบปเปˆเบกเบ‚เบนเปˆเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰, เบชเบฑเบšเบชเบปเบ™เบเบฒเบ™เบ‚เบนเบ”เบฎเบตเบ”เบ‚เบญเบ‡เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเปƒเบ™เบญเบปเบ‡เบ›เบฐเบเบญเบš OS เปเบฅเบฐเป€เบžเบตเปˆเบกเบเบฒเบ™เปเบเบเบ•เบปเบงเบšเบฑเบ™เบˆเบธ. Containers เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เป‚เบ”เบเปƒเบŠเป‰เบเบปเบ™เป„เบเบ›เบปเบเบเบฐเบ•เบดเบ‚เบญเบ‡ Linux kernel - cgroups, namespaces เปเบฅเบฐ seccomp. เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบ”เบ”เบ”เปˆเบฝเบงเป€เบžเบตเปˆเบกเป€เบ•เบตเบก, เบเบฒเบ™เปเบˆเบเบขเบฒเบเปƒเบŠเป‰ SELinux เปƒเบ™เป‚เบซเบกเบ” "เบšเบฑเบ‡เบ„เบฑเบš".

เบเบฒเบ™เปเบšเปˆเบ‡เบชเปˆเบงเบ™เบฎเบฒเบเปเบกเปˆเบ™เบ•เบดเบ”เบขเบนเปˆเปƒเบ™เป‚เปเบ”เบญเปˆเบฒเบ™เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™, เปเบฅเบฐเบžเบฒเบ—เบดเบŠเบฑเบ™เบ—เบตเปˆเบกเบตเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ /etc เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™ tmpfs เปเบฅเบฐเบŸเบทเป‰เบ™เบŸเบนเบ„เบทเบ™เบชเบนเปˆเบชเบฐเบžเบฒเบšเป€เบ”เบตเบกเบซเบผเบฑเบ‡เบˆเบฒเบเบ›เบดเบ”เป€เบ›เบตเบ”เปƒเปเปˆ. เบเบฒเบ™เบ”เบฑเบ”เปเบเป‰เป‚เบ”เบเบเบปเบ‡เบ‚เบญเบ‡เป„เบŸเบฅเปŒเปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต /etc, เป€เบŠเบฑเปˆเบ™ /etc/resolv.conf เปเบฅเบฐ /etc/containerd/config.toml, เปเบกเปˆเบ™เบšเปเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ - เป€เบžเบทเปˆเบญเบšเบฑเบ™เบ—เบถเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ–เบฒเบงเบญเบ™, เบ—เปˆเบฒเบ™เบ„เบงเบ™เปƒเบŠเป‰ API เบซเบผเบทเบเป‰เบฒเบเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเป„เบ›เบซเบฒเบเปˆเบญเบ‡เบšเบฑเบ™เบˆเบธเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ. เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบฅเบฑเบšเบ‚เบญเบ‡เบ„เบงเบฒเบกเบชเบปเบกเบšเบนเบ™เบ‚เบญเบ‡เบเบฒเบ™เปเบšเปˆเบ‡เบ›เบฑเบ™เบฎเบฒเบ, เป‚เบกเบ”เบนเบ™ dm-verity เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰, เปเบฅเบฐเบ–เป‰เบฒเบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบ—เบตเปˆเบˆเบฐเบ”เบฑเบ”เปเบ›เบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบฅเบฐเบ”เบฑเบšเบญเบธเบ›เบฐเบเบญเบ™เบ•เบฑเบ™เป„เบ”เป‰เบ–เบทเบเบเบงเบ”เบžเบปเบš, เบฅเบฐเบšเบปเบšเบˆเบฐเบ›เบดเบ”เป€เบ„เบทเปˆเบญเบ‡เปƒเบซเบกเปˆ.

เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบชเปˆเบงเบ™เปƒเบซเบเปˆเบ–เบทเบเบ‚เบฝเบ™เป„เบงเป‰เปƒเบ™ Rust, เป€เบŠเบดเปˆเบ‡เบชเบฐเบซเบ™เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเบ›เบญเบ”เป„เบžเปƒเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเป€เบžเบทเปˆเบญเบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบ„เบงเบฒเบกเบญเปˆเบญเบ™เปเบญเบ—เบตเปˆเป€เบเบตเบ”เบˆเบฒเบเบเบฒเบ™เปเบเป‰เป„เบ‚เบžเบทเป‰เบ™เบ—เบตเปˆเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบตเปˆเบกเบฑเบ™เบ–เบทเบเบ›เบปเบ”เบ›เปˆเบญเบ, เบเบฒเบ™เบ›เบฐเบ•เบดเป€เบชเบ”เบ•เบปเบงเบŠเบตเป‰ null, เปเบฅเบฐ buffer overruns. เป€เบกเบทเปˆเบญเบชเป‰เบฒเบ‡, เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบฅเบงเบšเบฅเบงเบก "--enable-default-pie" เปเบฅเบฐ "--enable-default-ssp" เบ–เบทเบเปƒเบŠเป‰เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป€เบžเบทเปˆเบญเป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบชเบธเปˆเบกเบžเบทเป‰เบ™เบ—เบตเปˆเบ—เบตเปˆเบขเบนเปˆเบ‚เบญเบ‡เป„เบŸเบฅเปŒเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰ (PIE) เปเบฅเบฐเบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™เบเบฒเบ™ overflows stack เป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™เบ—เบปเบ”เปเบ—เบ™เบ›เป‰เบฒเบ canary. เบชเบณเบฅเบฑเบšเปเบžเบฑเบเป€เบเบฑเบ”เบ—เบตเปˆเบ‚เบฝเบ™เป„เบงเป‰เปƒเบ™ C/C++, เบ—เบธเบ‡ "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" เปเบฅเบฐ "-fstack-clash" เบเบฑเบ‡เบกเบตเบญเบตเบ. เบฅเบงเบกโ€‹เบ—เบฑเบ‡โ€‹เบเบฒเบ™โ€‹เบ›เบปเบโ€‹เบ›เบฑเบโ€‹เบฎเบฑเบโ€‹เบชเบฒโ€‹.

เปƒเบ™เบเบฒเบ™เบ›เปˆเบญเบเปƒเบซเบกเปˆ:

  • ะŸั€ะตะดะปะพะถะตะฝะพ ะดะฒะฐ ะฝะพะฒั‹ั… ะฒะฐั€ะธะฐะฝั‚ะฐ ะดะธัั‚ั€ะธะฑัƒั‚ะธะฒะฐ aws-k8s-1.20 ะธ vmware-k8s-1.20 c ะฟะพะดะดะตั€ะถะบะพะน Kubernetes 1.20. ะ’ ะดะฐะฝะฝั‹ั… ะฒะฐั€ะธะฐะฝั‚ะฐั…, ะฐ ั‚ะฐะบะถะต ะฒ ะพะฑะฝะพะฒะปั‘ะฝะฝะพะผ ะฒะฐั€ะธะฐะฝั‚ะต aws-ecs-1, ะทะฐะดะตะนัั‚ะฒะพะฒะฐะฝ ะฝะพะฒั‹ะน ะฒั‹ะฟัƒัะบ ัะดั€ะฐ Linux 5.10. ะ ะตะถะธะผ lockdown ะฟะพ ัƒะผะพะปั‡ะฐะฝะธัŽ ะฟะตั€ะตะฒะตะดั‘ะฝ ะฒ ะทะฝะฐั‡ะตะฝะธะต ยซintegrityยป (ะฑะปะพะบะธั€ัƒัŽั‚ัั ะฒะพะทะผะพะถะฝะพัั‚ะธ, ะฟะพะทะฒะพะปััŽั‰ะธะต ะฒะฝะพัะธั‚ัŒ ะธะทะผะตะฝะตะฝะธั ะฒ ั€ะฐะฑะพั‚ะฐัŽั‰ะตะต ัะดั€ะพ ะธะท ะฟั€ะพัั‚ั€ะฐะฝัั‚ะฒะฐ ะฟะพะปัŒะทะพะฒะฐั‚ะตะปั). ะŸั€ะตะบั€ะฐั‰ะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะฒะฐั€ะธะฐะฝั‚ะฐ aws-k8s-1.15 ะฝะฐ ะฑะฐะทะต Kubernetes 1.15.
  • ะ”ะปั Amazon ECS ั€ะตะฐะปะธะทะพะฒะฐะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ัะตั‚ะตะฒะพะณะพ ั€ะตะถะธะผะฐ awsvpc, ะฟะพะทะฒะพะปััŽั‰ะตะณะพ ะฒั‹ะดะตะปัั‚ัŒ ะพั‚ะดะตะปัŒะฝั‹ะต ัะตั‚ะตะฒั‹ั… ะธะฝั‚ะตั€ั„ะตะนัั‹ ะธ ะฒะฝัƒั‚ั€ะตะฝะฝะธะต IP-ะฐะดั€ะตัะฐ ะดะปั ะบะฐะถะดะพะน ะทะฐะดะฐั‡ะธ.
  • ะ”ะพะฑะฐะฒะปะตะฝั‹ ะฝะฐัั‚ั€ะพะนะบะธ ะดะปั ัƒะฟั€ะฐะฒะปะตะฝะธั ั€ะฐะทะปะธั‡ะฝั‹ะผะธ ะฟะฐั€ะฐะผะตั‚ั€ะฐะผะธ Kubernetes, ะฒะบะปัŽั‡ะฐั QPS, ะปะธะผะธั‚ั‹ ะฝะฐ ะฟัƒะปั‹ ะธ ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะฟะพะดะบะปัŽั‡ะตะฝะธั ะบ ะพะฑะปะฐั‡ะฝั‹ะผ ะฟั€ะพะฒะฐะนะดะตั€ะฐะผ, ะพั‚ะปะธั‡ะฝั‹ะผ ะพั‚ AWS.
  • ะ’ bootstrap-ะบะพะฝั‚ะตะนะฝะตั€ะต ะพะฑะตัะฟะตั‡ะตะฝะพ ะพะณั€ะฐะฝะธั‡ะตะฝะธะต ะดะพัั‚ัƒะฟะฐ ะบ ะดะฐะฝะฝั‹ะผ ะฟะพะปัŒะทะพะฒะฐั‚ะตะปั ะฟั€ะธ ะฟะพะผะพั‰ะธ SELinux.
  • ะ”ะพะฑะฐะฒะปะตะฝะฐ ัƒั‚ะธะปะธั‚ะฐ resize2fs.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™