Backstageã§KubernetesããŠããããŠãŧã ãč§Ŗãæãã
ããã¯ãBackstageã§KubernetesããŠããããŠãŧã ãč§Ŗãæãããã§ãã ããããģã¯ãŠãŧã¯ã§ãã į§ã¯SpotifyãŽãˇããĸã¨ãŗã¸ããĸã§ãã į§ã¯ã Financial TimesãŽSpotifyãįģå ´ããåã§ãį´7åš´éKubernetesãĢæēããŖãĻããžããã ãããĻãį§ã¯BackstageããĒãŧããŗãŊãŧãšãĢãĒãåãåĢãã4åš´éåããĻããžããã į§ã¯SpotifyãŽãããã¤ãĄãŗãã¤ãŗããŠãšããŠã¯ããŖããŧã ãĢæåąããĻããžãã į§ã¯KubernetesããŠã°ã¤ãŗãŽBackstageããã¸ã§ã¯ãã¨ãĒãĸãĄãŗãããŧã§ãããVMwareã§åãJamie Klassenã¨ä¸įˇãĢãããĢããžããã§ããã
å§ããåãĢãSpotifyã¨KubernetesãĢã¤ããĻå°ãã芹ãããžãã į§ããĄã¯ãããĢããããŗã Kubernetes ã¯ãŠãšãŋã¨åŧã°ããããŽãã¤ãžã Google Kubernetes Engine(GKE)ä¸ãŽį´ 40 ã¤ãŽã¯ãŠãšãŋãæ åŊããĻãããããšãĻãŽããã¯ã¨ãŗãã¨ãĻã§ããĩãŧããšãåŽčĄããĻããžãã į§ããĄãŽéĢæ°´æēįšãéĢããŠããŖãã¯ãŦããĢã§ã¯ãį´ 270ã000 ãããããããžãã ã¤ãžãããããã¯ããĒã厍大ãĒKubernetesã¯ãŠãšãŋãŧã§ãã SpotifyãĢã¯ãMLãããŧãŋãã¤ããŠã¤ãŗãĒãŠãčĄãäģãŽå¤ããŽKubernetesã¯ãŠãšãŋãŧããããžãã Spotifyã§ãŽãããã¤ãĄãŗãã¯įãä¸ããã§ãã ã¨ãŗã¸ããĸã¯ã1æĨãĢį´ 3åã000 åãįĒãåēããžãã ãããĻãį§ããĄãŽãĩãŧããšãŽå¤§é¨åã¯Kubernetesä¸ãĢãããžãã åŊį¤žãŽãĩãŧããšãŽä¸é¨ã¯ãåžæĨãŽãŗãŗãããĒãŧãąãšããŦãŧãˇã§ãŗãˇãšãã ã§ããHeliosãåŠį¨ããĻããžãã
ããŠããããŠãŧã ã¨ãŗã¸ããĸãĒãŗã°
ããã¯ãããŠããããŠãŧã ã¨ãŗã¸ããĸãĒãŗã°ãĢã¤ããĻãŽčŠąã§ããããžãã ããŠããããŠãŧã ã¨ãŗã¸ããĸãĒãŗã°ã¨ã¯ãŠãããæåŗã§ãã? ããã¯ãéįēč ãŽįįŖæ§ãåä¸ãããå´åãæ¸ãããããĢãįĩįšå ãŽäģãŽéįēč åããŽããŧãĢãæ§į¯ããã¨ããčãæšã§ãã ã¤ãžããį¤žå ãŽãĻãŧãļãŧã饧åŽĸã¨ããĻæąãåŋ čĻããããŽã§ãã į§ããĄã¯æ¯æĨãåŽĸæ§ãŽéŖãĢåē§ããã¨ãã§ãããŽã§ãã¨ãĻã嚸éã§ãã ãããĢã饧åŽĸéĸäŋãããŧã¸ãŖãŧãéããĻ饧åŽĸã¨čŠąããããŖãŧãããã¯ãåžãĒããã°ãĒããĒãäēēãããžãã
ããŠããããŠãŧã ã¨ãŗã¸ããĸã¨ããĻãããĒãã¯é常ãĢ嚸éã§ãã ããããã°ãããŽãããĒããŧããĢã¯ãããžããã é常ã¯ãããããįˇŠãããã¨ãã§ããžãã į´æĨãŽãŗããĨããąãŧãˇã§ãŗãŠã¤ãŗããããŽã¯į´ æ´ããããã¨ã§ãã ãžããį¤žå ãŽãĻãŧãļãŧã¯ãåŽĸæ§ã§ããããããĩããŧããæäžããããŧãĢãčŖŊåãŽãããĢæąãåŋ čĻããããžãã ããã¯ä¸ģãĢSlackãéããĻčĄãããžãã ãããĻããĒããããéčĻãĒãŽããĢã¤ããĻã¯ãããå°ãåžã§æģãŖãĻããžãã
ãžããKubernetesã§čŦãč§ŖããããĢäŊããããŽããčããĻãããããããžããã į§ã¯ Kubernetes ãĢ 5 åš´éæēããŖãĻããžãã ãããĻãããã¯ãããģãŠéŖãããããžããã ããã¯ãį§ããĄã x åš´é Kubernetes ãĢåãįĩãã§ãããããããããžããã åĻãšã°åĻãļãģãŠå°ãæĨŊãĢãĒããžãããæéãããããžãã åéĄã¯ãKubernetesãŽåĻįŋæ˛įˇãæĨã§éˇããã¨ã ã¨æããžãã ãããĻãįŠäēããŠããŠãæãä¸ããĻããã¨ãããã¯é˛ãŋįļããžãã
ããŠããããŠãŧã ã¨ãŗã¸ããĸã¨ããĻãããŧãĢãæäžããåĻįŋæ˛įˇãįį¸Žããã¨ãŗã¸ããĸãŽįįŖæ§ãåä¸ããããã¨ãį§ããĄãŽäģäēã§ãã ãããĢã¯é常ããĻãŧãļãŧãčĄããšãã§ã¯ãĒãã¨čããĻããäŊæĨãåãé¤ããã¨ãåĢãžããžãããæãĢã¯ãããããã¨ããããžãã ãžãããĻãŧãļãŧãčǰã§ããããįĨããã¨ãéčĻã§ãã éįēč ãŽéĸåŋäēã¯ããžããžã§ãã åŊŧãå ¨åĄãéįēč ã¨ããĻã˛ã¨ããããĢããĻãåããããĢæąããã¨ã¯ã§ããžããã åŊį¤žãŽã¨ãŗã¸ããĸãŽä¸ãĢã¯ãã¤ãŗããŠããŧãĢãĢé常ãĢčåŗãæãŖãĻããäēēãããžãã åŊŧãã¯Kubernetesãæãä¸ããžãã åŊŧãã¯ãããæˇąãįč§ŖããããŽã§ãã ããããã°ãããŠããããŠãŧã ãæ´ģį¨ã§ããæŠčŊãŽæäžãĢéåēĻãĢéä¸ããĻããäģãŽã¨ãŗã¸ããĸãģãŠå¤ããŽčŗĒåãæąããã¨ããĒããããããžããã åŊŧãã¯ãĻãŧãļãŧåããĢãããã¤ãããã¨čããĻãããã¤ãŗããŠãšããŠã¯ããŖããŧãĢãĢã¯ããžãįĻįšãåŊãĻãĻããĒããŽãããããžããã ãŠãĄããåŽå ¨ãĢæåšãĒčĻįšã§ãããããã¯åéĄãããžãããäēēã¯éããžãã
Kubernetesã¸ãŽéãŽã
PalarkããããŽįģåãčĻãžããããããĻãããã¯KubernetesãŽããŽæĨãĒåĻįŋæ˛įˇãčĻäēãĢ襨ããĻããã¨æããžããããã㯠Kubernetes ãŽæ°ˇåąąã¨åŧã°ããĻããžãããããĻãä¸é¨ãĢDockerããããžãããããããããžããåąéããããžããkubectl ãåŽčĄãããĻããžãããããã¯äēēã ããã§ãĢįĨãŖãĻãããããããĒããã¨ããžãã¯é常ãĢį°ĄåãĢįŋåžã§ããããŽã§ããããĒãã¯åŊŧããé常ãĢį°ĄåãĢæãĢåãŖãĻčĩ°ããã¨ãã§ããžããããããããŽãšãŠã¤ãšãįč§ŖããããæŦĄãŽãšãŠã¤ãšãĢé˛ãŋãã¤ãŗã°ãŦãšãã¸ã§ããæ§æã¯ãŠããĒãããčããžããããŽåžããĸããŖãããŖãĒãããšããŧãããĢãĒã¯ãŧã¯ããŧããæ°¸įļããĒãĨãŧã ãįŖčĻãĢå ĨããžãããããĻã Dockerã¨Kubernetes čĒäŊãŽæ§æčĻį´ ãĢããŠãįããžã§ãããã¯įļããžããį§ããĄã¯ãĻãŧãļãŧãããŽæ°ˇåąąãĢæŧãä¸ãããã¨ããããŽä¸ãŽæ°ˇåąąãčĒåããĄãŽããŽãĢããžããããããããã¯ãĄããŖã¨éŖããã§ããããããį§ããĄããŠãŽãããĢããĻãããžã§æĨããŽããįč§ŖãããĢã¯ããã㯠Kubernetes ã¸ãŽé常ãĢå ¸åįãĒæ ãããããžããã
ããã¯ããŠãŽįĩįšã§ããŠãŽãããĒããŽããĢã¤ããĻ芹ããžãã Kubernetes ãäŊŋį¨ãããã¨ãæąēåŽããã¨ãããŠãŽãããĒæãã§ãã? ãããĻããããįĩįšå ¨äŊãĢåąéãããã¨čããĻããžãã ã§ããããé常ãKubernetesã¯į§ãäŊãããŽãã¸ããšįŽæ¨ãéæãããŽãĢåŊšįĢã¤ã¨æãã§ããããããããã¯åãĢã¯ãŧãĢã ã¨æããããããžãããį§ã¯ããæããžãããKubernetesãåŊšįĢãĄãžãã éĢåēĻãĒãšãąã¸ãĨãŧãĒãŗã°ãčĒåãšãąãŧãĒãŗã°ãããį¨ŽãŽKubernetesãã¤ããŖãããŧãĢãŽã¤ãŗãšããŧãĢãĢäŊŋį¨ãããå ´åããããžãã ãããĻãããĒãã¯ãKubernetesãäŊŋį¨ããã ãã§ãããã¯ã¯ãããĢį°ĄåãĢãĒãã¨æããžãã ããããããã¯į§ãĢããããŽį´ æ´ãããæŠčŊãæäžããžãã ãããĻãåŽé¨įãĒæšæŗã§åŽčĄããåžåããããžãã ããããããã1ã¤ãŽããŧã ãKubernetesä¸ã§įŦčĒãŽãĩãŧããšãåŽčĄããĻãããããããžããã KubernetesãããˇãĨããŧããžãã¯kubectlãäŊŋį¨ããĻKubernetesãããã¤ãĄãŗããįŖčĻããžãã ãããĻãããŽã¯ãŠãšãŋãŧãĢããããšãĻãŽããŽãæãä¸ããžãã ã¯ãŠãšãŋãŧã¯åŊŧãčĒčēĢãææããžãã ããããŽã¯ãŠãšãŋãŧã§åŽčĄãããããšãĻãŽãĩãŧããšãææããžãã ããããŖãĻãKubernetesãããˇãĨããŧãã¨kubectlã¯ãããŽå ´åãĢé常ãĢéŠããĻããå¯čŊæ§ããããžãã
åéĄã¯ãåŽã¯KubernetesããšãąãŧãĒãŗã°ããšãąã¸ãĨãŧãĒãŗã°ãĒãŠãĢé常ãĢåĒããĻãããã¨ãĢæ°ãĨãã¨ãæĄį¨ãåĸãå§ãããã¨ã§ãã ãããĻãå°å Ĩãé čĒŋãĢé˛ãŋå§ããããå¤ããŽãĩãŧããšã Kubernetes ãĢį§ģčĄãå§ããžãã ãããã¯ãããããŧã ããããããŽãã¨ãKubernetesä¸ã§åŽčĄããĻããĻããããããžãããŖãĻãããŽã§ãį§ããĄãåããã¨ããããããããĒãã¨č¨ããžãã ããããå¤ãã¯ãŠãšãŋãŧãįļæãããã¯ãããžããã åŊŧããŽããŽã ããäŊŋããžãããã įŠäēã¯ããžãããŖãĻããžãããããŽåžããããåŽéãĢã¯1ã¤ãŽã¯ãŠãšãŋãŧã§ã¯ååã§ã¯ãĒãã¨čãããããĒãããč¤éãĒãąãŧãšãĢéĨããžãã ãĒããĒãããŦã¤ããŗãˇãŧãæ¸ãããããĢããĒãŧã¸ã§ãŗãĢ寞ããĻããŧãĢãĢã§åŽčĄããåŋ čĻãããããã§ãã ãããã¯ãããããŧã ãįŦčĒãŽã¯ãŠãĻããããã¤ããŧãåŋ čĻã¨ããĻãããããããžããããããããŧã ãįŦčĒãŽã¯ãŠãšãŋãŧãæãã§ãããããããžããã äēæ ã¯é常ãĢč¤éãĢãĒãå§ããæįĩįãĢã¯įĩįšãŽæŦįĒį°åĸãĢ褿°ãŽKubernetesã¯ãŠãšãŋãŧãåå¨ãããã¨ãĢãĒããžãã
ãããĻãããŽãããĒå˛čˇ¯ãĢįĢãããããŽã¯ãããã§ãŠãŽãããĒããŠããããŠãŧã ã¨ãŗã¸ããĸãĒãŗã°ãŽå˛åĻãæã¤ãŽããčããã¨ãã§ãã ããĢããããŗãã¯ãŠãšãŋã¯æã¤ãŽã§ãããã? ããŠããããŠãŧã ã¨ãŗã¸ããĸã¯ãä¸å¤Žã¯ãŠãšãŋãŧãįŽĄįããžãã ãããĻãčǰããčĒåãŽããŽãããããĢåãäģããã ãã§ãã åŊŧããŽãããĢãããã¤ãŗãšããŧãĢããã¤ããã§ãã? ããã¨ãããˇãŗã°ãĢãããŗãã¯ãŠãšãŋãŧãäŊŋį¨ãããŽã§ãããã? ãžããããŠããããŠãŧã ããŧã ã¯ãããããŽã¯ãŠãšãŋãŧãŽãŠã¤ããĩã¤ã¯ãĢãŽããŧãĢãįŽĄįããžãã åŋ ãããæŖããįããééãŖãįããããã¨ã¯æããžããã äŊäēãããã§ãããããã¯ããĒããŽįĩįšã¨ããĒããäŊããããããĢãããžãã ãžããããĢããããŗãã¯ãŠãšãŋãŧãĢã¤ããĻãčĒŦæããžãã ããããããããį´šäģããå 厚ãŽå¤ãã¯ããˇãŗã°ãĢãããŗã ã¯ãŠãšãŋãŧãĢã¨ãŖãĻäžįļã¨ããĻé常ãĢéčĻã§ãã
åéĄã¯ãããããŽKubernetesããŠããããŠãŧã ãæäžãå§ããã¨ãéįēč ã¯ããããŽKubernetesãĒãŊãŧãšãåž ãŖãĻå¯žčŠąããåŋ čĻãįãå§ããã¨ãããã¨ã§ãã ãžããåãĢčŋ°ãšããããĢãKubernetesãĢã¤ããĻããčŠŗããéįēč ããããããããžããã ãããããããKubernetesãĢã¤ããĻããžãįĨããĒãéįēč ããããããããžããã ãããĻãããã¯č¤éãĢãĒããžãã é常ãĢč¤éãĢãĒããį§ãŽãĩãŧããšãåŽéãĢãŠãŽã¯ãŠãšãŋãŧã§åŽčĄãããĻãããŽããĒãŠãį°ĄåãĒčŗĒåãĢįãããŽãĢčĻå´ããžãã åŋããžããã ãããã¯ãããŽãĩãŧããšãããŽã¯ãŠãšãŋã§åŽčĄãããããŽãĩãŧããšãããŽã¯ãŠãšãŋã§åŽčĄãããã¨ãããĄãŗãŋãĢããããŗã°ãįļæããĻãããããĒããŽã§ãã ãããĻãæ°ããäēēãå ããã¨ããããããããã¯ããĒããįĨãåŋ čĻããããã¨ã ãã¨č¨ãã§ãããã į§å¯ãŽæĄæã¯ãããŽãĩãŧããšãããã§åŽčĄããããããããã§åŽčĄãããĻãããã¨ãįĨãŖãĻããžãã ãĒããĒããå ãģãŠčŋ°ãšããããĢãããŠããããŠãŧã ã¨ãŗã¸ããĸã¨ããĻãŽį§ããĄãŽäģäēãŽ1ã¤ã¯ãéįēč ãĢã¨ãŖãĻããį°ĄåãĢãããã¨ã§ãããéįēč ãĢã¨ãŖãĻããå°éŖãĢãããĩãŧããšã¨ååįŠēéããã¯ãŠãšãŋã¸ãŽããããŗã°ãįļæããĒããã°ãĒããĒããããĢãããã¨ã§ã¯ãĒãããã§ãã
ããŽãããæ°åš´åãŽé常ãĢæŠãæŽĩéã§ããããŽKubernetesã¯ãŠãšãŋãŧãåąéããã¨ããĢããĩãŧããšããŠãŽã¯ãŠãšãŋãŧãĢããããĒãŠãŽį°ĄåãĒčŗĒåãĒãŠãããŖãŧãããã¯ãå¯ãããããããĢãĒããžããã ãžãã大ä¸å¤Ģã§ãã? æŦįĒį°åĸã§ãã? åŽčĄãããĻããžãã? 大ä¸å¤Ģã§ãã äŊãåéĄããããžãã? äŊãããåŋ čĻããããžãã? ããã§ãBackstageãŽåēįĒã§ãã
æĨŊåą
Backstage ãĢã¤ããĻãåããĒãæšããããŖãããã¨æããžãããããã¯éįēč ããŧãŋãĢãæ§į¯ãããããŽããŠããããŠãŧã ã§ãã SpotifyãŽã¨ãŗã¸ããĸã¯æ¯æĨBackstageãäŊŋį¨ããĻããžãã CIãĢéĸããæ å ąãŽčĄ¨į¤ēããããĨãĄãŗããŽčĄ¨į¤ēãKubernetesãããã¤ãĄãŗããŽįŖčĻãĒãŠãĢäŊŋį¨ããžãã ããã¯ãããšãĻãŽKubernetesãĩãŧããšãįŽĄįãããããŽ1ã¤ãŽå ´æãĢãĒããžãã
BackstageãĢã¤ããĻãŽčŠąãčĻããã¨ãããäēēããčĒåã§æãä¸ãããã¨ãããäēēãĒããBackstageãŽãŗãĸæŠčŊãŽ1ã¤ããŊãããĻã§ãĸãĢãŋãã°ã§ãããčǰããĩãŧããšãææããĻããããGitãĒãã¸ããĒããŠããĢããããäģãŽãĩãŧããšã¨ãŽéĸäŋãĒãŠããĩãŧããšãĢéĸããæ å ąãäŋåããĻãããã¨ããåįĨã§ãããã ãĢãŋãã°ãŽčåŗæˇąãįšãŽ 1 ã¤ã¯ããĢãšãŋãã¤ãēå¯čŊã§æĄåŧĩå¯čŊã§ãããã¨ã§ãã ããŽãããåŽéãĢããŠã°ã¤ãŗãæ§į¯ããããäģæĨã芹ãããKubernetesããŠã°ã¤ãŗãåĢããįĩįšãĢéŠãããĒãŧããŗãŊãŧãšããŠã°ã¤ãŗãäŊŋį¨ãããã§ããžãã
å ãģãŠæčĩˇãã2ã¤ãŽčŗĒåãĢįããĻãæŽããŽčŠąã§ã¯æŦĄãŽãããĢããžãã ãããĻãåããã¨ãčĄãæšæŗãĢã¤ããĻå°ãã芹ãããžãã
DockerãŗãŗãããŽæ§į¯ãããŧãĢãĢã¸ãŽãããã¤ãĢã¤ããĻããčŗãĢããžãã CI/CDãĢéĸããį´ æ´ãããčŦæŧãčĄãããžããã ãããĻäģããŗãŗããããããã¤ããžããã į§ããĄã¯ããĻãŧãļãŧã§ããéįēč ããįŖčĻãĄãŗãããŗãšãŽčĻŗįšããäŊãããĻãããŽããåŽéãĢįč§ŖãããããŽæŠčŊãæäžãå§ããĻããžãã ããã§ãBackstageãŽåēįĒã§ãã ããã¯į§ããĄãŽãĩãŧããšã¸ãŽã¤ãŗãŋãŧãã§ãŧãšãĢãĒããžãã ã§ããããå ãģãŠčŋ°ãšããããĢãį§ããĄã¯ãĩãŧããšãŽãŊãããĻã§ãĸãĢãŋãã°ãįļæããäģãŽããŧãĢã¨įĩąåããžãããĻãŧãļãŧã¯ãBackstageãéããĻKubernetesãĒãŊãŧãšã襨į¤ēããžãã ããŽäžãĢã¤ããĻã¯ãããĄãã§ãčϧããã ããžãã
ããã¯ãBackstageį¨ãŽãĒãŧããŗãŊãŧãšãŽKubernetesããŠã°ã¤ãŗã§ãã į§ã¯ãĩã¤ãŗãããŧãŠãŧã¨åŧã°ãããĩãŧããšãæãŖãĻãããããŽč˛Ŧäģģã¯į§ãŽãããĢãĩã¤ãŗããæ¯ããã¨ã§ãã ã ãããããã¯ãšããŧã¸ãĢå Ĩããã ã ææããĻãããĩãŧããšã襨į¤ēãããžãã ãĩã¤ãŗãããŧãŠãŧãĢį§ģåããKubernetesãŽãŋããã¯ãĒãã¯ããžãã ããŽKubernetesãĩãŧããšããŠãã§åŽčĄãããĻãããããŠãŽã¯ãŠãšãŋãŧããããã¤ãĄãŗããĩãŧããšããĒãŧããšãąãŧãŠãŧãããšãĻãĢã¤ããĻãŽæ å ąãåžãããžãã ããŽãĩãŧããšãããŽã¯ãŠãšãŋãŧãĢ 19 ãããããããã¨ããããĢããããžãã ããããŽãããã¤ããããã㎠1 ã¤ãŽãããã¤ãĢãæ°´åšŗãĒãŧããšãąãŧãŠãŧãč¨åŽãããĻããžãã ãžããBackstage ãããã㎠Kubernetes ãĒãŊãŧãšã§æ¤åēããããã¤ããŽã¨ãŠãŧãĢéĸããæĻčĻæ å ąãæŦĄãĢį¤ēããžãã
ããã§čĄãŖãčåŗæˇąããã¨ãŽ1ã¤ã¯ããĻãŧãļãŧãKubernetesã¨å¯žčŠąããæšæŗãåŽéãĢ夿´ãããã¨ã§ãã åãĢčŋ°ãšããããĢãKubernetesãããˇãĨããŧããĢį§ģåããäģŖãããĢãããŽãĩãŧããšãããŽã¯ãŠãšãŋãŧä¸ãĢãããã¨ãčĻããĻãããžãã ããããŖãĻãæŖããKubernetesãããˇãĨããŧããĢį§ģåãããã¨ãåŋããĒãã§ãã ããããããĒããã°į§ãŽãĩãŧããšã¯čĄ¨į¤ēãããžããã ãĻãŧãļãŧã¯BackstageãĢį§ģåããã ãã§ãã åŽéãĢã¯ããĩãŧããšããŠãŽã¯ãŠãšãŋãŧãĢãããã¤ãããĻããããĢã¤ããĻåŋé ããåŋ čĻã¯ãããžããã Backstageã¯åŊŧããŽãããĢãããčĻã¤ãããĻãŧãļãŧãŽãããŽãĩãŧããšãŽãŗãŗãããšãã§ãĻãŧãļãŧãĢæ å ąããããããžãã ãããĻããããåŽéãĢäŊãæåŗãããŽããĢã¤ããĻã¯ãåžãģãŠčĒŦæããžãã
ãããĢã¤ããĻčåŗæˇąããŽã¯ãã¤ãŗãŋãŠã¯ãˇã§ãŗãåããĢãĒããããĢ夿´ãããã¨ã§ãã ããããĩãŧããš1ã§ãããã¨ããĩãŧããš2ã§ãããã¨ãBackstageãĢčĄãã¨ãBackstageã¯ãĻãŧãļãŧãŽKubernetesãĒãŊãŧãšãčĻã¤ããžãã å ãģãŠãč¨ãŖããããĢãį§ããĄã¯ããã§äŊããå¤ããžããã ããããŖãĻããĻãŧãļãŧã¯ãéĸåŋãŽãããĩãŧããšãĢ寞ããĻããããŽãŋãšã¯ãåŽčĄããĻããã¨ããĢããĩãŧããšæåãįļæããĻããžãã åéĄãŽ 1 ã¤ã¯ããĩãŧããšã§äŊæĨããĻããã¨ããĢãĻãŧãļãŧããŗãŗãããšããåãæŋãããããã¨ã§ãã CIãééããã¨æãŖãããäģåēĻã¯ãããã¤ãæŖå¸¸ã§ãããšãĻãæŖå¸¸ã§ãããã¨ãįĸēčĒãããã¨æããžãã ã¨ãŠãŧã¯ãããžããã ã¯ãŠããˇãĨããĻããžããã
æŽåŋĩãĒãã¨ãĢãåŊŧããĢKubernetesã¯ãŠãšãŋãŧã¨į´æĨå¯žčŠąãããã ãã§ã¯ããžãįŦŦä¸ãĢãį§ãŽãŗãŧããæŖãããŗãŗãããšããĢč¨åŽããããéŠåãĒKubernetesãããˇãĨããŧããéããã¨ãčĻããĻããåŋ čĻããããžãã ããŽä¸éãšããããåãé¤ããBackstageã§CIãčĻãåžãããŽãŋããã¯ãĒãã¯ããã ãã§ãããšãĻãŽKubernetesãĒãŊãŧãšã襨į¤ēãããã¨ããžãã ãããĻãããŽ2ã¤ãŽãã¨ãŽéãĢã¯ä¸æŠãč¸ãŋåēããžããã åŊŧãã¯čĒåãæ°ãĢãããĻãããĩãŧããšãĢåŽå ¨ãĢéä¸ããĻããžãã
ããããčŗĒå
ãã 1 ã¤ãŽčŗĒåã¯ãį§ãŽãĩãŧããšã¯æŖå¸¸ããŠããã§ãã ã§ããããããŽäžã¯é常ãĢį°Ąåã§ããã ããŽé¨åąãĢã¯ãKubernetesã§å¤ããŽãã¨ãããžããããĒãå¯čŊæ§ããããã¨ãįĨãŖãĻããäēēãããããããããããã§ãããããããžããããĒãå¯čŊæ§ãŽããããšãĻãŽãã¨ãčĒŦæãããŽã¯éŖããã¨ãããããĒäēēã¯ããããããžãã ããã§ãSlackã§ãĩããŧããĢéĸããčŗĒåãå¤ãå¯ããããįįŖæ§ãäŊä¸ããã¨ããčããæĩŽããŗãžããã ããã¯ãéįēč ãKubernetesãĩãŧããšãĢã¤ããĻčŗĒåãããããŽåžãį§ããĄããããčĒãŋãčĒŋæģããåįãããŽãåž ããĒããã°ãĒããããããĢã¯éįēč ãŽįįŖæ§ãĢ大ããåŊąéŋããããĨãŧæéãããããã§ãã åēæŦįãĢãį§ããĄããĩãŧããšãčĻãĻãį§ããĄãåŊŧããĢæģããžã§ãåŊŧãã¯äŊãã§ããžããã
ããã§ãååã¨į§ã¯ãKubernetesãŽåéĄãŽãããã°ãã¯ãããĢį°ĄåãĢã§ããĒãããã¨ããããã¯ãŽãĸã¤ããĸãæãŖãĻããžããã ãã§ãĢãéįēč ãBackstageãĢãĸã¯ãģãšããĻããĩãŧããšãŽåąéãįŖčĻããĻããžãã ãããåãæčã§ã¨ãŠãŧãčĻããããŠããĒãã§ããããã ããããã°ããĩãŧããšãŽčŠŗį´°ãæˇąãæãä¸ããããKubernetes ãŽããšãĻãįč§Ŗãããããåŋ čĻããĒããĒããžãã
į§ããĄãåããĻããå ąéãŽčŗĒåã¯ãį§ãŽãããã¤ãĄãŗããå¤ąæããããããĻåŽéãĢã¯ãĒããĒãŽãããããĒãã¨ããããŽã§ããã ã鞿æéãčļ ããžãããã¨čĄ¨į¤ēãããžãã åŠããĻããã ããžããã Kubernetes ãĢãããã¤ããĻããã¨ããĢ "é˛čĄįļæŗãŽæéãčļ ããžãã" ãåŧãčĩˇããå¯čŊæ§ãŽããå¤ããŽčĻå ããããã¨ããåįĨãããããžããã
ã§ã¯ããŠãããã°ãããŽã§ãããã? ãžããį§ããĄãæãŖãĻããããŽããå§ããžãããã ããã¯ãĒãŧããŗãŊãŧãšãŽKubernetesããŧããĢã§ãåēæŦįãĢã¯åŽčĄä¸ãŽããããŽããŧããĢã§ãã 大ä¸å¤Ģã§ãã į§ã¯ãããĢã¤ããĻããžãčåĨŽããĻããžããã ããããį§ããĄãæ°ãĨãããã¨ãŽ1ã¤ã¯ãã¨ãŠãŧããšããŖãŗãããŽãéŖããã¨ãããã¨ã§ããã ããŧããĢã§ã¯ãåŽčĄä¸ãŽããšãĻãŽããããŽå ¨äŊåãææĄã§ããããã§ã¯ãããžããã ããŧã¸ãæģãããé˛ãããããã¨ããããããŽããããĢäŊãåéĄããããã¨ãããããžãã äģãŽããããééãŖãĻããžããã
į§ããĄã¯ãå ¨äŊåãæããããããŽãããčĻčĻįãĒããŽããããĻčĻãĻãããĢäŊããééãŖãĻããã¨ãããããŽãĢã¤ããĻčããããŖããŽã§ãã ããŽčĄ¨ã§åŽéãĢčĻããã¨ãã§ããã¨æããžãããčĻãįŽã¯åéĄãããžããã ããĒãã¯ããããį§ãŽãĩãŧããšã¯ããžãããŖãĻãããã¨æãã§ãããã ããããåŽéãĢã¯ãããšãĻãŽãŗãŗããã3ååčĩˇåããĻããžãã ãããĻãããã¯åŽéãĢã¯ãŠããĢãåŧˇčĒŋãããĻããžããã ã ããããããåŽå ¨ãĢãšãããããĻãããšãĻãį´ æ´ãããã¨čãããã¨ãã§ããžãã į§ããĄã¯ãããŽãããĒãã¨ãããčĩˇãããĒããããĢããããŖããŽã§ãã ãããĻããĻãŧãļãŧãåŽéãĢããããŽã¨ãŠãŧãčĻã¤ããĻãããŽã¯ãį§ããĄããããåŊŧããĢåŧˇčĒŋããĻããããã§ãã
åéĄãŽ1ã¤ã¯ãå ãģãŠãč¨ãŖããããĢãããžããããĒãå¯čŊæ§ãŽãããã¨ãé常ãĢå¤ããã¨ã§ãã ããã§ãį§ããĄã¯ãããĢã¤ããĻå°ãããŧãŋé§ååãĢãĒããã¨ããžããã kube-state-metricsã§ã¯ãããããįĩäēããįįąãčĩˇåãĢå¤ąæããįįąãå ŦéããĻããžãã į§ããĄã¯ãåéĄãŽããããšãĻãŽåéĄãč§Ŗæąēã§ããĒãå ´åã§ããå ŦéãããĻããææ¨ãčĻãĻãããããčĒŋãšãĻããĻãŧãļãŧãŽãããĢããããŽé åãåŧˇčĒŋããæšæŗãčĻã¤ãåēãã ãã§ã大夿°ãč§Ŗæąēã§ãããŽã§ã¯ãĒããã¨čããžããã
ããã§ãŽæĻįĨã¯ãããããŽã¨ãŠãŧããŠãŽãããĢãããã°ããããčããããŽãããģãšããŠãŽãããĢčĒååã§ããããæ¤č¨ãããã¨ã§ããã äģĨåãĢįĸēčĒããã¨ãŠãŧã§ã¯ãåēæŦįãĢãããã§ãšããã°ãžãã¯Kubernetesã¤ããŗããįĸēčĒãããããŽ3ã¤ãŽãĢãã´ãĒãĢåéĄããžããã ãããĻãį§ããĄãčĻããããããĒį°ĄåãĒã¨ãŠãŧã¯ãäģĨä¸ãŽéãã§ããã
- InvalidImageName -- ããããããããããĢåå¨ããĒãééãŖã Docker ãŗãŗãããįŊŽãããŽãããããžããã
- ImagePullBackOff -- åŽčĄãããã¨č¨ãŖãĻããįģåãåŽéãĢåŧãŖåŧĩã訹å¯ããĒããããããžããã
- ItemMemory â ããã¯ããĄãĸãĒãĒãŧã¯ãįēįããĻãããĩãŧããšãŽåéĄã§ããå¯čŊæ§ããããžãããé常ã¯ããĩãŧããšãĢååãĒãĄãĸãĒããããã¸ã§ããŗã°ããĒããŖãã ãã§ãããã¨ãããããžãã
- CreateContainerConfigError â ããã¯é常ããˇãŧã¯ãŦãããžãã¯č¨åŽããããäŊŋį¨ãããã¨ããĻããĻããããåå¨ããĒãå ´æã§ãã
ããŽãããĒã¤ãŗããŠãšããŠã¯ããŖãŽã¨ãŠãŧãčĻãããžããããããŽåžãKubernetesããã¯ããĒãč¯ãã¨ãŠãŧãĄããģãŧã¸ãåēãĻãããã¨ãĢæ°ãĨããžããã ãããĻãKubernetesãããŽCrashLoopBackOffãErrorãReadinessãããŧããŽã¨ãŠãŧãĄããģãŧã¸ããĒããããģãŠč¯ããĒããŽããæŦåŊãĢįåãĢæãŖãĻããžããã
ããŽã¨ããį§ããĄã¯äŊã¨ãĒãããŗã¨ãããŽã§ãããæ¯ãčŋãŖãĻãŋãã¨ãCrashLoopBackOffã¨ReadinessãããŧããŽå¤ąæã¨ããã¨ãŠãŧã¯ãåŽéãĢã¯ã¤ãŗããŠãšããŠã¯ããŖããŧãĢãããĩãŧããšãŽãŠãŗãŋã¤ã ãĢåĸįãčļããã¨ãŠãŧã§ãããã¨ã¯æãããããããžããã ãããĻãåēæŦįãĢã¯ãããŦãŧãšãĢįĩąåããããäŊãããŽåĒããįŖčĻč¨åŽããĒããã°ãäŊãåéĄãĒãŽããįĨããã¨ã¯ã§ããžããã
ãĻãŧãļãŧãį§ããĄãŽã¨ãããĢæĨãĻããããããã¯ãŠããˇãĨããžãããã¨č¨ããã¨ãŠãŧã¨čĄ¨į¤ēãããã¨ããäŊãåéĄãĢãĒãŖãĻããžãã? į§ã¯ã¤ãŗããŠã¨ãŗã¸ããĸã§ãããåŽã¯åŊŧããŽãĩãŧããšãé常äŊãããĻãããŽãã¯įĨããžããã ã ãããããã§äŊãåéĄãĒãŽãæããĻãģãããã ããĒãã¯ãŠããˇãĨãããŽããããããĒãããããĒãã¨ãĒããĻã ã§ãããããããæãä¸ããĻãŋãĻãããããããŽãã°ãåŊšįĢã¤ãããããĒããã¨č¨ããããããžããã
ãããã¯ãããŽã¨ãŠãŧãįēįããįįąããĻãŧãļãŧãĢæäžãããã¨ã¯ã§ããžããããé常ãĢčŋãã¨ãŠãŧãĢčŋãĨãããã¨ãã§ããã¨ãŠãŧã§ãã ãžãããã°ã襨į¤ēããããKubernetesã¤ããŗãã襨į¤ēããããå°ãĒãã¨ãããããŽã¨ãŠãŧãįēįããĻããįįąãĢã¤ããĻãĻãŧãļãŧãĢã§ããã ãå¤ããŽãŗãŗãããšããæäžããããããã¨ã§ãäģĨåãããã¯ãããĢčŋãĨããã¨ãã§ããžãã ãã 1 ã¤ã¯ãæŖãããããĨãĄãŗããĢéŠåãĒãŋã¤ããŗã°ã§ãĒãŗã¯ããããŖãã¨ãããã¨ã§ãã ããŽããããĻãŧãļãŧã¯į§ããĄãäŊããčĻããã¨ã¯æãããį§ããĄãäŊãč¨ãŖãĻãããŽããžã įč§ŖããĻããžããã§ããã į§ããĄã¯å¸¸ãĢãåéĄãããæˇąãčĒŦæã§ããåĨãŽå ´æã¸ãŽãĒãŗã¯ã፿ãããã¤ã§ãSlackããŖãŗããĢãĢæģãŖãĻãããã¨ãã§ãããããĢãããã¨čããĻããžããã ãããį§ããĄãŽį´ æ´ããããģãŧãããŖãããã§ããã
ãĻãŧãļãŧã¸ãŽã¨ãŠãŧãŽčĄ¨į¤ē
ããããį§ããĄãæåãŽã¤ããŦãŧãˇã§ãŗã¨ããĻæįĩįãĢčĄãŖãããŽã§ãã į§ããĄãŽããããŽããŧããĢããã¯ããĒã大ããé¸čąããĻãããã¨ãããããžãã ããããŖãĻãããã¯å é¨ãŽSpotifyBackstageã¤ãŗãšãŋãŗãšãŽæåãŽã¤ããŦãŧãˇã§ãŗã§ãã ããã¯įžæįšã§ã¯ãĒãŧããŗãŊãŧãšãĢã¯ãããžããã ãããĢã¤ããĻã¯ãåžãģãŠå°ãã芹ãããžãã
KubernetesãĢã¤ããĻäŊãįĨããĒããĻãããããã§ãŗãŗãããåŽčĄããĻãããã¨ããįĨããĒããããããžããã ãããĻããããæŦįĒį°åĸã§čĄ¨éĸãææãåããæšæŗã§ãã ããã§äŊãčĩˇããŖãĻãããŽãã¯ã7ã¤ãŽãããããããã¨ãįĨãŖãĻãããŽã§ããããĢããããžãã ãããĻãããŽããĄãŽ3ã¤ã¯č¯ãããã ã¨æããžãã įˇč˛ã§ãã ãããĻãããŽããĄãŽ4ã¤ã¯ã大ããĒčĻåãĄããģãŧã¸ããããããããžãč¯ãčĻããžããã ãããĻãããŽããĄãŽ1ã¤ã¯2ã¤ã¨æ¸ãããĻãããäģãŽ1ã¤ã¯1ã¨æ¸ãããĻããããã2åč¯ãčĻããžããã
į§ããĄã¯ããĻãŧãļãŧãKubernetesãĢã¤ããĻããžãįĨããĒããĻããäŊãčĩˇããŖãĻãããŽããčĻčĻįãĢ襨įžããã ãã§ãäŊãčĩˇããŖãĻãããŽããããĒãæįĸēãĢããããŖããŽã§ãã ãžãããĻãŧãļãŧãBackstageãéããĻKubernetesãĢã¤ããĻåŽéãĢåĻãļãŽãĢãåŊšįĢãĄãžããããã¯ãį§ããĄãäšãčļãããã¨ããĻãããã¨ãŽ1ã¤ã§ãã ãããĻãããããŽã¨ãŠãŧãäŊã§ããããããããŽæ°åãäŊãæåŗãããŽãããžãã¯čĻåãĢã¤ããĻæˇˇäšąãããã¨ã¯ãããžããã§ããã ãžããåŗå´ãĢãĻãŧãļãŧãĢ襨į¤ēãããĻããããšãĻãŽã¨ãŠãŧãŽéį´ãĒãšãããããžãã
ã¨ãŠãŧãčĻãĻãŋãžãããã ããã¯KubernetesãŽã¨ãŠãŧã§ããããããåŽéãĢäŊãæåŗãããŽãããĻãŧãļãŧãĢčĒŦæã§ããžãã ã§ãããããããį§ããĄãæ¤åēããã¨ãŠãŧã§ãã į§ãŽãŗãŗããã§ããmclarkeã¨ãŠãŧããšãŋãŧã¯2ååčĩˇåããžããã ãããĻãããã¯Kubernetesãã¨ãŠãŧã¨åŧãļããŽã§ãã ãããĻãããã¯åŽéãĢã¯ãŠãããæåŗãĒãŽããčĒŦæããžãã ãŗãŗããããŧãäģĨå¤ãŽįĩäēãŗãŧãã§įĩäēããããŽįĩäēãŗãŧãã¯2ã¤ã ãŖãã¨ããžãã
ã¨ãŠãŧãäŊã§ããŖãããå ąåããã ãã§ãĒãããããĢ䏿Šé˛ãã§ãį§ãŽããããŽã¤ãŠã¤ãŠãŽ1ã¤ã¯ãäŊãåéĄãįēįããã¨ããĢäŊãããšãããæããĻãããĒãã¨ãŠãŧå ąåã§ãããããã¯ãŠããˇãĨãã°ããã§ãã¯ããĻãšãŋãã¯ããŦãŧãšãããããŠãããįĸēčĒããã¨ãŠãŧãŗãŧã2ã§įĩäēããįįąãæããĻããããããããžããã ãĄãĒãŋãĢãã¯ãŠããˇãĨããį´åãŽãĩãŧããšãŽãã°ãããĄãã§ãã ã§ããããį§ããĄã¯ããĻãŧãļãŧãããã§äŊãčĩˇããŖãĻãããŽããįč§ŖãããããĢåŋ čĻãĒããšãĻãŽæ å ąãæäžããã ãã§ãã åŊŧãã¯ãããæĸããĢčĄãåŋ čĻã¯ãããžãããããã¯æŦåŊãĢį§ããĄãéæãããã¨ããĻãããã¨ã§ãã ã¤ãžããããã¯ã¤ãŗããŠãšããŠã¯ããŖãããĩãŧããšãĢããį¨åēĻäē¤åˇŽããã¨ãŠãŧã§ãã
ã¯ãããĢåį´ãĒã¨ãŠãŧã¯ãäŊãééãŖãĻãããŽãããããĢčĻåãããã¨ãã§ãã InvalidImageName ã§ããããã¯ãæåšãĒįģåã§ã¯ãĒããããįģåãŽããĢč¨åˇããŦãŧãšããĢããŧãããĢã§ããĒããŖãããã§ãã ãããĻãããããäŊãééãŖãĻãããŽããæŖįĸēãĢäŧãããã¨ãã§ããã§ãããã ããŦãŧãšããĢããŧãįŊŽãæãããŽãåŋããžããã ã ããããããäŊãæåŗãããŽãã¨ããã¨ããžããįģåã¯æåšã§ã¯ãããžããã ãžããæåšãĒįģååãŽčĄ¨į¤ēãĢéĸãããĒãŗã¯ãããĄãã§ãã
ããããĒãĒãŧãšããã¨ããį§ããĄã¯åŋé ã§ãããæŦåŊãĢäēēã ã¯ãããåĨŊããĢãĒããŽã§ãããã? äēēã ã¯į§ããĄãäģĨåæãŖãĻããããŧããĢããĒãã¨ãĒãæ°ãĢå ĨãŖãĻããžããã ããããį¤žå ã§æŠčŊããŠã°ãäģããĻãĒãĒãŧãšããã¨ããäģãŽKubernetesįŽĄįč ã¨čŠąãåãŖãã¨ãããäģãŽäēēãŽåéĄããããã°ããĻããã¨ããĢããĩããŧããĢéĸããčŗĒåãæĨãã¨č¨ããžããã kubectlããããˇãĨããŧããäŊŋį¨ããäģŖãããĢãããŽæŠčŊããŠã°ããĒãŗãĢããĻãKubernetesãKubernetesããŧã¸ãBackstageãĢį§ģåãããããåŽéãĢåŊšįĢã¤ããŠãããįĸēčĒããĻãã ããã ãããįč§Ŗãããã¨ããã§ããžãã? ããžãããã°ãããĒããã§ãããĒããåŊŧããã§ããã§ãããã ãããĻãKubernetesãŽįŽĄįč ãããããã¯æŦåŊãĢäžŋåŠã ã¨ããį´ æ´ãããããŖãŧãããã¯ãåžããããĢãĒããžããã ããļãããããå é¨ãĻãŧãļãŧãŽãããŠãĢããŽããĨãŧãĢããåŋ čĻããããžãã
4æãĢã¯ããããåŽįžããžããã ãããĻãKubernetesããŠã°ã¤ãŗã¨ãŽã¤ãŗãŋãŠã¯ãˇã§ãŗããģãŧx100 åĸå ãããĒãŠãããŽå¤§åš ãĒåĸå ããããĢčĻãããžããã ããäģĨåã¯ãäēēã ãå ĨãŖãĻããĻãäŊãããããããã¯ãããããã¨č¨ãã ãã§ãäŊãééãŖãĻãããŽããæŖįĸēãĢæããĻãããĒããŖãã¨į§ããĄãčããĻããžããã ãããĻãåŊŧãã¯ãããĢkubectlãĢčĄããããäģĨä¸ããŠã°ã¤ãŗã¨å¯žčŠąãããã¨ã¯ãããžããã ãããããããĢãããå ãģãŠčŋ°ãšããããĢããĻãŧãļãŧã¯Backstageã§ãŽãĩãŧããšãĢéä¸ãããã¨ãã§ããžããã ãŗãŗãããšããåãæŋããåŋ čĻã¯ãããžããã§ããã ãããĻãåŊŧãã¯äŊãčĩˇããŖãĻãããŽããĢã¤ããĻãŽã¨ãŠãŧãŦããŧãããããĢåãåããžããã åŊŧãã¯ãããæĸãåŋ čĻãããããžããã§ããã
čŦæŧãŽåé ã§į§ãč¨ãŖããã¨ãŽ1ã¤ã¯ããĻãŧãļãŧã¨čŠąããããŖãŧãããã¯ãåžããã¨ãĢã¤ããĻã§ãããããã¯é常ãĢéčĻãĒãã¨ã§ãã ããŽããĨãŧã¨åãŽããĨãŧãŽéãã¯ãåŗä¸ãĢããã¤ããŽåĒããæ°æŠčŊããããã¨ãĢæ°äģãã§ãããã ããã¯ããŠããããŠãŧã ã¨ãŗã¸ããĸãĒãŗã°ãŽéčĻãĒé¨åãŽ1ã¤ã§ããããĻãŧãļãŧããããŖãŧãããã¯ãåžããã¨ã§ãããĒããĒããæåãŽã¤ããŦãŧãˇã§ãŗããĒãĒãŧãšããã¨ããĢããããã¯į´ æ´ããããã¨æãŖãããã§ãã ããäģĨä¸äŊãæããã¨ãã§ããã§ãããã? ããŽåžããĻãŧãļãŧãį§ããĄãŽã¨ãããĢæĨãĻãåŊŧããããŖã¨äŊãæãã§ããããæŖįĸēãĢæããĻãããžããã ãããĻãåŊŧããããããããŽã¯å ¨ãæŖãããŖããŽã§ãã ãĻãŧãļãŧãéčĻã ã¨čããĻãããã¨ãčĻéããĻããããããĻãŧãļãŧã¨čŠąããĒããã°į°ĄåãĢã§ããããã§ãã
čŋŊå æŠčŊ
ãããã¯ããšãĻããĻãŧãļãŧãããŽããŖãŧãããã¯ãéããĻčŋŊå ãããæŠčŊã§ãã ããã§ãããŽ2ã¤ãŽį°ãĒããŋã¤ããŽãĻãŧãļãŧãĢã¤ããĻ芹ããžããã ã¤ãŗããŠãšããŠã¯ããŖãĢæŦåŊãĢčåŗãæãŖãĻãããĻãŧãļãŧã åŊŧãã¯KubernetesãDockerãæˇąãįč§ŖããĻããžãã ãããĻããããããããããããŽã¨ãŠãŧãčĻã¤ãããããĢį§ããĄãŽåŠãããåŋ čĻãĒããŽãããããžããã ããã§ãåŊŧããŽéĒéãĢãĒããĒããããĢãããŽå°ããĒæĨįļããŋãŗã ããæäžããå°ãĒãã¨ãkubectlãŗããŗããæäžããããŠããĒãããæąēåŽããžããã ãŗãŗãããšãã¨ååįŠēéãŽč¨åŽãåŽčĄããåŋ čĻããããžãã å°ãĒãã¨ããããå°ãæŠããããĢčĄããã¨ãã§ããžãã ãããĻãį§ããĄã¯ããĒããŽéĒéãããžããã
ãããĻãããŽå寞å´ãĢãããĻãŧãļãŧã¯ãã¯ãŠããˇãĨãã°ãčĻããããĢåããããã¯ãĒãã¯ããåŋ čĻããĒããŖããŽã§ãã ããã§ãã¯ãŠããˇãĨãã°ãŽéį´ããĨãŧãæäžããããšãĻãåæãĢ襨į¤ēã§ãããããĢããžããã ãžããBackstageã¯ãã°éį´ããŠããããŠãŧã ã§ã¯ãĒããããæ´å˛įãĢäŊãčĩˇããŖãĻãããŽããæˇąãæãä¸ããåŋ čĻãããå ´åãĢåããĻãåŽéãŽãã°éį´ããŠããããŠãŧã ã¸ãŽãĒãŗã¯ã፿ããĻããžãã
ããããį§ãŽãæ°ãĢå ĨããŽæŠčŊã¯ããã°ãĢãŧãåããĒããˇã§ãŗã§ãããããã¯ã襨į¤ēãããĻããããããããžããžãĒæšæŗã§ã°ãĢãŧãåãããĒããˇã§ãŗã§ãã ããŽããĨãŧã§ã¯ãåŽéãĢã¯æŦįĒį°åĸã§ã°ãĢãŧãåããĻãããã¨ãããããžãã ãĻãŧãļãŧããåžãããŽãŽ1ã¤ã¯ãããŽã¤ãŗãˇããŗããįēįããã¨ãããã¨ã§ãã ããã¯ããŽå°åãĢãããããšãĻãŽããããį°åĸãĢããŖãĻéį´ãããĻãããããããŽå°åãĢããã¨čĻåãããŽã¯å°éŖã§ããã ããã§ãããããŽãĸã¤ãŗãŗãį°åĸãã¨ã§ã¯ãĒãããĒãŧã¸ã§ãŗãã¯ãŠãšãŋãŧããžãã¯ãŗãããIDãã¨ãĢã°ãĢãŧãåã§ãããĒããˇã§ãŗãæäžããããŠããĒãããã¨č¨ããžããã ãããĢããããĻãŧãļãŧã¯ãã°ãĢãŧãåãããããžããžãĒå¤ãĢåēãĨããĻãããããŽã¨ãŠãŧããŠãã§įēįããĻããããæ¨æ¸Ŧãããã¨ãã§ããžããã åŊŧãã¯ãããĢããããåŽéãĢã¯ãããããŽã¯ãŠãšãŋãŧå ãŽããšãĻãŽãããã¯å¤§ä¸å¤Ģã ã¨č¨ããã¨ãã§ããžãã ããã¯ãããŽã¯ãŠãšãŋãŧãĢäŊããčĩˇããŖãĻãããããããĒãããããŽį°åĸãããŧãĢãĸãĻãããĻããããŽãŗããã ID ãĢäŊãããããããããžããã ãĒããŧãããåŋ čĻããããžãã ã§ããããããŖãŧãããã¯ãåžããã¨ã¯é常ãĢéčĻã§ãã į§ãč¨ãŖããããĢãį§ãŽãæ°ãĢå ĨããŽæŠčŊã¯ãį§ããĄãæãã¤ããžããã§ããã ããã¯į§ããĄãŽãĻãŧãļãŧããį§ããĄãĢä¸ããããžããã
ããĻãããŽčŠąã¯ãį§ããĄãŽãKubernetesããŠããããŠãŧã ãBackstageã§ãŠãŽãããĢč§Ŗæãããã¨ã¯åŧã°ããĻããĒããŽã§ãåããã¨ããŠãŽãããĢčĄããã¨ãã§ããããĢã¤ããĻ芹ããžãããã įŦčĒãŽããŠããããŠãŧã ãæ§į¯ããã¨ããįšã§ã¯ãBackstageãĢKubernetesããŠã°ã¤ãŗãåŽčŖ ããéãŽéŖãããŽ1ã¤ã¯ãäģãŽįĩįšãäŊŋį¨ã§ãããģãŠæąį¨įãĢäŋæãããã¨ã§ãããããã§ããåŽéãĢã¯äžŋåŠã§ããã ãããĻãããŽįįąã¯ãį§ãŽKubernetesãģãããĸãããããĒããŽKubernetesãģãããĸããã¨ã¯į°ãĒãããã§ãã ããļããããĒãã¯åĨãŽčĒč¨ŧãĄãĢããēã ãæãŖãĻããžãã ã¯ãŠãšãŋãŧãŽæ°ãå¤ãå ´åãããã°ãã¯ãŠãšãŋãŧãŽæ°ãå°ãĒãå ´åããããžãã ããžããžãĒã¯ãŠãĻããããã¤ããŧãäŊŋį¨ããĻããžãã äģãŽã¯ãŠãšãŋãŧãĢį°ãĒãããŽãã¤ãŗãšããŧãĢããžãã åĨãŽããĢããããŗãč¨åŽããããžãã ããã¯æŦåŊãĢå ´åãĢãããžãã ããŽãããããŽããŠã°ã¤ãŗãŽæŖããæŊ蹥åãåŊĸæãããã¨ã§ãSpotifyãŽãããĢããšãĻãčĄãå ´åãĢKubernetesããŠã°ã¤ãŗããĒãĒãŧãšããã ãã§ã¯æ¸ãžãĒããããĢããžããã
åŽéãĢ
ããã¯ãKubernetes ããŠã°ã¤ãŗãŽãĒãŧããŗãŊãŧãšåãĢéĸãã 2020 åš´ãŽå ㎠RFC ãããŽããŽã§ãã į§ããĄã¯ãããŽ3ã¤ãŽæŊ蹥åãæãã¤ããžããã åēæŦįãĢã¯ã3ã¤ãŽčŗĒåãĢįãããã¨ãã§ããã°ããããåŽčĄãããã¨ãã§ããžãã ãããĻãã¯ãŠãšãŋãŧãĢ寞ããĻãŠãŽãããĢčĒč¨ŧãããŽã§ãããã? ãĻãŧãļãŧãĢã¯ãŠã¤ãĸãŗã IAM (Google ãĸãĢãĻãŗããĒãŠ) ãäŊŋį¨ãããããŽåžãã¯ãŠãšãŋãŧãĢããããˇãååžããããšãĻãŽãĒã¯ã¨ãšããããŽãĻãŧãļãŧããéäŋĄããããããĢããžããã ãĩãŧããŧå´ãŽãĩãŧããš ãĸãĢãĻãŗããæã¤äēåŽã§ãã? ããšãĻãčĒãŋåãå°į¨ãĢããĻãããããããžããããčǰããããšãĻãčĻããã¨ãã§ããžãã ãããåéĄãããžããã æŦĄãĢãã¯ãŠãšãŋãŧãããã¤ããŧããããããã¯åēæŦįãĢã¯ãŠãšãŋãŧãŽãĩãŧããšããŖãšãĢããĒãŧã§ãã
ããã¯BackstageãĢäŧããĻãããã¨ã§ãããåŽéãĢã¯ãŠãšãŋãŧã¨å¯žčŠąãããããĢã¯ããŠãŽãããĢã¯ãŠãšãŋãŧãčĻã¤ãããŽã§ãããã? ãã㯠config ã§čĄããã¨ãã§ããžãã ãžããAWS EKSã¯ãŠãšãŋãŧãæãã ãã§ãåŽčĄã§ããžãã GCPããã¸ã§ã¯ããĢåããã¨ãããšãĻãŽã¯ãŠãšãŋããšããŖãŗããĻéäŋĄãéå§ããžãã ãžããKubernetesã¯ãŠãšãŋãBackstageãŊãããĻã§ãĸãĢãŋãã°ãĢåãčžŧãŋããããæ å ąæēã¨ããĻäŊŋį¨ãããã¨ãã§ããžãããããã¯ããĒããĄãŋįã§ãããé常ãĢčåŗæˇąãæšæŗã§ãã
æŦĄãĢããĩãŧããšããąãŧãŋãŧããããžãã ããã¯ãããããããĢããããŗãˇãŧãŽč¨åŽãĢæãäžåããããŽã§ãããåēæŦįãĢã¯ããŠãŽã¯ãŠãšãŋã§ãĩãŧããšãåŽčĄãããĻããããį¤ēããĻããžãã ãããŠãĢãã§ã¯ãå°éãŽã¯ãŠãšãŋãŧãĢ寞ããĻã¯ãããšãĻãŽã¯ãŠãšãŋãŧãčĻãĻãããžãã ãããĻãäŊããčĻã¤ãããããããå ąåããžãã ãããĻãããã§ãĒãã¨ãã¯äŊãč¨ããžããã ãã ããåŽčŖ ãčŋŊå ããĻããĩãŧããšãŽã¯ãŠãšãŋãŧã¸ãŽããããŗã°ããĩããŧããããã¨ãã§ããžãã į§ããĄã¯ããŊãããĻã§ãĸãĢãŋãã°ãäŊŋį¨ããĻãããããĒãããŗãēããĒãŧãĒæšæŗã§čĄãæšæŗãĢã¤ããĻãäģãĢããããããŽãĸã¤ããĸãæãŖãĻããžãã
æč¨
ã ããããããããšãĻãããŽæč¨ã ããŽä¸ã§ãįšãĢ大ãããŽã¯ããĻãŧãļãŧã¨čŠąããããŖãŧãããã¯ãæąãããã¨ã ã¨æããžãã į§ãč¨ãŖããããĢãį§ãŽãæ°ãĢå ĨããŽæŠčŊã¯į§ãŽãĸã¤ããĸã§ã¯ãĒããåŽéãĢã¯į´ æ´ããããŖãã§ãã æŦåŊãĢį´ æ´ãããæŠčŊã§ããã æ¯æĨäŊŋãŖãĻããĻãã¨ãĻãäžŋåŠã§ãã ãžããããŠããããŠãŧã ãčŖŊåãŽãããĢæąããžãã į¤žå ãŽããŧãĢã ããã¨ããŖãĻããã æ¨ãĻãããã§ã¯ãããžããã ãããĻãããĒãã¯ãããäŊŋããã¨ãã§ããã¨č¨ããžãã ãåŠį¨ããã ããžããã ããã°ãŖãĻã åŽéãĢãĩããŧããæäžããæ´æ°ããäģåžããããŽããŧãĢããŠãŽãããĢãĩããŧãããããĢã¤ããĻããŖãŧãããã¯ãåžãåŋ čĻããããžãã ãžããã¤ãŗãŋãŠã¯ãˇã§ãŗãã¤ãŗããŠãšããŠã¯ããŖæåã§ã¯ãĒãããĩãŧããšæåãĢãˇãããããã¨ããå§ãããžãã ããã¯č¨ããšããã¨ã ã¨æããžãããĒããĒããã¤ãŗããŠãšããŠã¯ããŖãŽåéĄãĢäēãŽčļŗãč¸ãŋå Ĩãããã¨ãĢčåŗãæãŖãĻãããĻãŧãļãŧããžã ããããã§ãã ããããčǰããããã§ã¯ãĒããã¨ãįĨãŖãĻãããĒããã°ãĒããžããã
ããä¸ã¤ã¯ãããŽåéĄãä¸čŦįãĢãŠãŽãããĢč§Ŗæąēããããčãããã¨ã§ãããã°ãããģãšãčĒååãããã¨ã§ãããããĻããããčĒååããĻãããšãĻãŽãĻãŧãļãŧãŽåéĄãč§Ŗæąēã§ãããããããžããã
ã§ã¯ãįåãĢæããããããããžããããããŽæ°ããã¨ãŠãŧå ąåUIã¯ãã¤ãĒãŧããŗãŊãŧãšããŠã°ã¤ãŗãĢįģå ´ãããŽã§ãããã? åŽã¯ããããã§ãã į§ããĄã¯ããããĒãŧããŗãŊãŧãšåããéį¨ãĢãããžãã ãããããĒãŧããŗãŊãŧãšåããåãĢãUIãĢã¤ããĻããŖãŧãããã¯ããããææĄããããããæŠäŧãå ¨åĄãĢæäžããããŖããŽã§ãã ã¤ãžããBackstageãŽGitHubãŽåéĄãĢãããã¨ãããããžãã
ãæčĻããæ°čģŊãĢãå¯ããã ããã ãããĻãããĒããčããĻãããĒããį§ã¯ãŠãŽãããĢåŠãããã¨ãã§ããžãã? KubernetesãŽãģãããĸãããĢ寞ããĻBackstageãįĩąåã§ããžãã Backstage Discordã§į§ã¨čŠąããã¨ãã§ããžãã Backstage to Kubernetes ããŠã°ã¤ãŗãĢãŗãŗããĒããĨãŧãã§ããžãã į§ã¯ãããšãĻãŽč˛ĸįŽããŗãŧãã§ããåŋ čĻã¯ãĒãããããã¯ãŗãŧãã§ãããšãã§ãããĒãã¨č¨ãããã§ãã ããŽãããããšãããããĨãĄãŗããč¨č¨ãčŖŊåæĻįĨãĢč˛ĸįŽã§ããžãã äēēã ãč˛ĸįŽã§ããããžããžãĒæšæŗããããžãã
æåžãĢãKubernetesã§éįēč ãŽįįŖæ§ãéĢãããŽãæäŧãŖãĻãģããã¨ãéĄãããžãã æŦåŊãĢãããã¨ãããããžããã
čŗĒįåŋį
ããã§å°ãæéããããžãã čǰããäŊãčŗĒåãããããĒãã
ããĒãã¯BackstageããŠãŽãããĢįĩąåãããĻããããĢã¤ããĻį°ĄåãĢ芹ããĻããžãããæäžãããĻãããããã¤ããŧãæŠčŊããĒãå ´åãįŦčĒãŽããŠã°ã¤ãŗãĒãŠãæ¸ããã¨ãã§ãããããã¤ããŧãããã¨æããžãã ãŗããĨãããŖã§ã¯ãSpotifyã§æåãĢäŊæãããããã¤ããŧãĢãããã¤ããŧãčŋŊå ãããã¨ãĢã¤ããĻãããĒãæ´ģįēãĢãĒãŖãĻãããã¨ãããããžããã? įšãĢãBackstageãŽãĻãŧãļãŧãRancherãĢ寞ããĻčĒč¨ŧãčĄããRancherãŽããã¸ã§ã¯ããĒãŠã§åŊŧããŽããŽãĢãĸã¯ãģãšã§ãããããĢãįšãĢRancherããĒããŽä¸éãŦã¤ã¤ãŧã¨ããĻäŊŋį¨ããĻããäēēãčĻããããã¨ã¯ãããžãã? ãããããŗããĨãããŖãŽä¸é¨ã¯ãã§ãĢããŽäŊæĨãŽä¸é¨ãčĄãŖãĻãããŽã§ã¯ãĒããã¨æããžãã
ãããããã¯į´ æ´ãããčŗĒåã§ãã ããããã¤ãŗãã§ãã ãŗããĨãããŖã¯æ´ģįēã§ãããžããžãĒã¯ãŠãĻããããã¤ããŧãĢããžããžãĒåŽčŖ ãæäžããĻãããã¨ãããããžããã? įãã¯ã¤ã¨ãšã§ãããĒããĒãį§ã¯åŽéãĢã¯GoogleãŽããŽã ããåŽčŖ ãããŽã¯ãAWSãŽããŽãAKSãŽããŽãåŽčŖ ããããĒããŖãããã§ãã ããã¯į§ãæ¯æĨããŖãĻãããã¨ã§ã¯ãããžããã į§ã¯ãäģãŽčǰããĢãããĢč˛ĸįŽããæŠäŧãä¸ããããŖããŽã§ãã ãããĻãã¯ãããããĢããŗããĨãããŖã¯ãã§ãĢEKSãããĸãĄãŋãĢãAKSãŽåŽčŖ ãæäžããĻããžãã ãããĻãRancherããããĢããã¨æããžãã ãŗãŗããŧããŗããRancherãããˇãĨããŧããĢį´æĨãĒãŗã¯ãããããŽč˛ĸįŽã¯ééããĒãããã¨æããžãã į§čĒčēĢã¯RancherãäŊŋãŖããã¨ã¯ãããžããããééããĒãããã¨æããžãã æļŧããã
ãžããKubernetesããŠã°ã¤ãŗã¨åŧãã§ããããŽãå°ããããĢã¯ãĒãã¯ããĻããã ããžãã? ããããããããããĢã¯ãĒãã¯ã§ããžãã? ã¤ãžããããã¯Kubernetesã¯ãŠãšãŋãĢãããã¤ããã¨ãŧã¸ã§ãŗããŽãããĒããŽã§ãããŽåžãįŦįĢãããŊãããĻã§ãĸãŽä¸é¨ãĢãĒããŽã§ãããã? ããããããã¯ããĒããŽKubernetesã¯ãŠãšãŋãŧãĢåãčžŧãžããĻãããããĢčĻããžãã ãããĢã¤ããĻããå°ãã芹ãããã ããžããã
ãããããã¯į´ æ´ãããčŗĒåã§ãã ããããŖãĻãåŽéãĢã¯Kubernetesã¯ãŠãšãŋãŧãĢã¤ãŗãšããŧãĢããããŽã§ã¯ãããžããã Backstageã¸ãŽKubernetesããŠã°ã¤ãŗã¯ãããã¤ããŽį°ãĒããŗãŗããŧããŗãã§æ§æãããĻããžãã ãããŗãã¨ãŗããŗãŗããŧããŗãããããããããˇãŽãããĢæŠčŊããããã¯ã¨ãŗãããããžãã ããããŽããžããžãĒKubernetesã¯ãŠãšãŋãŧãæ¤åēããžãã ããã¯ãããããŽã¯ãŠãšãŋãŧãĢ寞ããĻäŊŋį¨ãããããĢæåŽããčĒč¨ŧãããããã¯ãŠãšãŋãŧãĢåŽéãĢéäŋĄããæšæŗãĢãããããžãã ãããĻãåēæŦįãĢã¯ãããããŽKubernetesã¯ãŠãšãŋãŧã¨éäŋĄãããããŽå¤ããŽéĸåãĒäŊæĨãčĄããŽã¯ããããˇã§ãã
ããããį§ãč¨ãŖããããĢããããæŠčŊããããããĢãåŽéãĢã¯Kubernetesã¯ãŠãšãŋãŧãĢäŊãã¤ãŗãšããŧãĢããåŋ čĻã¯ãããžããã åŋ čĻãĒäŊæĨã¯ããĒãŊãŧãšãĢéĸéŖãã Backstage ãŗãŗããŧããŗããĢãŋã°ãäģããĻãčĻã¤ãããããããã¨ã ãã§ãã ãããčĄããĢã¯ã褿°ãŽį°ãĒãæšæŗããããžãã ãžãããããĨãĄãŗããĢã¯ãããŽæšæŗã¨ãããã°æšæŗãĢã¤ããĻå¤ããŽæ å ąããããžãã
ããĻããããããŠã°ã¤ãŗã¨åŧãļã¨ããããŽããŠã°ã¤ãŗã¯KubernetesããŠã°ã¤ãŗã§ã¯ãããžããã ãããããŽéãã§ãã ã¤ãžããããã¯Backstageį¨ãŽBackstage KubernetesããŠã°ã¤ãŗã§ãããKubernetesã§ã¯ãããžããã į´ æ´ãããã ãããã¨ãããããžããã
ãããĢčŠŗãã
- Docker Newsletter ãčŗŧčĒããĻãã ããã
- Docker ããšã¯ããããŽææ°ãĒãĒãŧãšãå Ĩæããžãã
- æŦĄãŽããŽãĢæįĨ¨ããĻãã ãã! å Ŧéããŧããããããčϧãã ããã
- čŗĒåããããžãã? Docker ãŗããĨãããŖããæäŧãããžãã
- ãããĢãŧã¯åããĻã§ãã? å§ããžãããã