ã³ã³ãããŒã¯ãLinux ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã®ãŠãŒã¶ãŒç©ºéã®è»œéããŒãžã§ã³ã§ãããå®éã«ã¯æå°éã®ãã®ã§ãã ãã ããããã§ãæ¬æ Œçãªãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã§ããããããã®ã³ã³ããèªäœã®å質ã¯æ¬æ Œçãªãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ãšåããããéèŠã§ãã ã ãããããç§ãã¡ã¯é·ãéæäŸããŠããã®ã§ã
ãããä»ã§ã¯ãã¹ãŠãå€ãã£ãŠããŸã£ã
Red Hat Universal Base Image (UBI) ã®ãªãªãŒã¹ã«ããããµãã¹ã¯ãªãã·ã§ã³ã®æç¡ã«é¢ä¿ãªããå
¬åŒ Red Hat ã³ã³ãã㌠ã€ã¡ãŒãžã«æåŸ
ãããä¿¡é Œæ§ãã»ãã¥ãªãã£ãããã©ãŒãã³ã¹ãåŸãããšãã§ããããã«ãªããŸããã ããã¯ãUBI äžã§ã³ã³ããåãããã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ãããããä»»æã®ã³ã³ãã ã¬ãžã¹ããªã«é
眮ããŠãäžçãšå
±æã§ããããšãæå³ããŸãã Red Hat Universal Base Image ã䜿çšãããšãä»»æã®ç°å¢ã§ãã³ã³ããåãããã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ãå
±æãå
±åäœæ¥ã§ããŸãã
UBI ã䜿çšãããšãäºå®äžããããã€ã³ãã©ã¹ãã©ã¯ãã£äžã§ã¢ããªã±ãŒã·ã§ã³ãå ¬éããŠå®è¡ã§ããŸãã ãã ããRed Hat OpenShift ã Red Hat Enterprise Linux ãªã©ã® Red Hat ãã©ãããã©ãŒã ã§å®è¡ãããšãè¿œå ã®ã¡ãªãã (ããå€ãã®ãŽââãŒã«ã!) ãåŸãããšãã§ããŸãã UBI ã®ãã詳现ãªèª¬æã«é²ãåã«ãRHEL ãµãã¹ã¯ãªãã·ã§ã³ãå¿ èŠãªçç±ã«é¢ããçã FAQ ã玹ä»ããŸãã ã§ã¯ãRHEL/OpenShift ãã©ãããã©ãŒã äžã§ UBI ã€ã¡ãŒãžãå®è¡ãããšã©ããªãã§ãããã?
ããŒã±ãã£ã³ã°ã«ã€ããŠã¯æºè¶³ããã®ã§ãUBI ã«ã€ããŠããã«è©³ãã話ããŸãããã
UBIã䜿çšããçç±
UBI ãããªãã«å©çããããããšç¥ã£ããã©ãæããã¹ãã§ãã:
- ç§ã® éçºè ããããç°å¢ã§é åžããã³å®è¡ã§ããã³ã³ãã ã€ã¡ãŒãžã䜿çšããã
- ç§ã®ããŒã æäœ ãšã³ã¿ãŒãã©ã€ãºã°ã¬ãŒãã®ã©ã€ããµã€ã¯ã«ãåãããµããŒããããåºæ¬ã€ã¡ãŒãžãå¿ èŠãšããŠãã
- ç§ã® 建ç¯å®¶ æäŸããã
Kubernetesãªãã¬ãŒã¿ãŒ ç§ã®é¡§å®¢/ãšã³ããŠãŒã¶ãŒãž - ç§ã® ãå®¢æ§ åœŒãã¯ãRed Hat ç°å¢å šäœã«å¯Ÿãããšã³ã¿ãŒãã©ã€ãºã¬ãã«ã®ãµããŒãã«ã³ã£ããããããªãã®ã§ãã
- ç§ã® ã³ãã¥ãã㣠ã³ã³ããåãããã¢ããªã±ãŒã·ã§ã³ãæåéãã©ãã§ãå ±æãå®è¡ãå ¬éããã
å°ãªããšã XNUMX ã€ã®ã·ããªãªãåœãŠã¯ãŸãå Žåã¯ãééããªã UBI ãæ€èšããå¿ èŠããããŸãã
åºæ¬çãªã€ã¡ãŒãžä»¥äžã®ãã®
UBI ã¯æ¬æ Œç㪠OS ãããå°ããã§ãããUBI ã«ã¯ XNUMX ã€ã®éèŠãªç¹ããããŸãã
- XNUMX ã€ã®åºæ¬ã€ã¡ãŒãžã®ã»ãã (ubiãubi-minimalãubi-init)
- ããŸããŸãªããã°ã©ãã³ã°èšèª (nodejsãrubyãpythonãphpãperl ãªã©) ã®æ¢è£œã®ã©ã³ã¿ã€ã ç°å¢ãåããã€ã¡ãŒãž
- æãäžè¬çãªäŸåé¢ä¿ãæ〠YUM ãªããžããªå ã®äžé£ã®é¢é£ããã±ãŒãž
UBI ã¯ãã³ã³ããã§éçºããã³é ä¿¡ãããã¯ã©ãŠã ãã€ãã£ãããã³ Web ã¢ããªã±ãŒã·ã§ã³ã®åºç€ãšããŠäœæãããŸããã UBI ã®ãã¹ãŠã®ã³ã³ãã³ã㯠RHEL ã®ãµãã»ããã§ãã UBI ã®ãã¹ãŠã®ããã±ãŒãžã¯ RHEL ãã£ãã«ãéããŠé ä¿¡ãããOpenShift ã RHEL ãªã©ã® Red Hat ãµããŒã察象ãã©ãããã©ãŒã ã§å®è¡ããå Žå㯠RHEL ãšåæ§ã«ãµããŒããããŸãã
ã³ã³ãããŒã«å¯Ÿããé«å質ã®ãµããŒãã確ä¿ããã«ã¯ããšã³ãžãã¢ãã»ãã¥ãªãã£å°é家ããã®ä»ã®è¿œå ãªãœãŒã¹ã«ããå€å€§ãªåŽåãå¿ èŠã§ãã ããã«ã¯ãåºæ¬ã€ã¡ãŒãžããã¹ãããã ãã§ãªãããµããŒããããŠãããã¹ãäžã§ã®åäœãåæããããšãå¿ èŠã§ãã
ã¢ããã°ã¬ãŒãã®è² æ ã軜æžããããã«ãRed Hat ã¯ãããšãã° UBI 7 ã RHEL 8 ãã¹ãäžã§å®è¡ã§ããããã«ããŸã UBI 8 ã RHEL 7 ãã¹ãäžã§å®è¡ã§ããããã«ãç©æ¥µçã«éçºãšãµããŒããè¡ã£ãŠããŸããããã«ããããŠãŒã¶ãŒã¯æè»æ§ãä¿¡é Œæ§ãå®å¿æãåŸãããšãã§ããŸããã³ã³ãã ã€ã¡ãŒãžã䜿çšããããã¹ãã®ãã©ãããã©ãŒã ã®æŽæ°ãªã©ãããã»ã¹äžã«å¿ èŠã«ãªãããšã«æ³šæããŠãã ããã ããããã¹ãŠã XNUMX ã€ã®ç¬ç«ãããããžã§ã¯ãã«åå²ã§ããŸãã
XNUMXã€ã®åºæ¬ã€ã¡ãŒãž
æå°é â ãã¹ãŠã®äŸåé¢ä¿ãæã€ã¢ããªã±ãŒã·ã§ã³ (PythonãNode.jsã.NET ãªã©) åãã«èšèšãããŠããŸãã
- ããªã€ã³ã¹ããŒã«ãããã³ã³ãã³ãã®æå°ã»ãã
- suid å®è¡å¯èœãã¡ã€ã«ã¯ãããŸãã
- æå°éã®ããã±ãŒãž ãããŒãžã£ãŒ ããŒã« (ã€ã³ã¹ããŒã«ãæŽæ°ãåé€)
ãã©ãããã©ãŒã â RHEL äžã§å®è¡ãããããããã¢ããªã±ãŒã·ã§ã³çš
- OpenSSL çµ±åæå·ã¹ã¿ãã¯
- ãã« YUM ã¹ã¿ãã¯
- 䟿å©ãªåºæ¬ç㪠OS ãŠãŒãã£ãªãã£ãå«ãŸããŠããŸã (tarãgzipãvi ãªã©)
ãã«ããµãŒãã¹ â XNUMX ã€ã®ã³ã³ããã§è€æ°ã®ãµãŒãã¹ãç°¡åã«å®è¡ã§ããŸãã
- èµ·åæã« systemd ãå®è¡ããããã«æ§æãããŠãã
- æ§ç¯æ®µéã§ãµãŒãã¹ãæå¹ã«ããæ©èœ
æ¢è£œã®ããã°ã©ãã³ã°èšèªã©ã³ã¿ã€ã ç°å¢ãåããã³ã³ãã㌠ã€ã¡ãŒãž
UBI ã«ã¯ãããã°ã©ãã³ã°èšèªãµããŒããã€ã³ã¹ããŒã«ã§ããåºæ¬ã€ã¡ãŒãžã«å ããŠãå€æ°ã®ããã°ã©ãã³ã°èšèªçšã®æ¢è£œã®ã©ã³ã¿ã€ã ç°å¢ãåããäºåæ§ç¯æžã¿ã€ã¡ãŒãžãå«ãŸããŠããŸãã å€ãã®éçºè ã¯ãã€ã¡ãŒãžãååŸããã ãã§ãéçºäžã®ã¢ããªã±ãŒã·ã§ã³ã®äœæ¥ãéå§ã§ããŸãã
UBI ã®ãªãªãŒã¹ã«äŒŽããRed Hat 㯠RHEL 7 ããŒã¹ãš RHEL 8 ããŒã¹ã® 7 ã€ã®ã€ã¡ãŒãž ã»ãããæäŸããŸãããããã¯ãããã Red Hat Software Collections (RHEL 8) ãš Application Streams (RHEL XNUMX) ã«åºã¥ããŠããŸããã ãããã®ã©ã³ã¿ã€ã ã¯ææ°ã®ç¶æ ã«ä¿ãããæšæºã§å¹Žéæ倧 XNUMX åã®ã¢ããããŒããåãåãããšãã§ãããããåžžã«ææ°ãã€æãå®å®ããããŒãžã§ã³ãå®è¡ã§ããŸãã
UBI 7 ã³ã³ãã㌠ã€ã¡ãŒãžã®ãªã¹ãã¯æ¬¡ã®ãšããã§ãã
UBI 8 ã®ã³ã³ãã㌠ã€ã¡ãŒãžã®ãªã¹ãã¯æ¬¡ã®ãšããã§ãã
é¢é£ããã±ãŒãž
æ¢è£œã®ã€ã¡ãŒãžã䜿çšããã®ã¯éåžžã«äŸ¿å©ã§ãã Red Hat ã¯ããããææ°ã®ç¶æ
ã«ä¿ã¡ãRHEL ã®æ°ããããŒãžã§ã³ã®ãªãªãŒã¹ã«åãããŠæŽæ°ããã ãã§ãªããæŽæ°ããªã·ãŒã«åŸã£ãŠéèŠãª CVE æŽæ°ãå©çšå¯èœã«ãªã£ããšãã«ãæŽæ°ããŸãã
ãã ããã¢ããªã±ãŒã·ã§ã³ãäœæãããšãã«ãçªç¶è¿œå ã®ããã±ãŒãžãå¿ èŠã«ãªãå ŽåããããŸãã ãŸãã¯ãå Žåã«ãã£ãŠã¯ãã¢ããªã±ãŒã·ã§ã³ãåäœãããããã«ãããããã®ããã±ãŒãžãæŽæ°ããå¿ èŠããããŸãã UBI ã€ã¡ãŒãžã«ã¯ãyum ãéããŠå©çšã§ããäžé£ã® RPM ãä»å±ããŠãããé«éã§å¯çšæ§ã®é«ãã³ã³ãã³ãé ä¿¡ãããã¯ãŒã¯ã䜿çšããŠé åžãããã®ã¯ãã®ããã§ã (ããã±ãŒãžãå ¥æããŸãã!)ã éèŠãªãªãªãŒã¹ ãã€ã³ã㧠CI/CD äžã§ yum update ãå®è¡ãããšã確å®ã«æ©èœããããã«ãªããŸãã
RHEL ã¯åºç€ã§ã
RHEL ããã¹ãŠã®åºç€ã§ããããšãç¹°ãè¿ããŠã飜ããããšã¯ãããŸããã Red Hat ã®ã©ã®ããŒã ãããŒã¹ã€ã¡ãŒãžã®äœæã«åãçµãã§ããããç¥ã£ãŠããŸãã? ããšãã°æ¬¡ã®ãããªãã®ã§ãã
- glibc ã OpenSSL ãªã©ã®ã³ã¢ ã©ã€ãã©ãªãããã³ Python ã Ruby ãªã©ã®èšèªã©ã³ã¿ã€ã ãã³ã³ããå ã§äœ¿çšããããšãã«äžè²«ããããã©ãŒãã³ã¹ãæäŸããã¯ãŒã¯ããŒãã確å®ã«å®è¡ã§ããããã«ãã責任ãè² ããšã³ãžãã¢ãªã³ã° ããŒã ã
- 補åã»ãã¥ãªã㣠ããŒã ã¯ãã©ã€ãã©ãªãèšèªç°å¢ã«ããããšã©ãŒãã»ãã¥ãªãã£åé¡ãã¿ã€ã ãªãŒã«ä¿®æ£ãã責任ãè² ãããã®äœæ¥ã®æå¹æ§ã¯ç¹å¥ãªææšã䜿çšããŠè©äŸ¡ãããŸãã
ã³ã³ãããã«ã¹ã€ã³ããã¯ã¹ã°ã¬ãŒã . - ãããã¯ã ãããŒãžã£ãŒãšãšã³ãžãã¢ã®ããŒã ã¯ãæ°æ©èœã®è¿œå ãšé·ã補åã©ã€ããµã€ã¯ã«ã®ä¿èšŒã«å°å¿µããŠãããã客æ§ãèªä¿¡ãæã£ãŠæè³ãæ§ç¯ã§ããããã«ããŸãã
Red Hat Enterprise Linux ã¯ã³ã³ãããŒçšã®åªãããã¹ããšã€ã¡ãŒãžãäœæããŸãããå€ãã®éçºè ã¯ããŸããŸãªåœ¢åŒã§ã·ã¹ãã ãæäœã§ããæ©èœãéèŠããŠããããã®äžéšã¯ Linux ã·ã¹ãã ã®ãµããŒããããŠãããŠãŒã¹ã±ãŒã¹ã®ç¯å²å€ã§ããå¯èœæ§ããããŸãã ããã§ããŠãããŒãµã« UBI ã€ã¡ãŒãžã圹ã«ç«ã¡ãŸãã
ä»ããã®æ®µéã§ã¯ãåçŽãªã³ã³ããåãããã¢ããªã±ãŒã·ã§ã³ã®äœæ¥ãéå§ããããã®åºæ¬ã€ã¡ãŒãžãæ¢ããŠãããšããŸãã ãããšãããã§ã«æªæ¥ã«è¿ã¥ããŠãããã³ã³ãã ãšã³ãžã³äžã§å®è¡ãããã¹ã¿ã³ãã¢ãã³ ã³ã³ãããããOpenShift äžã§å®è¡ããã Operator ã®æ§ç¯ãšèªå®ã䜿çšããã¯ã©ãŠããã€ãã£ãã®æŽå²ã«ç§»è¡ããŠããŸãã ãããã«ãããUBI ã¯ããã«åªããåºç€ãæäŸããã§ãããã
ã³ã³ããã«ã¯ãæ°ããããã±ãŒãžåœ¢åŒã§ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã®ãŠãŒã¶ãŒç©ºéã®è»œéããŒãžã§ã³ãå«ãŸããŠããŸãã UBI ã€ã¡ãŒãžã®ãªãªãŒã¹ã«ãããã³ã³ããåéçºã®æ°ããæ¥çæšæºãèšå®ããããããããŠãŒã¶ãŒãç¬ç«ç³»ãœãããŠã§ã¢éçºè
ããªãŒãã³ ãœãŒã¹ ã³ãã¥ããã£ããšã³ã¿ãŒãã©ã€ãº ã¯ã©ã¹ã®ã³ã³ãããå©çšã§ããããã«ãªããŸãã ç¹ã«ããœãããŠã§ã¢éçºè
ã¯ããã¹ãŠã®ã³ã³ããåãããã¢ããªã±ãŒã·ã§ã³ã«å¯ŸããŠåäžã®å®èšŒæžã¿ã®åºç€ã䜿çšããŠè£œåãæšæºåã§ããŸãã
ç»åã®æäœãéå§ããæ¹æ³
äžèšã§èšãã°ããšãŠãã·ã³ãã«ã§ãã Podman ã¯ãRHEL ã ãã§ãªããFedoraãCentOSãããã³ãã®ä»ã®ããã€ãã® Linux ãã£ã¹ããªãã¥ãŒã·ã§ã³ã§ãå©çšã§ããŸãã 次ã®ãªããžããªã®ããããããã€ã¡ãŒãžãããŠã³ããŒãããã ãã§æºåå®äºã§ãã
UBI 8 ã®å Žå:
podman pull registry.access.redhat.com/ubi8/ubi
podman pull registry.access.redhat.com/ubi8/ubi-minimal
podman pull registry.access.redhat.com/ubi8/ubi-init
UBI 7 ã®å Žå:
podman pull registry.access.redhat.com/ubi7/ubi
podman pull registry.access.redhat.com/ubi7/ubi-minimal
podman pull registry.access.redhat.com/ubi7/ubi-init
ãŠãããŒãµã« ããŒã¹ ã€ã¡ãŒãž ã¬ã€ãã®å šæãã芧ãã ããã
åºæïŒ habr.com