బాటిల్‌రాకెట్ 1.3 విడుదల, వివిక్త కంటైనర్‌లపై ఆధారపడిన పంపిణీ

Bottlerocket 1.3.0 Linux పంపిణీ యొక్క విడుదల ప్రచురించబడింది, వివిక్త కంటైనర్‌లను సమర్థవంతంగా మరియు సురక్షితంగా అమలు చేయడానికి Amazon భాగస్వామ్యంతో అభివృద్ధి చేయబడింది. పంపిణీ యొక్క టూల్‌కిట్ మరియు నియంత్రణ భాగాలు రస్ట్‌లో వ్రాయబడ్డాయి మరియు MIT మరియు Apache 2.0 లైసెన్స్‌ల క్రింద పంపిణీ చేయబడ్డాయి. ఇది Amazon ECS, VMware మరియు AWS EKS కుబెర్నెటెస్ క్లస్టర్‌లలో బాటిల్‌రాకెట్‌ను అమలు చేయడానికి మద్దతు ఇస్తుంది, అలాగే కంటైనర్‌ల కోసం విభిన్న ఆర్కెస్ట్రేషన్ మరియు రన్‌టైమ్ సాధనాలను అనుమతించే అనుకూల బిల్డ్‌లు మరియు ఎడిషన్‌లను సృష్టిస్తుంది.

పంపిణీ Linux కెర్నల్‌ను కలిగి ఉన్న పరమాణుపరంగా మరియు స్వయంచాలకంగా నవీకరించబడిన అవిభాజ్య సిస్టమ్ ఇమేజ్‌ను అందిస్తుంది మరియు కంటైనర్‌లను అమలు చేయడానికి అవసరమైన భాగాలను మాత్రమే కలిగి ఉండే కనిష్ట సిస్టమ్ వాతావరణాన్ని అందిస్తుంది. పర్యావరణంలో systemd సిస్టమ్ మేనేజర్, Glibc లైబ్రరీ, బిల్డ్‌రూట్ బిల్డ్ టూల్, GRUB బూట్‌లోడర్, వికెడ్ నెట్‌వర్క్ కాన్ఫిగరేటర్, కంటైనర్ ఐసోలేటెడ్ కంటైనర్ రన్‌టైమ్, కుబెర్నెట్స్ కంటైనర్ ఆర్కెస్ట్రేషన్ ప్లాట్‌ఫాం, aws-iam-authenticator మరియు Amazon ECS ఏజెంట్ ఉన్నాయి. .

కంటైనర్ ఆర్కెస్ట్రేషన్ సాధనాలు డిఫాల్ట్‌గా ప్రారంభించబడిన ప్రత్యేక నిర్వహణ కంటైనర్‌లో వస్తాయి మరియు API మరియు AWS SSM ఏజెంట్ ద్వారా నిర్వహించబడతాయి. బేస్ ఇమేజ్‌లో కమాండ్ షెల్, SSH సర్వర్ మరియు అన్వయించబడిన భాషలు లేవు (ఉదాహరణకు, పైథాన్ లేదా పెర్ల్ లేవు) - అడ్మినిస్ట్రేటివ్ మరియు డీబగ్గింగ్ సాధనాలు ప్రత్యేక సేవా కంటైనర్‌కు తరలించబడతాయి, ఇది డిఫాల్ట్‌గా నిలిపివేయబడుతుంది.

Fedora CoreOS, CentOS/Red Hat అటామిక్ హోస్ట్ వంటి సారూప్య పంపిణీల నుండి కీలకమైన తేడా ఏమిటంటే, సాధ్యమయ్యే బెదిరింపుల నుండి సిస్టమ్ రక్షణను బలోపేతం చేయడం, OS భాగాలలో దుర్బలత్వాల దోపిడీని క్లిష్టతరం చేయడం మరియు కంటైనర్ ఐసోలేషన్‌ను పెంచే సందర్భంలో గరిష్ట భద్రతను అందించడంపై ప్రాథమిక దృష్టి. Linux కెర్నల్ యొక్క సాధారణ మెకానిజమ్స్ ఉపయోగించి కంటైనర్లు సృష్టించబడతాయి - cgroups, namespaces మరియు seccomp. అదనపు ఐసోలేషన్ కోసం, పంపిణీ SELinuxని "అమలు" మోడ్‌లో ఉపయోగిస్తుంది.

రూట్ విభజన రీడ్-ఓన్లీ మోడ్‌లో మౌంట్ చేయబడింది మరియు /etc సెట్టింగ్‌లతో విభజన tmpfsలో మౌంట్ చేయబడుతుంది మరియు పునఃప్రారంభించిన తర్వాత దాని అసలు స్థితికి పునరుద్ధరించబడుతుంది. /etc/resolv.conf మరియు /etc/containerd/config.toml వంటి /etc డైరెక్టరీలోని ఫైల్‌ల ప్రత్యక్ష సవరణకు మద్దతు లేదు - సెట్టింగ్‌లను శాశ్వతంగా సేవ్ చేయడానికి, మీరు APIని ఉపయోగించాలి లేదా ప్రత్యేక కంటైనర్‌లకు కార్యాచరణను తరలించాలి. రూట్ విభజన యొక్క సమగ్రత యొక్క క్రిప్టోగ్రాఫిక్ ధృవీకరణ కోసం, dm-వెరిటీ మాడ్యూల్ ఉపయోగించబడుతుంది మరియు బ్లాక్ పరికర స్థాయిలో డేటాను సవరించే ప్రయత్నం కనుగొనబడితే, సిస్టమ్ రీబూట్ అవుతుంది.

చాలా సిస్టమ్ భాగాలు రస్ట్‌లో వ్రాయబడ్డాయి, ఇది మెమరీ ప్రాంతాన్ని విముక్తి పొందిన తర్వాత పరిష్కరించడం, శూన్య పాయింటర్‌లను తొలగించడం మరియు బఫర్ ఓవర్‌రన్‌ల వల్ల కలిగే హానిని నివారించడానికి మెమరీ-సురక్షిత సాధనాలను అందిస్తుంది. నిర్మించేటప్పుడు, ఎక్జిక్యూటబుల్ ఫైల్స్ (PIE) యొక్క అడ్రస్ స్పేస్ రాండమైజేషన్ మరియు కానరీ లేబుల్ ప్రత్యామ్నాయం ద్వారా స్టాక్ ఓవర్‌ఫ్లోల నుండి రక్షణను ప్రారంభించడానికి "--enable-default-pie" మరియు "--enable-default-ssp" కంపైలేషన్ మోడ్‌లు డిఫాల్ట్‌గా ఉపయోగించబడతాయి. C/C++లో వ్రాసిన ప్యాకేజీల కోసం, "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" మరియు "-fstack-clash" ఫ్లాగ్‌లు అదనంగా ఉంటాయి. చేర్చబడింది - రక్షణ.

కొత్త విడుదలలో:

  • డాకర్ మరియు రన్‌టైమ్ కంటెయినర్డ్ టూల్స్ (CVE-2021-41089, CVE-2021-41091, CVE-2021-41092, CVE-2021-41103)లో స్థిర దుర్బలత్వాలు, యాక్సెస్‌ఎగ్ రైట్స్‌ని తప్పుగా సెట్ చేయడానికి సంబంధించినవి డైరెక్టరీ మరియు బాహ్య ప్రోగ్రామ్‌లను అమలు చేయండి.
  • IPv6 మద్దతు kubelet మరియు plutoకి జోడించబడింది.
  • దాని సెట్టింగులను మార్చిన తర్వాత కంటైనర్ను పునఃప్రారంభించడం సాధ్యమవుతుంది.
  • Amazon EC2 M6i ఉదంతాలకు మద్దతు eni-max-pods ప్యాకేజీకి జోడించబడింది.
  • Open-vm-tools Cilium టూల్‌కిట్ ఆధారంగా పరికర ఫిల్టర్‌లకు మద్దతును జోడించింది.
  • x86_64 ప్లాట్‌ఫారమ్ కోసం, హైబ్రిడ్ బూట్ మోడ్ అమలు చేయబడింది (EFI మరియు BIOS మద్దతుతో).
  • రస్ట్ భాష కోసం నవీకరించబడిన ప్యాకేజీ సంస్కరణలు మరియు డిపెండెన్సీలు.
  • Kubernetes 8 ఆధారంగా పంపిణీ వేరియంట్ aws-k1.17s-1.17 కోసం మద్దతు నిలిపివేయబడింది. Kubernetes 8కి మద్దతుతో aws-k1.21s-1.21 సంస్కరణను ఉపయోగించమని సిఫార్సు చేయబడింది. k8s వేరియంట్‌లు cgroup runtime.slice మరియు system.slice సెట్టింగ్‌లను ఉపయోగిస్తాయి.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి