Hoʻokuʻu ʻia ʻo Bottlerocket 1.1, 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.1.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 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 ke hoʻohana 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:

  • ʻElua mau koho hoʻolaha hou aws-k8s-1.20 a me vmware-k8s-1.20 me ke kākoʻo no Kubernetes 1.20 i manaʻo ʻia. ʻO kēia mau ʻano like ʻole, a me ka mana hou aws-ecs-1, e hoʻohana i ka Linux kernel 5.10 hoʻokuʻu hou. Hoʻonohonoho ʻia ke ʻano laka i ka "kūpono" ma ke ʻano paʻamau (ua paʻa ʻia nā mana e hiki ai ke hoʻololi i ka kernel e holo ana mai kahi mea hoʻohana). Ua hoʻopau ʻia ke kākoʻo no ka ʻano aws-k8s-1.15 ma muli o Kubernetes 1.15.
  • Kākoʻo ʻo Amazon ECS i ke ʻano pūnaewele awsvpc, kahi e hiki ai iā ʻoe ke hoʻokaʻawale i nā kikowaena pūnaewele ʻokoʻa a me nā helu IP kūloko no kēlā me kēia hana.
  • Hoʻohui i nā hoʻonohonoho no ka hoʻomalu ʻana i nā ʻāpana Kubernetes like ʻole, me ka QPS, nā palena wai, a me ka hiki ke hoʻopili i nā mea hāʻawi kapuaʻi ma waho o AWS.
  • Hāʻawi ka pahu bootstrap i ka palena o ke komo ʻana i ka ʻikepili mea hoʻohana me SELinux.
  • Hoʻohui ʻia ka pono resize2fs.

Source: opennet.ru

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