á¡á¬ážáá¯á¶ážáááºá¹ááá¬áá«! áá»áœááºáá±á¬á·áºáá¬ááẠPavel Agaletsky áá«á áá»áœááºá¯ááºááẠLamoda ááá¯á·áá±á¬ááºááŸá¯á áá áºá¡á¬áž áá±á¬áºáá±á¬ááºááá·áº á¡ááœá²á·ááœáẠá¡ááœá²á·áá±á«ááºážáá±á¬ááºá¡ááŒá Ạáá¯ááºáá±á¬ááºáá«áááºá 2018 ááœááºá HighLoad++ ááœááºáááá·áºááœáẠáá»áœááºá¯ááºááŒá±á¬áá²á·ááŒá®ážá ááá±á· áá»áœááºá¯ááºáá¡á á®áááºáá¶á á¬á á á¬áá¬ážááŸááºáááºážááᯠáááºááŒááá¯áá«áááºá
áá»áœááºá¯ááºá áá±á«ááºážá ááºááẠááá°áá®áá±á¬ áááºáááºážáá»ááºáá»á¬ážááœáẠá áá áºáá»á¬ážááŸáá·áº áááºáá±á¬ááºááŸá¯áá»á¬áž ááŒáá·áºáá»ááºáá¬ááœáẠáá»áœááºá¯ááºááá¯á·á áá¯áá¹ááá®á á¡ááœá±á·á¡ááŒá¯á¶á¡ááœáẠáááºááœááºáá«áááºá áá»áœááºá¯ááºááá¯á·á áááá¯ááºážááááºáá®á¡áá»áááºáá»á¬ážááŸá áááºá á áá áºá¡á¬ážáá¯á¶ážááᯠáá¬ááẠvirtual áá¬áá¬áá»á¬ážááá¯á· ááŒáá·áºáá»ááºááá¯ááºáá±á¬á¡áá« Nomad á០Kubernetes ááœáẠááŒáá·áºáá»ááºááŒááºážááá¯á· áááŒááºážááŒááºáž áá°ážááŒá±á¬ááºážááœá¬ážááŒááºážááŒáá·áº á¡áá¯á¶ážáááºáá«áááºá á¡á²áá«ááᯠáá¬ááŒá±á¬áá·áºáá¯ááºáá²á·ááá² áá²á· áá¯ááºáááºážá ááºááŸá¬ áááºááá¯á¡áááºá¡áá²ááœá±ááŸááá²á·áá² ááŒá±á¬ááŒáááºá
á¡ááá®áá±ážááŸááºážáá»á¬ážááᯠVM ááá¯á· ááŒáá·áºáá»ááºáá±áááºá
ááœááºáá²á·áá±á¬ 3 ááŸá áºá áá¯áá¹ááá®á á áá áºáá»á¬ážááŸáá·áº áááºáá±á¬ááºááŸá¯áá»á¬ážá¡á¬ážáá¯á¶ážááᯠáá¯á¶ááŸáẠvirtual server áá»á¬ážáá±á«áºááœáẠááŒáá·áºáá»ááºáá»áá¬ážááŒá±á¬ááºážááᯠá áááºááŒáá«á áá¯á·á áááºážááá¬á¡áá áá»áœááºá¯ááºááá¯á·áá áá áºáá»á¬ážá¡ááœáẠáá¯ááºá¡á¬ážáá¯á¶ážááᯠjenkins ááá¯á¡áá¯á¶ážááŒá¯á á¡ááá¯á¡áá»á±á¬áẠáááºáááºááŒááºážáááááá¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á á á¯á ááºážáᬠá á¯á ááºážáá¬ážááŒááºážááŒá áºáá«áááºá Ansible ááᯠá¡áá¯á¶ážááŒá¯á áááºážááᯠáá»áœááºá¯ááºááá¯á·ááá¬ážááŸááºážááááºážáá»á¯ááºááŸá¯á áá áºá០virtual áá¬áá¬áá»á¬ážáᶠááŒáá·áºáá»ááºáá²á·áááºá ááá¯á·á¡ááŒááºá áá»áœááºá¯ááºááá¯á·ááá¯áá¹ááá®ááœááºááŸááá±á¬ á áá áºáá áºáá¯á á®ááᯠá¡áááºážáá¯á¶áž áá¬áᬠ2 áá¯ááœáẠááŒáá·áºáá»ááºáá¬ážáá«áááº- áááºážááá¯á·áá²á០áá áºáá¯ááᯠáŠážáá±á«ááºážáá±á«áºá áá¯ááááá áºáá¯ááẠá¡ááŒá®ážááœáẠááŸááá±áááºá á€á áá áºááŸá áºáá¯ááẠáááºážááá¯á·á áááºáááºáá»á¬ážá áá«áá«á ááœá²á·á ááºážááŸá¯á áááºááŒáá·áº á¡á¬ážáá¯á¶ážááœáẠáá áºáá¯ááŸáá·áºáá áºáᯠáá¯á¶ážááá°áá®áá«áááºá áááºážááá¯á·ááŒá¬ážááŸá áá áºáá¯áááºážáá±á¬ ááŒá¬ážáá¬ážáá»ááºááŸá¬ áŠážáá±á«ááºážááẠá¡áá¯á¶ážááŒá¯áá°á¡ááœá¬ážá¡áá¬ááᯠáááºáá¶áááŸááá²á·ááŒá®áž á¡ááŒá®ážááẠáá¯á¶ážá áœá²áá°á¡ááœá¬ážá¡áá¬ááᯠáááºááá·áºá¡áá«áá»áŸ ááááŸááá²á·áá±á
áá¬á¡ááœááºáá²á
áá»áœááºá¯ááºááá¯á·á á¡ááá®áá±ážááŸááºážá¡áá áºáá»á¬ážááᯠááŒáá·áºáá»ááºá¡áá¯á¶ážááŒá¯áá±á¬á¡áá«á áá¯á¶ážá áœá²áá°áá»á¬ážá¡ááœáẠáááá¬áááºááŸá¬ážáá±á¬ á¡áá»áá¯ážáááºáá»á¬ážáááŸááá² áá»á±á¬ááœá±á·á áœá¬ á¡áá¯á¶ážááŒá¯ááá¯ááºá á±ááẠáá±áá»á¬á á±ááá¯áá«áááºá Ansible ááᯠá¡áá¯á¶ážááŒá¯á áá±á¬ááºáááŒááẠá á¯á ááºážáá¬ážáá±á¬ áá¯ááºáá±ááŸá¯á¡á¬áž á¡ááŒá®ážááá¯ááºážá¡áá ááœáŸáá·áºáááºáá²á·ááŒááºážááŒá±á¬áá·áº áááºážááᯠá¡á±á¬ááºááŒááºáá²á·ááŒááºážááŒá áºáááºá ááá¯áá±áá¬ááœááºá ááŒáá·áºáá»ááºááŸá¯ááœáẠáá«áááºáááºáááºáá°áá»á¬ážááẠá¡áá¬á¡á¬ážáá¯á¶áž áá±á¬ááºážááœááºááŒá±á¬ááºáž áá±áá»á¬á¡á±á¬áẠá á áºáá±ážááá¯ááºáááº- áááºááá áºáá»á¬ážá ááá¹ááá»á¬ážááŸáá·áº á¡ááá®áá±ážááŸááºážáá»á¬ážá¡á¬ážáá¯á¶áž á¡áá¯ááºáá¯ááºáá±áá«áááºá ááá¯á¡ááºáá±á¬ scripts áá»á¬ážááᯠá áááºááá¯ááºáá«ááŒá®á á¡á¬ážáá¯á¶ážá¡áááºááŒá±ááŒá±á¬ááºáž áá°ááá¯á·áá¯á¶ááŒááºááŒá®ážááŸáᬠáá¬ááºá¡ááœá¬ážá¡áá¬ááŒá±á¬ááºážááœá¬ážáá«ááŒá®á áááºážááẠááááºá á¡ááŒá®ážáá«áá±á¬ áá¬áá¬ááá¯á· á áááºááœá¬ážáá²á·áááºá ááááºá áá»áœááºá¯ááºááá¯á·á á¡ááºááºáá®áá±ážááŸááºážá ááááºáá¬ážááŸááºážááᯠáá¬ážááŸááá²ááŒá áºááŒá®ážá ááááºá áŠážáá±á«ááºážááẠá¡áá¯á¶ážááŒá¯áá°á¡ááœá¬ážá¡áá¬áááŸááá² ááŸááá±áá²á·áááºá
áá«ááŒá±á¬áá·áº áá¯á¶ážá áœá²áá°ááœá±á¡ááœáẠáá»á±á¬ááœá±á·á á±áá²á·áá«áááºá á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº áááºážááẠáá»áááºááœááºáá»áŸá¬ááᯠááá¯ážááŸááºážá áœá¬ááŒá±á¬ááºážááŒááºážááŒá áºáá±á¬ááŒá±á¬áá·áº áá°ážááŒá±á¬ááºážááŒááºážááẠáá»ááºáá»ááºážááŒá áºáááºá Balancer ááᯠáá±á¬ááºááá¯á·ááŒá±á¬ááºážáá¯á¶ááŒáá·áº áááºááẠááááºáá¬ážááŸááºážááá¯á· á¡ááœááºááá° ááŒááºááŸáá·áºááá¯ááºáááºá á¡ááá®áá±ážááŸááºážááẠáá¯á¶ážá áœá²áá°á¡ááœá¬ážá¡áá¬ááᯠááááŸááá®áááẠáá¯ááºáá¯ááºááá¯ááºá áœááºážááŸáááŒá±á¬ááºáž á á áºáá±ážááœá±á·ááŸáááá¯ááºáááºá áááºážááẠá¡ááœááºá¡áááºááŒá±áááºá
á€á¡áá¬á¡á¬ážáá¯á¶ážááœáẠáá»áœááºá¯ááºááá¯á· á¡áááºá¡áá»áá¯ážáá»á±ážáá°ážáá»á¬áž ááœá±á·áá²á·ááááºážá
- ááááá¯á¶ážá¡áá±áá²á· áá¯á¶áá±á¬ááºáá«ááŒá®á á¡áá¯ááºááŒá áºáá¯á¶áá«áá²á áá°á¡áá»á¬ážá á¯ááẠáá¯á¶ááŸáẠvirtual áá¬áá¬áá»á¬ážááœáẠá¡áá¯á¶ážááŒá¯áá°ážááŒáá±á¬ááŒá±á¬áá·áº á€áá²á·ááá¯á· ááŒáá·áºáá»ááºááŸá¯á¡á á®á¡á áẠáááºááá¯á·á¡áá¯ááºáá¯ááºáááºááᯠáá°ááá¯ááºážáá¬ážáááºáá«áááºá
- áá«á áá¯á¶áá±á¬ááºáá«áááºá áá¯á¶ááŒááºá áááºáá»ááá±á¬ááŒáá·áºáá»ááºáááºážááá¬ááẠááá¯ážááŸááºážáá±á¬ááŒá±á¬áá·áº áá¯áá¹ááá®áá±á¬ááºáá±á«ááºážáá»á¬ážá áœá¬á á ááºážáááºáááºá á€áááºážááŒáá·áº áá¬áá¬áááºážáá±á«ááºážáá»á¬ážá áœá¬ááᯠá¡áá¯á¶ážáá»áááºá áá áºáá¯áá¯ááᯠáá»áá¯ážáá»ááºááá¯á· áááºáááºá
- áá±á¬ááºáá¯á¶ážáá±á¬á· áá»áœááºáá±á¬áºááá¯á· áááá¯ááºáá²á·áááºá á¡áá¯ááŒá°áá¯á¶áž ááŒáá·áºáá»ááºááŸá¯. áá¬ážááŸááºážá¡áá±á¬ááºážááŸáá·áº á¡áá áºááŒá¬ážáááá¬áááºááŸá¬ážáá±á¬á¡ááá·áºááá¯á· áá°ážááŒá±á¬ááºážááŒááºážáááŸááá² áá¯á¶ážá áœá²áá°áá»á¬ážá¡ááœáẠáááŒáá¯ááºáááºáááºáž ááŒá áºáá±á«áºáá¬áá±á¬ ááŒáá·áºáá»ááºááŸá¯áá»á¬ážá
ááá¯á·áá±á¬áº á€á¡áá¬á¡á¬ážáá¯á¶ážááœáẠáá»áá¯á·ááœááºážáá»ááºáá»á¬ážá áœá¬ááá¯áááºáž áá»áœááºá¯ááºááá¯á·ááœá±á·áá²á·ááááº-
- áá¯ááºáá¯ááºááŸá¯áááºáááºážáá»ááºá ááœá¶á·ááŒáá¯ážááá¯ážáááºáá±ážáááºáááºážáá»ááºá¡ááŒáẠá¡ááŒá¬ážáááºáááºážáá»ááºáá»á¬ážáááºáž ááŸááá±ážáááºá á¥ááᬠqa ááŸáá·áº preproductioná ááá¯á¡áá»áááºááœáẠáá»áœááºá¯ááºááá¯á·ááœáẠáá¬áá¬áá»á¬ážá áœá¬ááŸáááŒá®áž áááºáá±á¬ááºááŸá¯ 60 ááá·áºááŸááááºá á€á¡ááŒá±á¬ááºážááŒá±á¬áá·áº ááá¯á¡ááºáá«áááºá áááºáá±á¬ááºááŸá¯áá áºáá¯á á®á¡ááœááºá áááºážá¡ááœáẠáá±á¬ááºáá¯á¶ážááœááºáá¬ážááŸááºážááᯠááááºážááááºážáá«á virtual á ááºá ááá¯á·á¡ááŒááºá áááºááẠá á¬ááŒáá·áºááá¯ááºáá»á¬ážááᯠá¡ááºááááºáá¯ááºááẠááá¯á·ááá¯áẠááŸá®ááá¯ááŸá¯á¡áá áºáá»á¬ážááᯠááá·áºááœááºážááá¯áá«áá áááºáááºážáá»ááºá¡á¬ážáá¯á¶ážááœáẠáááºážááᯠáá¯ááºáá±á¬ááºááẠááá¯á¡ááºáááºá devops ááẠááá¯á¡ááºáá±á¬ áááºáááºážáá»ááºáááºáááºáá»á¬ážááᯠáá¯ááºáá±á¬ááºááá·áºá¡áá»áááºááŸáá·áº ááá·áºá¡ááá®áá±ážááŸááºážááá±á¬ááºáááºáá¬ážááŸááºážá¡áá áºááᯠá¡áá¯á¶ážáá»ááá·áºá¡áá»áááºááᯠáááºáá°ááŒá¯áááºáááºáž ááá¯á¡ááºáá«áááºá á€á¡ááŒá±á¡áá±áá»áá¯ážááœááºá áá»áœááºá¯ááºááá¯á·ááááºáááºážáá»ááºááẠáááºáááºážáá»ááºá¡á¬ážáá¯á¶ážááœáẠá¡áááºážáááºááœá²ááŒá¬ážááœá¬ážááá·áº á¡ááŒá±á¡áá±áá áºáá¯ááá¯á· áá áºááŒáá¯ááºáááºáá±á¬ááºááŸáááẠááœááºáá°áá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá QA áááºáááºážáá»ááºááœáẠá á¬ááŒáá·áºááá¯ááºáá»á¬ážá áá¬ážááŸááºážá¡áá»áá¯á·ááŸááááºááŒá áºááŒá®áž áá¯ááºáá¯ááºááŸá¯áááºáááºážáá»ááºááœáẠááŒá¿áá¬áá»á¬ážááŒá áºáá±á«áºá á±ááá·áº ááœá²ááŒá¬ážááá·áºá¡áá¬áá»á¬áž ááŸááááá·áºáááºá
- ááŸá®ááá¯ááŸá¯ááᯠá¡ááºááááºáá¯ááºáá¬ááœáẠáááºáá²ááŒááºážá áááºááá»áŸá±á¬ááºááœáŸá¬á á¡á²áá«á áááºážá¡áá±á«áºááŸá¬ááá°áááºáá² áááŒá¬ážá¡áááºážá¡áá±á«áºááŸá¬áá°áááºáááºá ááŒá±á¬ááááºá áá¬áá¬ááœá±ááᯠááááºážááááºážáá²á· devops á¡ááœá²á·ááá±á áááºááẠáááºážááá¯á·á¡á¬áž ááá·áºáá»á±á¬áºáá±á¬ á¡áá¯ááºáá áºáá¯ááŸáá·áº áááºááŒá¯áá¯ááºááá¯ááá·áº á¡ááŒá±á¬ááºážá¡áá¬ááᯠáá±á¬áºááŒáá»ááºáá±ážááááºá
- ááá¯á¡áá»áááºááœááºá áá»áœááºá¯ááºááá¯á·ááẠáááºážááá¯á·áá²á០ááá¯áá»á¬ážáá¬áááºááᯠáá»áœááºá¯ááºááá¯á· áá¬ážáááºáá¬ážáá±á¬ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·á ááŒá®ážáá¬ážáá±á¬ ááŒá®ážáá¬ážáá±á¬ áááºáá±á¬ááºááŒá®ážáá»á¬ážááᯠáá®ážááŒá¬ážá¡áá±ážá á¬ážá¡ááŒá Ạááá¯ááºážááŒá¬ážááá¯áá«áááºá ááá¯á¡áá»áááºááœááºá áááºážááá¯á·áá²á០100 áá»á±á¬áºááŸááá±ááŒá®ááŒá áºáááºá áááºáá±á¬ááºááŸá¯á¡áá áºáá áºáá¯á á®á¡ááœááºá ááááºážááááºážáááºááŸáá·áº á¡áá¯á¶ážááŒá¯ááẠááá¯á¡ááºááá·áº áá®ážááŒá¬áž virtual machine á¡áá áºáá áºáá¯ááᯠáááºáá®ážááẠááá¯á¡ááºáá«áááºá ááá¯á·á¡ááŒááºá áááºáá¬ážáá áºá á®ážáááºážáááá¯á¡ááºáá«á á¡áááºážáá¯á¶ážááŸá áºá á®ážá á€á¡áá¬á¡á¬ážáá¯á¶ážááᯠQA áááºáááºážáá»ááºááœáẠáá±á«ááºážááá·áºáá¬ážáááºá áááºážááẠááŒá¿áá¬áá»á¬ážááᯠááŒá áºá á±ááŒá®áž á áá áºá¡áá áºáá»á¬ážááᯠáááºáá±á¬ááºááŒá®áž áá¯ááºáá±á¬ááºááẠááá·áºá¡ááœáẠááá¯ááá¯áááºáá²á á±áááºá ááŸá¯ááºááœá±ážá áá±ážááŒá®ážááŒá®áž ááŸááºáá»á¬ážáá±á¬ áá¯ááºáááºážá ááºá
ááá¯á·ááŒá±á¬áá·áºá áá¯á¶ááŸáẠvirtual machines áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒááºážá០áá»áœááºá¯ááºááá¯á·á application áá»á¬ážááᯠdocker container ááœáẠá¡áá¯á¶ážááŒá¯ááŒááºážááá¯á· ááœáŸá±á·ááẠááá¯ááá¯á¡áááºááŒá±áááºáᯠáá»áœááºá¯ááºááá¯á· áá¯á¶ážááŒááºáá²á·áááºá ááá·áºááœáẠdocker ááŸááá«áá áááºááẠááœááºááááºáá¬ááá¯áááºáá¯á¶ááŒáá·áº ááá±á¬ááºááœááºááá¯ááºáá±á¬ááŒá±á¬áá·áº á¡á á¯á¡ááœá²á·áá áºáá¯á¡ááœááºáž á¡ááá®áá±ážááŸááºážááá¯áááºáááºááá¯ááºááá·áºá áá áºáá áºáᯠááá¯á¡ááºáá«áááºá á¡áá»á¬ážá¡á¬ážááŒáá·áº áááºááẠááœááºááááºáᬠáááºáá»áŸ áá¯ááºááááºážááŒá±á¬ááºážááᯠááŒá±áá¬áá¶ááẠá¡ááá¯á¡áá»á±á¬áẠááœáŸáá·áºáááºááẠááá¯áááºá ááá¯á·ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááẠááááºážáá»á¯ááºááŸá¯á áá áºááᯠááœá±ážáá»ááºááẠááá¯á¡ááºáá«áááºá
áááºáá¬áá°ááá¯á·áááá² ááá¯áá¬ááᯠá¡áá»áááºá¡áá±á¬áºááŒá¬á¡á±á¬áẠá ááºážá á¬ážáá²á·áá«áááºá á¡ááŸááºááŸá¬ ááá¯á¡áá»áááºá áá¯á¶ááŸáẠvirtual server áá»á¬ážáá±á«áºááœáẠá€ááŒáá·áºáá»ááºááŸá¯ stack ááẠá¡áááºááẠáá±ááºáá±á¬ááºáá»áá±ááŒá®ááŒá áºáá±á¬ááŒá±á¬áá·áº áááºážááá¯á·ááœáẠoperating system ááá±á¬ááºáá¯á¶ážááœááºáá¬ážááŸááºážáá»á¬ážáááŸááá±á¬ááŒá±á¬áá·áºááŒá áºáááºá áá áºáá»áááºáá»áááºááœááºá áá¶á·ááá¯ážáááºá¡ááœááºá¡áááºááŒá±áá±á¬ FreeBSD áááºááŸááá²á·áááºá Docker ááá¯á· áááºááá¯ááºááá»áŸ ááŒááºááŒáẠááŒá±á¬ááºážááœáŸá±á·ááẠááá¯á¡ááºááŒá±á¬ááºáž áá»áœááºá¯ááºááá¯á· áá¬ážáááºáá«áááºá áá»áœááºá¯ááºááá¯á·áá¡ááœá²á·áá¬ážáá»á¬ážááẠáááºážááá¯á·ááááºááŸáá¡ááœá±á·á¡ááŒá¯á¶ááᯠááá°áá®áá±á¬ááŒá±ááŸááºážáááºážáá»á¬ážááŒáá·áº ááŒáá·áºááŸá¯ááŒá®áž Nomad áá²á·ááá¯á·áá±á¬ á áá áºáá áºáá¯ááᯠááœá±ážáá»ááºáá²á·áááºá
Nomad ááá¯á·ááŒá±á¬ááºážáá«á
Nomad ááẠHashiCorp á áá¯ááºáá¯ááºáá áºáá¯ááŒá áºáááºá áááºážááá¯á·ááẠáááºážááá¯á·á á¡ááŒá¬ážáá±á¬ ááŒá±ááŸááºážáááºážáá»á¬ážá¡ááœááºáááºáž áá°áááá»á¬ážáááºá
"áá±á¬ááºá
á
áºáááº" áááºáá±á¬ááºááŸá¯ááŸá¬ááœá±ááœá±á·ááŸáááŸá¯á¡ááœáẠáááááá¬áá
áºáá¯ááŒá
áºáááºá
"ááŒá±ááŒááº" - ááœá²á·á ááºážááŸá¯á áá áºááŒáá·áº áááºážááá¯á·ááᯠconfigure áá¯ááºááœáá·áºááŒá¯áá±á¬ áá¬áá¬áá»á¬ážááᯠá á®áá¶ááá·áºááœá²ááẠá áá áºáá áºáá¯á áá¯áá±á«áºáá±á¬ infrastructure-as-a-codeá
"áá±ááœáá·áº" áá®ážááá·áºááœá²á·á ááºážáá¯á¶ááá¯ááºáá»á¬ážááŸáá áºááá·áº virtual machines áá»á¬ážááᯠá ááºááœááºáž ááá¯á·ááá¯áẠcloud ááœáẠá¡áá¯á¶ážáá»ááá¯ááºá á±áá«áááºá
ááá¯á¡áá»áááºá Nomad ááẠá¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶áá áºáá¯áá¯á¶ážááᯠáááŒá±á¬ááºážáá²áá² áá»ááºááŒááºá áœá¬ááŒá±á¬ááºážáá²ááá¯ááºáá±á¬ ááá¯ážááŸááºážáá±á¬ááŒá±ááŸááºážáá»ááºáá áºáá¯ááá¯áá¯á¶ááááºá ááá¯á·á¡ááŒááºáááºážáááºáááºáá°áááºá¡áá±á¬áºáá±ážááœááºáá°áááºá ááá¯á·ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááẠáááºážááᯠáá»áœááºá¯ááºááá¯á·áááœááºááááºáá¬á¡ááœáẠá á áºáá¯ááºááá·áºá áá áºá¡ááŒá Ạááœá±ážáá»ááºáá²á·áááºá
ááá·áºá áá áºááᯠNomad ááá¯á· á¡áá¯á¶ážáá»ááẠáááºáá¬ááá¯á¡ááºááááºážá
- ááááá¯á¶ážá¡áá±áá²á· áááºááá¯á¡ááºáá«áááºá docker áá¯á¶ áááºááá»áŸá±á¬ááºááœáŸá¬á áááºážááá¯áááºáá±á¬ááºááŒá®áž docker image repository ááœááºáá¬ážáááºááá¯á¡ááºáááºá áá»áœááºá¯ááºááá¯á·áá¡ááŒá±á¡áá±ááœááºá á€á¡áá¬ááẠá¡áá»áá¯ážáá»áá¯ážáá±á¬ ááŸá±ážáá±á¬ááºážáá á¹á ááºážáá»á¬ážááᯠáááºážáá²ááá¯á· ááœááºážááá¯á·ááá¯ááºááá·áº á áá áºáá áºáá¯ááŒá áºáááºá áááºážááẠáá±á¬áºááœááºážááá¯ááºáá»á¬ážá docker áá¯á¶áá»á¬ážá áá±ážááœá²á·áá° PHP áááºáá±á·ááºá»áá»á¬ážá NPM áááºáá±á·áá»áºáá»á¬ážááŸáá·áº á¡ááŒá¬ážá¡áá¬áá»á¬ážááᯠááááºážáááºážááá¯ááºáááºá
- ááá¯á¡ááºáááºáá»á¬ážáááºážááŸááááºá configuration ááá¯ááºNomad ááẠáááºááá·áºáá±áá¬á áááºááá·áºááá¬áááœáẠáááºá¡áá¯á¶ážááŒá¯ááá¯áááºááᯠááŒá±á¬ááŒáá«áááºá
Nomad á¡ááŒá±á¬ááºážááŒá±á¬áá±á¬á¡áá«á áááºážááẠHCL áá¬áá¬á áá¬ážááᯠáááºážá á¡áá»ááºá¡áááºááá¯ááºáá±á¬áºáááºá¡ááŒá Ạá¡áá¯á¶ážááŒá¯áááºá HashiCorp ááœá²á·á ááºážááŸá¯áá¬áá¬á áá¬áž. áááºážááẠááá·áºáááºáá±á¬ááºááŸá¯ááᯠNomad áá±á«áá¬ááá»á¬ážááŒáá·áº áá±á¬áºááŒááá¯ááºá á±ááá·áº Yaml á superset áá áºáá¯ááŒá áºáááºá
áááºážááẠáááºá¡áá¯á¶ážááŒá¯ááá¯ááá·áº ááœááºááááºáᬠáááºáá»áŸááŸááááºááᯠááŒá±á¬ááŒá¬ážááá¯ááºá
á±áá¬á á¡áá¯á¶ážáá»ááŸá¯á¡ááœááºáž áááºážááá¯á·áᶠá¡áá»áá¯ážáá»áá¯ážáá±á¬ áá±á¬ááºáá»á¬ážááᯠááŒááºáááºážááẠáá¯á¶áá»á¬ážá០ááœáá·áºááŒá¯áááºá ááá¯á·ááŒá±á¬áá·áº áááºááẠá€ááá¯ááºááᯠNomad ááá¯á· áá»áœá±ážááœá±ážááŒá®áž áááºážááẠáááºážááŸáá·áºá¡áá® ááœááºááááºáá¬áá»á¬ážááᯠáá¯ááºáá¯ááºááŸá¯ááá¯á· á
áááºá
á±áááºá
áá»áœááºá¯ááºááá¯á·áááá á¹á ááœááºá áááºáá±á¬ááºááŸá¯áá áºáá¯á á®á¡ááœáẠáá¯á¶ážááá°áá®áá±á¬ HCL ááá¯ááºáá»á¬ážááá¯áá±ážáá¯á¶áá»áŸááŒáá·áº áááºáá±á¬ááºááŸá¯áá»á¬ážá áœá¬ááŸáááŒá®áž áá áºáá«áá áºáá¶ááœáẠáááºážááá¯á·ááᯠáááºááœááºážáá¶ááá¯áá±á¬ááŒá±á¬áá·áº á¡ááœááºá¡áááºááŒá±áááºááá¯ááºááŒá±á¬ááºáž áá»áœááºá¯ááºááá¯á·ááá±á¬áá±á«ááºáá«áááºá áááºáá±á¬ááºááŸá¯áá áºáá¯ááẠá¥ááá¬áá áºáá¯ááœááºááá¯ááºáá² ááá°áá®áá±á¬ á¡áá»áá¯ážáá»áá¯ážáá±á¬áááºáá±á¬ááºááŸá¯áá»á¬ážááœáẠá¡áá¯á¶ážááŒá¯ááŒááºážááŒá áºáá±áááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááœááºááŸááá±á¬ áá¯ááºáá¯ááºááŸá¯á áá áºáá áºáá¯ááẠáá¯ááºáá¯ááºááŸá¯ááœáẠáá¬áá 100 áá»á±á¬áºááŸááááºá áááºážááá¯á·ááẠáá°áá®áá±á¬áá¯á¶áá»á¬ážá០áá¯ááºáá±á¬ááºáá±áá±á¬áºáááºáž ááœá²á·á ááºážááŸá¯áááºáááºáá»á¬ážááŸáá·áº ááœá²á·á ááºážááŸá¯ááá¯ááºáá»á¬ážááœáẠááœá²ááŒá¬ážáááºá
ááá¯á·ááŒá±á¬áá·áºá áá¯á¶ááá¯ááŸá±á¬ááºááŸá¯áá áºáá¯ááœáẠááŒáá·áºáá»ááºááŒááºážá¡ááœáẠáá»áœááºá¯ááºááá¯á·á configuration ááá¯ááºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠááááºážáááºážááẠá¡áááºááŒá±áááºáᯠáá»áœááºá¯ááºááá¯á· áá¯á¶ážááŒááºáá²á·áááºá á€áááºážááŒáá·áº áááºážááá¯á·ááᯠááŒááºááá¯ááºáááº- áááºážááá¯á·ááᯠááááºážááááºážááẠááœááºáá°ááŒá®áž áá»áœááºá¯ááºááá¯á·ááœáẠáááºááá·áºá áá áºáá»á¬áž ááŸááááºááᯠáá»áœááºá¯ááºááá¯á· ááŒááºááœá±á·ááá¯ááºáááºá ááá¯á¡ááºáá«á áá áºáá¯áá¯ááᯠá¡ááºááááºáá¯ááºááẠááá¯á·ááá¯áẠááŒá±á¬ááºážáá²áááºáááºáž ááœááºáá°áá«áááºá á áá áºá¡áá áºáá áºáá¯ááá·áºááŒááºážáááºáááºáž ááááºáá²áá« - áááºááẠáááºážááœáŸááºá¡áá áºá¡ááœááºážááœáẠááœá²á·á ááºážááŸá¯ááá¯ááºáá áºáá¯ááᯠáááºáá®ážáááºáá¬ááá¯áááºá áááºážáá¡ááœááºážááœáẠá¡á±á¬ááºáá«ááá¯ááºáá»á¬ážáá«ááŸááááº- service.hclá áá»áœááºá¯ááºááá¯á·ááááºáá±á¬ááºááŸá¯ááá±á¬áºááŒáá»ááºáá«ááŸááá±á¬á ááŸáá·áº á€áááºáá±á¬ááºááŸá¯ááᯠáá¯ááºáá¯ááºáá¬ááœáẠááŒáá·áºáá»ááºáá»áá¬ážááŒááºážááᯠááœáá·áºááŒá¯áá¬ážááá·áº á¡áá»áá¯á·áá±á¬ env ááá¯ááºáá»á¬ážáá«ááŸááááºá
ááá¯á·áá±á¬áºá áá»áœááºá¯ááºááá¯á·áá
áá
áºá¡áá»áá¯á·ááᯠáá±á¬áºáá®áá
áºáá¯áááºážááœááºááá¯ááºáá² á¡áá»á¬ážá¡ááŒá¬ážáá¯ááºáá¯ááºáá¬ááœáẠáá
áºááŒáááºáááºážááœáẠá¡áá¯á¶ážááŒá¯áá¬ážáááºá ááá¯á·ááŒá±á¬áá·áºá configs áá»á¬ážááᯠáááºážááá¯á·á ááá·áºá
ááºáá±á¬áá¯á¶á
á¶ááœááºááá¯ááºáá² áááºážááá¯á·á áá¯á¶á
á¶ááœááºáá¯á¶á
á¶ááŒáá·áº ááááºážáááºážááẠá¡áááºááŒá±áááºáᯠáá»áœááºá¯ááºááá¯á· áá¯á¶ážááŒááºáá²á·áááºá ááŒá®ážáá±á¬á· áá«ááá¯á· ááœá±ážáááºá áá»ááºáž á. á€áá±á¬áºáááºááœááºá áá»áœááºá¯ááºááá¯á·ááẠáááºáá±á¬ááºááŸá¯ááá¯ááºááá¯ááºááŸáá·áº áááºážá¡ááœáẠááá¯á¡ááºáá±á¬ env ááá¯ááºááŸá
áºáá¯áá¯á¶ážááᯠááááºážáááºážáá¬ážáááºá
ááá¯á·á¡ááŒááºá áá»áœááºá¯ááºááá¯á·ááẠááá±á¬áá»ááºá¡á¬ážáá¯á¶ážá¡ááœáẠá¡áá¯á¶ážáá»á¬ážááá·áº ááŒáá·áºáá»ááºááŸá¯ script ááᯠááá¯ááŸá±á¬ááºáá¯á¶ááœáẠáá¬ážááŸááá¬ážááŒá®ážá ááá·áºáááºáá±á¬ááºááŸá¯ááᯠáá¯ááºáá¯ááºááŒááºážá ááá¯áá»ááºáá±á¬áááºáááºážáá»ááºááá¯á· ááá¯áá»ááºáá±á¬áá áºááŸááºááá¯á· á áááºá¡áá¯á¶ážááŒá¯ááá¯ááºá á±áááºááŸáá·áº á¡áá¯á¶ážáá»ááá¯ááºá á±áá«áááºá áá»áœááºá¯ááºááá¯á·á HCL config ááᯠtemplate á¡ááŒá áºááŒá±á¬ááºážáá±á¬á¡áá«ááœááºá ááááºá áá¯á¶ááŸáẠNomad config ááŒá áºáá²á·ááá·áº HCL ááá¯ááºááẠá€ááá á¹á ááœáẠá¡áááºážáááºááœá²ááŒá¬ážááœá¬ážáá«áááºá
ááá¯ááá¯áááºááŸá¬á áá»áœááºá¯ááºááá¯á·ááẠenv ááá¯ááºáá»á¬áž ááá¯á·ááá¯áẠá¡ááŒá¬ážáááºážááŒá
áºáá»á¬ážá០áá°áá±á¬ááºááœá¬ážáá±á¬ ááŒá±á¬ááºážáá²ááá¯ááºáá±á¬ ááá·áºááœááºážááŸá¯áá»á¬ážááŒáá·áº á¡áá»áá¯á·áá±á¬ config áááºáá±áᬠvariable áá»á¬ážááᯠá¡á
á¬ážááá¯ážáá²á·áááºá ááá¯á·á¡ááŒááºá áá»áœááºá¯ááºááá¯á·ááẠHCL ááá¯ááºáá»á¬ážááᯠááá¯ááºážááá
áºááŒáá·áº á
á¯áá±á¬ááºážááẠá¡ááœáá·áºá¡áá±ážááá²á·áááºá ááá¯ááá¯áááºááŸá¬á áá»áœááºá¯ááºááá¯á·ááẠáá¬áááºáááŒá±á¬ááºážáá²ááá¯ááºáá±á¬ ááá·áºááœááºážááŸá¯áá»á¬ážááá¯áᬠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá jinja ááẠloops ááŸáá·áº condition áá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáá±á¬ááŒá±á¬áá·áºá áááºááẠáááºá application á¡ááá¡áá»ááᯠáá±áá¬áá»áá¬ážááŸá¯á¡áá±á«áº áá°áááºá ááŒá±á¬ááºážáá²ááá¯ááºáá±á¬ configuration files áá»á¬ážááᯠáááºáá®ážááá¯ááºáááºá
á¥ááá¬á¡á¬ážááŒáá·áºá áááºááẠáááºááááºáá±á¬ááºááŸá¯ááᯠááá¯ááºáá¯ááºáá®ááŸáá·áº áá¯ááºáá¯ááºáá±ážááœáẠá¡áá¯á¶ážáá»ááá¯áááºá áá¯ááºáá¯ááºáá±ážáááá¯ááºáá®ááœáẠáááºááẠcron scripts áá»á¬ážááá¯ááá¯ááºáá±á¬ááºáá»ááºáá±á¬áºáááºáž áááºážáááºá¡áá¯ááºáá¯ááºááŒá±á¬ááºážáá±áá»á¬á á±ááẠáá®ážááŒá¬ážááá¯ááááºážááœáẠáááºáá±á¬ááºááŸá¯ááá¯ááŒááºááá¯áááºááá¯ááŒáá«á áá¯á·á áááºáá±á¬ááºááŸá¯ááᯠá¡áá¯á¶ážááŒá¯áá°ááá¯ááºážá¡ááœááºá áá¯ááºáááºážá ááºááẠá¡ááœááºááá¯ážááŸááºážááŒá®áž ááœáá·áºáááºážááŒááºáá¬ááŸá¯ááŸááááºá áááºáá¯ááºáá±á¬ááºááẠááá¯á¡ááºáááºááŸá¬ deploy.sh ááá¯ááºááᯠexecute ááŒá áºááŒá®áž áááºá¡áá¯á¶ážááŒá¯ááá¯áá±á¬ áááºáá±á¬ááºááŸá¯ááŸáá·áº áááºááá·áºáá áºááŸááºááᯠáááºááŸááºáá«á á¥ááá¬á¡á¬ážááŒáá·áºá áááºááẠáá¯ááŸá¬ážá áá®áá¬áá¯á Ạááá¯á·ááá¯áẠáá¬áááºá áááºááœáẠá¡áá»áá¯á·áá±á¬á áá áºáá áºáá¯ááᯠá¡áá¯á¶ážáá»ááá¯áááºá áááºážááá¯ááŒá¯áá¯ááºáááºá ááá·áºáááºáá»ááºáá»á¬ážáá²ááŸáá áºáá¯ááá¯ááŒá±á¬ááºážáá«á ááŸááºáááºáá±á¬ááœá²á·á ááºážááŸá¯ááá¯ááºááá¯áááºááááá·áºáááºá
Nomad áááºáá±á¬ááºááŸá¯ááᯠááá·áºá¡á á¯á¡áá±ážááœáẠááŒáá·áºáá»ááºáá¬ážááŒá®ážáá±á¬á¡áá«á áááºážááẠá€áá²á·ááá¯á· ááŒá áºáá¯á¶ááááºá
ááááŠážá
áœá¬á á¡áá¯á¶ážááŒá¯áá°á¡ááœá¬ážá¡áá¬á¡á¬ážáá¯á¶ážááá¯áááºáá¶ááá·áºá¡ááŒááºáááºááœáẠbalancer áá
áºáá»áá¯ážáá»áá¯ážááá¯á¡ááºáá«áááºá áááºážááẠáá±á¬ááºá
á
áºáááºááŸáá·áº áááºááœá²áá¯ááºáá±á¬ááºáááºááŒá
áºááŒá®áž ááá¯ááááºážá¡áááºáá
áºáá¯ááŸáá·áº áááºááá¯ááºááá·áº áá®ážááŒá¬ážáááºáá±á¬ááºááŸá¯áá
áºáá¯áááºááŸááá¬áá±áá¬á áááºááá·áºáá±áá¬á áááºááá·áº IP ááááºá
á¬ááœáẠáááºááá·áºáá±áá¬á០ááŸá¬ááœá±ááœá±á·ááŸááááºááŒá
áºáááºá áá±á¬ááºá
á
áºáááºááŸááááºáá±á¬ááºááŸá¯áá»á¬ážááẠNomad ááá¯ááºááá¯ááºááŸááŒá
áºáááºá áááºážááá¯á·ááẠáá¯áá¹ááá®áá
áºáá¯áááºážá០áá¯ááºáá¯ááºáá»á¬ážááŒá
áºáá±á¬ááŒá±á¬áá·áº áááºážááá¯á·ááẠáá
áºáá¯ááŸáá·áºáá
áºáᯠá¡áá±á¬áºáá±áž áááºá
ááºáá±áá«áááºá Nomad ááẠConsul á¡ááœááºážááŸá áááºážá áááºáá±á¬ááºááŸá¯á¡á¬ážáá¯á¶ážááᯠá
á¬áááºážááœááºážááá¯ááºáááºáᯠáá»áœááºá¯ááºááá¯á·ááŒá±á¬ááá¯ááºáááºá
áááºá front-end load balancer á០áááºááá·áºáááºáá±á¬ááºááŸá¯ááá¯á· traffic áá±ážááá¯á·ááááºááᯠááááŸáááŒá®ážáááºááŸáá·áº áááºážááẠáááºážááᯠááá·áºá¡ááá®áá±ážááŸááºážááŸáá·áºááá¯ááºáá®áá±á¬ ááá·áºáá»á±á¬áºáá±á¬ááœááºááááºáᬠááá¯á·ááá¯áẠááœááºááááºáá¬áá»á¬ážá áœá¬ááá¯á· áá±ážááá¯á·áá«áááºá ááá¬áá¡ááá¯ááºážá áá±ážáááºážáá±ážááá¯áááºáž á ááºážá á¬ážááá¯á· ááá¯áá«áááºá áááºáá±á¬ááºááŸá¯á¡á¬ážáá¯á¶ážááẠááœááºááááºáá¬á¡ááœááºážááŸá áá°áá®áá±á¬ virtual machines áá»á¬ážááœáẠá¡áá¯ááºáá¯ááºáá±á¬áºáááºážá áááºážááẠáá»á¬ážáá±á¬á¡á¬ážááŒáá·áº á¡ááŒá¬ážáááºááá·áºáááºáá±á¬ááºááŸá¯á០á¡ááá²á·áááºáá±á¬ááºááœáá·áºááᯠáá¬ážáá®ážááẠááá¯á¡ááºáá«áááºá áá«ááᯠá¡ááá¯ááºážááœá²ááŒááºážá¡á¬ážááŒáá·áº áá»áœááºáá±á¬áºááá¯á· á¡á±á¬ááºááŒááºáá²á·áá«áááºá áááºáá±á¬ááºááŸá¯áá áºáá¯á á®ááᯠáááºážáááá¯ááºááá¯áẠvirtual network ááœáẠá áááºáá¯ááºáá±á¬ááºáá²á·ááŒá®ážá á¡ááŒá¬ážá áá áºáá»á¬ážááŸáá·áº áááºáá±á¬ááºááŸá¯áá»á¬ážááá¯á· áááºáá±á¬ááºááœáá·áº/ááŒááºážáááºááŒááºážá¡ááœáẠáááºážááŒá±á¬ááºážá ááºážáá»ááºážáá»á¬ážááŸáá·áº á ááºážáá»ááºážáá»á¬ážááᯠáááºááŸááºáá±ážáá¬ážáááºá áááºážááá¯á·ááẠá€á¡á á¯á¡áá±ážá¡ááœááºážááœááºáá±á¬ áááºážá¡ááŒááºáááºááœááºáá« áááºááŸáááá¯ááºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá áááºááẠáááºáá±á¬ááºááŸá¯áá áºáá¯á¡á¬áž áá®ážááŒá¬ážáá±áá¬áá±á·á áºáá áºáá¯ááá¯á· áá»áááºáááºááŒááºážá០áá¬ážáá®ážááá¯áá«áá áááºážááᯠnetwork-level segmentation ááŸáááá·áº áá¯ááºáá±á¬ááºááá¯ááºáááºá ááá¯ááá¯áááºááŸá¬á á¡ááŸá¬ážááŒá±á¬áá·áºáááºá áááºááẠá ááºážáááºááŸá¯áááºáááºážáá»ááºá០áááºááá¯ááºáá¯ááºááŸá¯áá±áá¬áá±á·á áºááá¯á· ááá±á¬áºáááá»áááºáááºááááá«á
á¡áá°ážá¡ááŒá±á¬ááºážá áá°áá¬ážá¡áááºážá¡ááŒá áºáá²á· áááºáááºááŒá®áž áá»áœááºáá±á¬áºááá¯á·ááᯠáááºáá±á¬ááºáá¯ááºáá»áá²á·áá²á
áá¯áá¹ááá®áá áºáá¯áá¯á¶ážá Nomad ááá¯á· áá°ážááŒá±á¬ááºážááŸá¯ááẠááá·áºááŸááºážááŒá±á¡á¬ážááŒáá·áº 5-6 áááŒá¬áááºá áá»áœááºá¯ááºááá¯á·ááẠáááºáá±á¬ááºááŸá¯áá áºáá¯áá»ááºážá¡ááá¯áẠáááºáá±á¬ááºááŸá¯áá áºáá¯ááá¯á· ááŒá±á¬ááºážááœáŸá±á·áá±á¬áºáááºáž á¡ááŸáááºá¡áá¯ááºááŒáá·áº ááœá±á·áá»á¬ážáá²á·áá«áááºá á¡ááœá²á·áá áºááœá²á·á á®ááẠáááºáá±á¬ááºááŸá¯áá»á¬ážá¡ááœáẠáááºážááá¯á·áááá¯ááºááá¯ááºááœááºááááºáá¬áá»á¬ážááᯠáááºáá®ážááááºááŒá áºáááºá
á¡ááœá²á·áá áºááœá²á·áá»ááºážá á®ááẠáááºážááá¯á·á á áá áºáá»á¬ážá docker áá¯á¶áá»á¬ážááᯠááœááºáááºá áœá¬ áá¯ááºáá±á¬ááºááẠáá¬áááºááŸááááºáá°áá±á¬ áá»ááºážáááºááŸá¯ááᯠáá»áœááºá¯ááºááá¯á· áááºáá¶áá»áá·áºáá¯á¶ážáá«áááºá DevOps ááẠááŒáá·áºáá»ááºááŸá¯á¡ááœáẠááá¯á¡ááºáá±á¬ áá±áá°áá»á¡ááŒá±áá¶á¡áá±á¬ááºá¡áŠáá»á¬ážááŒá áºááá·áº á¡á á¯á¡áá±ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯á CI á áá áºá¡ááœáẠáá¶á·ááá¯ážááŸá¯á áááºááŒáá·áº áá¶á·ááá¯ážáá±ážáá«áááºá ááá¯á¡áá»áááºááœááºá áá»áœááºá¯ááºááá¯á·ááœáẠááœááºááááºáá¬áá±á«ááºáž áááá ááá·áºááŸááá±á¬ Nomad ááá¯á· ááŒá±á¬ááºážááœáŸá±á·á áá Ạáá áá»á±á¬áºááŸááááºá
Devops ááẠááŒáá·áºáá»ááºááŒááºážááŸáá·áº áá¬áá¬áá»á¬ážááŸáá·áº áááºááá¯ááºááá·áºá¡áá¬á¡á¬ážáá¯á¶ážá á¡ááœá±ááœá±á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶á¡ááœáẠáá¬áááºááŸááá«áááºá áá áºááẠááœá¶á·ááŒáá¯ážááá¯ážáááºáá±ážá¡ááœá²á·áá áºáá¯á á®ááẠáááºážá áá®ážááŒá¬ážá áá áºá¡ááœáẠááœááºááááºáá¬áá»á¬ážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááẠáá¬áááºááŸááááºá á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº áááºážááẠáá®ážááŒá¬ážááœááºááááºáá¬áá áºáá¯ááœáẠáá±áá°áá»ááá¯á¡ááºáááºáá»á¬ážááᯠááááŸáááá·áºá¡ááœá²á·ááŒá áºáá±á¬ááŒá±á¬áá·áº ááŒá áºáááºá
Nomad ááᯠá áœáá·áºááœáŸááºáááŒááºáž á¡ááŒá±á¬ááºážá¡áááºáž
Nomad ááŸáá·áº docker ááá¯á·ááᯠá¡áá¯á¶ážááŒá¯á ááŒáá·áºáá»ááºááŒááºážááá¯á· ááŒá±á¬ááºážááŒááºážááŒáá·áº áá»áœááºá¯ááºááá¯á· áááŸááá²á·áá±á¬ á¡áá»áá¯ážáá»á±ážáá°ážáá»á¬ážááŸá¬ á¡áááºáááºážá
- áá»áœááºáá±á¬áºááá¯á· áááºážáá°áá®áá°á¡ááŒá±á¡áá±áá»á¬ážáá±ážáá¬ážáááºá áááºáááºážáá»ááºá¡á¬ážáá¯á¶ážá¡ááœááºá ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááœááºá QA áááºáááºážáá»ááºá ááá¯ááºáá¯ááºáá®á áá¯ááºáá¯ááºááŸá¯á áá°áá®áá±á¬ ááœááºááááºáá¬áá¯á¶áá»á¬ážááᯠáá°áá®áá±á¬ááŸá®ááá¯ááŸá¯áá»á¬ážááŒáá·áº á¡áá¯á¶ážááŒá¯áá«áááºá ááá¯á·ááŒá±á¬áá·áºá áá¯ááºáá¯ááºááŸá¯ááœáẠááŒá®ážáá¯á¶ážááá·áºá¡áá¬ááẠáááºááááºá ááŒááºááœááºážá á ááºážáááºáá²á·áá±á¬ ááá¯á·ááá¯áẠááá·áºá ááºážáááºááŸá¯áááºáááºážáá»ááºááœáẠááá¯ááºááŒá±á¬ááºáž ááá·áºááœáẠá¡ááœáá·áºá¡áááºážáááŸáááá±á¬ááºáááºááŒá áºáááºá
- áá¯á¶áá±á¬ááºáááºááá¯á·áááºáž áá»áœááºáá±á¬áºááá¯á· ááœá±á·ááŸááá²á·áá«áááºá áááºáá±á¬ááºááŸá¯á¡áá áºáá áºáá¯ááá·áºááẠááœááºáá°áááºá. ááŒáá·áºáá»ááºááŒááºážááŸá¯áá±á¬áá·áºááŸááŒáá·áºáá»áŸáẠáááºááá·áºá áá áºá¡áá áºááá¯áááᯠá¡ááœááºááá¯ážááŸááºážáá«áááºá configs áá»á¬ážááá¯ááááºážáááºážááá·áº repository ááá¯á·ááœá¬ážáá«á ááá·áºá áá áºá¡ááœáẠáá±á¬ááºááẠconfig áá áºáá¯ááá¯ááá·áºáá«á á¡á¬ážáá¯á¶ážá¡áááºááá·áºááŒá áºáá«ááŒá®á devops áá»á¬ážáá¶á០áááºáá¶á¡á¬ážáá¯ááºá áá¬áááá¯áá² ááá·áºá áá áºááᯠáá¯ááºáá¯ááºáá±ážááá¯á· á¡áá¯á¶ážáá»ááá¯ááºáááºá
- á¡á¬ážáá¯á¶áž configuration ááá¯ááºáá»á¬áž áá¯á¶ááá¯ááŸá±á¬ááºááŸá¯áá áºáá¯ááœáẠááŒááºáááºáá¯á¶ážáááºááŒááºážáá¶áá±ááá«áááºá. áá»áœááºá¯ááºááá¯á·ááẠáá»áœááºá¯ááºááá¯á·áá áá áºáá»á¬ážááᯠvirtual servers áá»á¬ážá¡áá¯á¶ážááŒá¯á ááŒáá·áºáá»ááºáá±á¬á¡áá«ááœááºá configs áá»á¬ážááẠrepository áá áºáá¯áááºážááœááºááŸááá±á¬ Ansible ááá¯á¡áá¯á¶ážááŒá¯áá²á·áááºá ááá¯á·áá±á¬áº developer á¡áá»á¬ážá á¯á¡ááœáẠáááºážááẠáá¯ááºáá±á¬ááºááẠá¡áááºážááẠááá¯áááºáá²áá«áááºá á€ááœáẠáááºáá±á¬ááºááŸá¯ááᯠá¡áá¯á¶ážáá»ááẠáááºáá±á«ááºážááá·áºááẠááá¯á¡ááºáá±á¬ configs ááŸáá·áº áá¯ááºá ááá¬áááẠá¡ááœááºáá±ážáááºááœá¬ážáá«áááºá ááá¯á·á¡ááŒááºá áááºážááᯠááŒá¯ááŒááºááẠááá¯á·ááá¯áẠááŒá±á¬ááºážáá²ááẠdevops áá»á¬ážá¡ááœáẠá¡ááœááºááœááºáá°áá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá Nomad áá¬ážááŸááºážá¡áá áºááá¯á· áá°ážááŒá±á¬ááºážááŸá¯áá»á¬ážááœááºá áááºážááá¯á·ááẠáá áºáá±áá¬áááºážááœááºááŸááá±á¬ operating files á¡á¬ážáá¯á¶ážááᯠáá°á á¡á á¯ááá¯ááºá¡ááºááááºáá¯ááºááá¯ááºáá«áááºá
ááá¯á·áá±á¬áº áá»áœááºá¯ááºááá¯á·ááẠá¡á¬ážáááºážáá»ááºáá»á¬ážá áœá¬ááᯠááŒá¯á¶ááœá±á·áá²á·ááááº-
áá«ááá¯á·á ááœááºáá¬áááºá áá»á±á¬ááœá±á·á áœá¬ ááŒáá·áºáá»ááºááŸá¯ áá¡á±á¬ááºááŒááºááá¯ááºáá«á Nomad áá¡ááŸá¯áá ááá°áá®áá±á¬á¡ááŒá±á¡áá±áá»á¬ážá¡á±á¬ááºááœáẠááœááºááááºáá¬áá»á¬ážááᯠááŸááá·áºáá¯ááºááá·áºá¡áá«á áááºážááẠáááºáááºáá±áá¯á¶áááŒá®áž Nomad ááẠáááºážá¡á¬áž áááºážááŒá±á¬ááºážáááºáá¶ááẠá¡áááºááá·áºááŸááá±á¬ ááœááºááááºáá¬áá áºáá¯á¡ááŒá Ạááááºáááá²á·áááºá áááºážá¡ááœááºážááŸá á¡ááºááºáá®áá±ážááŸááºážááᯠá áááºááẠá¡ááœáá·áºá¡áá±ážááááŸááá®ááœáẠáááºážááẠááŒá áºáá»ááºáá²á·áááºá á€á¡ááŒá±á¬ááºážááŒá±á¬áá·áºá á áá áºááẠá¡áá»áááºááá¯á¡ááœááºáž á¡ááŸá¬ážá¡ááœááºáž 500 ááᯠá áááºáá¯ááºáá¯ááºáá²á·ááŒá®ážá áááºážááŒá±á¬ááºážááẠáááºážááᯠáááºáá¶áááºá¡áááºááá·áºáááŒá áºáá±ážáá±á¬ ááœááºááááºáá¬áá®ááá¯á· á áááºáá±á¬ááºááŸáááœá¬ážáá±á¬ááŒá±á¬áá·áº ááŒá áºáááºá
ááŒá¯á¶áá²á·ááá¬ááœá±ááŸááááºá ááá¯ážáá±á¬ááºáá»á¬áž. á¡áááºááŸá¬ážáá¯á¶ážáá±á¬ áá»áá¯á·ááœááºážáá»ááºááŸá¬ Nomad ááẠá áá áºáá»á¬ážááŸáá·áº ááœááºááááºáá¬áá»á¬ážá áœá¬ááŸááá»áŸáẠááŒá®ážáá¬ážáá±á¬á¡á á¯á¡áá±ážááŒá®ážááᯠáá±á¬ááºážá áœá¬áááá¯ááºááœááºááá¯ááºááŒááºážááŒá±á¬áá·áºááŒá áºáááºá ááŒá¯ááŒááºááááºážááááºážáááºá¡ááœáẠNomad cluster ááœááºáá«ááŸááá±á¬ áá¬áá¬áá»á¬ážáá²á០áá áºáá¯ááᯠáá¯ááºáá°ááá¯áá±á¬á¡áá«á cluster ááẠá¡ááœááºáá±á¬ááºážááœááºááŒá®áž ááœá²ááœá¬ážáááá·áºáááºááá¯ááºááŒá±á¬ááºáž á¡áá±á¬áºáá±áž ááŒáá·áºáá¬ážáá±á¬ ááŒá áºááá¯ááºááŒá±ááŸááá«áááºá á¥ááá¬á¡á¬ážááŒáá·áº á¡áá»áá¯á·áá±á¬ ááœááºááááºáá¬áá»á¬ážááẠááŒá¯ááºáá»ááŒá®áž ááááºáá¬ááá¯ááºááẠ- ááá·áºáá¯ááºáá¯ááºááŸá¯á áá áºá¡á¬ážáá¯á¶ážááᯠNomad á០á á®áá¶ááá·áºááœá²ááá·áº á¡á á¯á¡áá±ážááœáẠáááºááŸááá«á áááºážááẠáá±á¬ááºááá¯ááºážááœáẠááá·áºá¡ááœáẠáá»á¬ážá áœá¬áá¯ááºáá»áááºááŒá áºáááºá
áá«ááŒá±á¬áá·áº áááºááá¯ááœá¬ážáááá² á ááºážá á¬ážááá¯á· áá¯á¶ážááŒááºáá²á·áá«áááºá ááá¯á¡áá»áááºááœáẠáá»áœááºá¯ááºááá¯á·ááẠáá»áœááºá¯ááºááá¯á· ááá¯áá»ááºáá±á¬á¡áá¬ááᯠááá¯ááá¯ááááŸááá¬ážáááºáá¬áá²á·áááºá ááá¯ááá¯áááºááŸá¬- áá»áœááºá¯ááºááá¯á·ááẠáá¯á¶ááŒááºá áááºáá»áááŸá¯á Nomad áá±ážáá±á¬ááºáááºááẠá¡áááºážáááºááá¯áá±á¬áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááŸáá·áº ááá¯ááá¯ááá·áºáá»ááºááŒá®áž áááºááŒáááºáá±á¬á áá áºááᯠááá¯áá»ááºáá«áááºá
á€ááá á¹á ááŸáá·áºá ááºáá»ááºážá áá»áœááºá¯ááºááá¯á·ááœá±ážáá»ááºááŸá¯ááẠá¡á á¯á¡áá±ážáá»á¬ážááá¯ááœáá·áºáááºá¡ááœáẠáá±áááºážá¡á á¬ážáá¯á¶ážááááºáá±á¬ááºážá¡ááŒá ẠKubernetes ááœáẠá¡áá»á¯á¶ážáááºáá«áááºá á¡áá°ážáááŒáá·áº áá»áœááºá¯ááºááá¯á·á ááœááºááááºáá¬áá»á¬ážá á¡ááœááºá¡á á¬ážááŸáá·áº á¡áá±á¡ááœááºááẠáá¯á¶áá±á¬ááºá áœá¬ ááŒá®ážáá¬ážáá±á¬ááŒá±á¬áá·áº ááŒá áºáááºá ááá¯ááá¯á·áá±á¬áááºááœááºáá»ááºáá»á¬ážá¡ááœáẠKubernetes ááẠáá»áœááºá¯ááºááá¯á·ááŒáá·áºááŸá¯ááá¯ááºááá·áº á¡ááá·áºáá±á¬áºáá¯á¶ážá áá áºááŒá áºáá¯á¶ááááºá
Kubernetes ááá¯á· áá°ážááŒá±á¬ááºážááŒááºážá
Kubernetes á á¡ááŒá±áá¶ááá±á¬ááá¬ážáá»á¬ážááŸáá·áº áááºážááá¯á·ááẠNomad ááŸáá·áº áááºááá¯á·ááœá¬ááŒá¬ážááŒá±á¬ááºáž á¡áááºážáááºááŒá±á¬ááŒáá«áááºá
ááááá¯á¶ážá¡áá±ááŒáá·áº Kubernetes ááœááºá¡ááŒá±áá¶á¡áá»áá¯á¶ážá¡áá°á¡áááŸá¬ pod áááá±á¬ááá¬ážááŒá
áºáááºá Pod áá
áºáᯠááá¯á·ááá¯áẠáá
áºáá¯áááºááá¯áá±á¬ ááœááºááááºáá¬á¡á¯ááºá
á¯áá
áºá
á¯ááẠá¡ááŒá²á¡áá°áááœáááºáááºáá±áá«áááºá ááŒá®ážáá±á¬á· áá°ááá¯á·á á¡ááŒá²áááºáž virtual machine áá
áºáá¯áá±á«áºááŸá¬ áááºážááŒááºá
áœá¬ á¡áá¯ááºáá¯ááºáááºá áááºážááá¯á·ááẠááá°áá®áá±á¬ port áá»á¬ážáá±á«áºááœáẠIP 127.0.0.1 ááŸáááá·áº á¡áá»ááºážáá»ááºáž áá»áááºáááºá¡áá¯á¶ážááŒá¯ááá¯ááºáá«áááºá
ááá·áºááœáẠnginx ááŸáá·áº php-fpm - classic scheme áá«áááºáá±á¬ PHP á¡ááá®áá±ážááŸááºážáá áºáá¯ááŸááááºáᯠáá°áááŒáá«á áá¯á·á ááŒá áºááá¯ááºáááºááŸá¬á áááºááẠnginx ááŸáá·áº php-fpm ááœááºááááºáá¬áá»á¬ážááᯠá¡áá»áááºááá¯ááºáž á¡áá°ááᜠáá¬ážááŸáááá¯áááºááŒá áºáááºá Kubernetes ááẠáááºážááá¯á·ááᯠáá¯á¶ pod áá áºáá¯á¡ááŒá Ạáá±á¬áºááŒááŒááºážááŒáá·áº áááºážááᯠá¡á±á¬ááºááŒááºááá¯ááºá á±áá«áááºá á€áááºááŸá¬ Nomad ááŸáá·áº ááááá¯ááºáá«á
áá¯ááá ááá±á¬ááá¬ážááá±á¬á· ááŒááºá·áá»ááº. á¡ááŸááºááŸá¬ á áá«ážá á±á·ááá¯ááºááá¯ááºááẠáá±á«áºáááºá¡áá¬ááŒá áºáááºá áááºážááẠá áááºá áá»á±á¬ááºááœááºááœá¬ážááŒááºáž ááŒá áºáááºá áááºáááááºááœááºááááºáá¬á¡á¬ážáá¯á¶ážááᯠáŠážá áœá¬áááºáá áºááŒá®ážáá±á¬áẠáá¬ážááŸááºážá¡áá áºáá»á¬ážááᯠáá áºááŒáááºáááºážááœáá·áºááá¯áá«ááá¬áž ááá¯á·ááá¯áẠáááºážááá¯á·ááᯠááŒááºážááŒááºážáá»ááºáž áá¯ááºáá áºááá¯áá«ááá¬ážá á€áá¯ááºáááºážá ááºááẠááŒáá·áºáá»ááºááŒááºážááá±á¬ááá¬ážááœáẠáá¬áááºááŸááá«áááºá áááºážááẠáááºá pods áá»á¬ážááᯠáááºááá¯á·á¡áá¯á¶ážááŒá¯áá¯á¶á áááºááá·áºááá¬áááŸáá·áº áááºážááá¯á·ááᯠá¡ááºááááºáá¯ááºááááºááᯠáá±á¬áºááŒáááºá
áááá ááá±á¬ááá¬ážááá±á¬á· áááºáá±á¬ááºááŸá¯. ááá·áºáááºáá±á¬ááºááŸá¯ááẠá¡ááŸááºááááºá¡á¬ážááŒáá·áº ááá·áºáááºáá±á¬ááºááŸá¯ááŸáá·áº áááºááá¯ááºááá·áº á¡ááœá¬ážá¡áá¬á¡áá»áá¯á·ááᯠáááºáá¶áááŸáááŒá®ážáá±á¬áẠáááºážááᯠááá·áºáááºáá±á¬ááºááŸá¯ááŸáá·áº áááºááá¯ááºááá·áº áá±á«á·ááºáá áºáᯠááá¯á·ááá¯áẠáá áºáá¯áááºááá¯áá±á¬ áá±áá¬áá»á¬ážááá¯á· áá±ážááá¯á·ááŒááºážááŒá áºáááºá ááá¯ááá¯áááºááŸá¬á ááá¯ááá¯á·áá±á¬ááŸáá·áº ááá¯áá²á·ááá¯á·áá±á¬ áááºáá±á¬ááºááŸá¯áá áºáá¯áá®ááá¯á· á¡áááºá¡ááœááºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠá€áá²á·ááá¯á·áá±á¬ áá®ážááŒá¬áž pods áá»á¬ážááá¯á· áá±ážááá¯á·ááááºáᯠááá¯ááá¯áá«áááºá áá áºáá»áááºáááºážááŸá¬ááẠáááºážááẠááá·áºá¡á¬áž traffic áá»áááºááœááºáá»áŸá¬ááᯠáá±á¬ááºáá¶á·áá±ážáááºá ááá¯ááá¯áááºááŸá¬á áááºááẠáááºáá¡ááá®áá±ážááŸááºážá pods ááŸá áºáá¯ááᯠá áááºááá¯ááºááŒá®ážá á¡áááºáááºážááŒá±á¬ááºážá¡á¬ážáá¯á¶ážááẠá€áááºáá±á¬ááºááŸá¯ááŸáá·áºáááºááá¯ááºááá·áº pods áá»á¬ážááŒá¬ážááœáẠá¡áá®á¡áá»áŸ áá»áŸááá±áááºááŒá áºáááºá
á áá¯áá¹áá¡ááŒá±áá¶ááá±á¬ááá¬ážááá±á¬á· Ingress. áááºážááẠKubernetes á¡á á¯á¡áá±ážááœáẠáá¯ááºáá±á¬ááºááá·áº áááºáá±á¬ááºááŸá¯áá áºáá¯ááŒá áºáááºá áááºážááẠáá±á¬ááºážááá¯ááŸá¯á¡á¬ážáá¯á¶ážááᯠáá»á±á¬áºááœáŸá¬ážááá¯ááºáá±á¬ ááŒááºááááºáá»áááºááœááºáá»áŸá¬á¡ááŒá Ạáá¯ááºáá±á¬ááºáááºá Kubernetes API ááᯠá¡áá¯á¶ážááŒá¯á Ingress ááẠá€áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠáááºááá·áºáá±áá¬ááœáẠáá±ážááá¯á·ááá·áºáááºááᯠáá¯á¶ážááŒááºááá¯ááºáá«áááºá ááá¯á·á¡ááŒááºá áá°áááºá€ááá¯á·á¡ááœááºááá¯ááºáá»á±á¬áá®ááœá±ááŒá¯áááºá á€á¡áááºááŸááºáᶠáá±á¬ááºážááá¯áá»ááºá¡á¬ážáá¯á¶ážááᯠá€áááºáá±á¬ááºááŸá¯ááá¯á· áá±ážááá¯á·áá¬ážááŒá±á¬ááºážááŸáá·áº ááá¯áá²á·ááá¯á·áá±á¬ URL áá»á¬ážááᯠáá±ážááá¯á·áá¬ážááŒá±á¬ááºáž áááºááŒá±á¬ááá¯ááºáá«áááºá ááŒá®ážáá±á¬á· áá® host áá²á· áááŒá¬áž URL áá®ááᯠáá±á¬ááºáá¬áá²á· áá®áá±á¬ááºážááá¯áá»ááºááœá±ááᯠáááŒá¬ážáááºáá±á¬ááºááŸá¯áá áºáá¯áá® ááá¯á·áá«áááºá
á¡ááºááá®áá±ážááŸááºážááᯠáá®ááœááºáá°áá áºáá±á¬ááºá á¡ááŒááºááœáẠá¡á¡á±ážáá¯á¶ážá¡áá»ááºááŸá¬ áááºááá¯ááºááá¯áẠá á®áá¶ááá·áºááœá²ááá¯ááºááŒááºážááŒá áºáááºá Ingress config ááᯠáááºááŸááºááŒááºážááŒáá·áºá á¥ááá¬á Go ááœáẠáá±ážáá¬ážáá¬ážáá±á¬ ááœááºááááºáá¬áá»á¬ážááᯠáá®ážááŒá¬ážá á®ááá¯á· áá±ážááá¯á·ááá¯ááºááẠáá«áá±ááá·áº áá°áá®áá²á· domain áá®ááᯠáá±á¬ááºáá¬áá²á· áá® traffic ááᯠPHP áá²á·áá±ážáá¬ážáá²á· containers ááœá±áá® ááá¯á·ááá·áºáá«áááºá áá«áá±ááá·áº áá°ááá¯á·á á¡áááºážááŒááºáá¬áá±á¬á· ááá¯ááºáá«áá°ážá
á€ááá±á¬ááá¬ážáá»á¬ážá¡á¬ážáá¯á¶ážááᯠNomad ááŸáá·áº ááŸáá¯ááºážááŸááºáá«áá áááááá±á¬ááá¬ážáá¯á¶ážáá¯áá¯á¶ážááẠáááºáá±á¬ááºááŸá¯áá±ážáááºáᯠááá¯ááá¯ááºáá«áááºá áá±á¬ááºáá¯á¶ážá¡áá°á¡áááẠNomad ááá¯ááºááá¯ááºá áááŸááá«á áá»áœááºá¯ááºááá¯á·ááẠáááºážááᯠááŒááºááá»áááºááœááºáá»áŸá¬á¡ááŒá Ạá¡áá¯á¶ážááŒá¯áá²á·áááº- áááºážááẠhaproxyá nginxá nginx+ á áááºááá¯á· ááŒá áºááá¯ááºáááºá cube áááá á¹á ááœááºá áááºáááºá€á¡ááá¯áá±á¬ááºážááá±á¬ááá¬ážááá¯áá®ážááŒá¬ážá á®ááááºáááºáááºáááá¯á¡ááºáá«á ááá¯á·áá±á¬áºá Ingress á¡ááœááºážááá¯ááºážááá¯ááŒáá·áºáá»áŸááºáááºážááẠnginxá haproxy ááá¯á·ááá¯áẠtraefik áá±á¬áºáááºážáá±á¬ááºáž Kubernetes ááœááºáááºáá±á¬ááºáá¬ážáá±á¬á¡áá»áá¯ážá¡á á¬ážááŒá áºáááºá
áá»áœááºá¯ááºáá±á¬áºááŒáá²á·áá±á¬ ááá±á¬ááá¬ážáá»á¬ážá¡á¬ážáá¯á¶ážááẠá¡ááŸááºááááºá¡á¬ážááŒáá·áº Kubernetes á¡á á¯á¡áá±ážá¡ááœááºáž ááŸááá±áá±á¬ á¡áááºážá¡ááŒá áºáá»á¬ážááŒá áºáááºá áááºážááá¯á·ááᯠcube ááœááºáá±á¬áºááŒáááºá Nomad áááá á¹á ááœáẠHCL ááá¯ááºáá»á¬ážááẠááá¯ááá¯áááºááŸá¯ááá¯ááºááŒá®áž ááá¯ááá¯áááºážááŸá®ážááá·áº yaml áá±á¬áºáááºááᯠá¡áá¯á¶ážááŒá¯áá¬ážáááºá ááá¯á·áá±á¬áºá á¥ááá¬á pod ááá á¹á ááœáẠáá°áá®áá±á¬á¡áá¬ááᯠááœá²á·á ááºážáááºáá±á¬ááºáá¯á¶á¡á áá±á¬áºááŒááŒáááºá áá°ááá¯á·ááŒá±á¬áááᯠ- áá®ááá¯áá»áá¯áž áá°ážááœá±ááᯠá¡á²áá®áá±áá¬ááŸá¬ áá®ááá¯áá»áá¯áž áá¯á¶ááœá±áá²á· áá®ááá¯áá»áá¯áž ááá¬ááá²á· ááŒáá·áºáá¬ážáá»ááºáááºá
ááá¯á·á¡ááŒááºá áá»áœááºá¯ááºááá¯á·ááẠáá
áºáŠážáá»ááºážá
á® á¡áááºážá¡ááŒá
áºáá
áºáá¯á
á®ááᯠáááºááŒáá·áº áááºáá®ážááá¯ááŒááºážááá¯ááºááŒá±á¬ááºáž áá»áœááºá¯ááºááá¯á· ááá±á¬áá±á«ááºáá¬ážáááº- ááŒáá·áºáá»ááºááŸá¯á áááºáá±á¬ááºááŸá¯áá»á¬ážá Ingress á
áááºááá¯á·ááŒá
áºáááºá áááºážá¡á
á¬ážá áá»áœááºá¯ááºááá¯á·ááẠááŒáá·áºáá»ááºá
ááºá¡ááœááºáž Kubernetes á á
ááºážáááºážáá»ááºáá»á¬ážááŒáá·áº áá»áœááºá¯ááºááá¯á·áá
áá
áºáá
áºáá¯á
á®ááᯠáá±á¬áºááŒááá¯áááºá ááá¯á·ááŸáᬠááá¯á¡ááºáá±á¬á¡áááºážá¡ááŒá
áºááŸá®ááá¯ááŸá¯á¡á¬ážáá¯á¶ážááᯠááŸááºáááºáá±á¬á¡á
á®á¡á
ááºááŒáá·áº áá°ááá¯ááºááá¯ááºááŒááºáááºáááºáá®ážáááºáááá¯á¡ááºáá«á áá²á·á
ááºááᯠáá®ááá¯áá¯ááºááœáá·áºáá±ážáá²á· á
áá
áºá¡ááŒá
Ạááœá±ážáá»ááºáá²á·áá«áááºá
Helm ááœáẠá¡ááŒá±áá¶ááá±á¬ááá¬ážáá»á¬áž
áá²á·á áẠááŒá áºáá á¡áá¯ááºáááºáá±áá»á¬ Kubernetes á¡ááœáẠáááá¯ááááºážáááºážáá¬áá¬á áá¬ážáá»á¬ážááœáẠáááºáá±á·áá»áºáááºáá±áá»á¬áá»á¬áž á¡áá¯ááºáá¯ááºáá¯á¶ááŸáá·áº á¡ááœááºáááºáá°áááºá áááºážááá¯á·ááẠááá·áºá¡á¬áž á¥ááá¬á¡á¬ážááŒáá·áºá ááŒáá·áºáá»ááºááŒááºáž nginxá ááŒáá·áºáá»ááºááŸá¯ php-fpmá Ingress á¡ááœáẠconfigá configmaps (áááºážááẠááá·áºá áá áºá¡ááœáẠenv ááŸáá·áº á¡ááŒá¬ážáá±á¬ parameters áá»á¬ážááᯠáááºááŸááºáááºááœáá·áºááŒá¯ááá·áº á¡áá¬áá áºáá¯) áá«áááºáá±á¬ áááºáá±á¬ááºááŸá¯ááᯠááááºážáááºážááẠááœáá·áºááŒá¯áá¬ážáááºá ááá¬ážáá¯áá±á«áºáááºá áá áºáá»áááºáááºážááŸá¬ááẠáááºáž Kubernetes ááááºááœáẠá¡áá¯ááºáá¯ááºáááºá. ááá¯ááá¯áááºááŸá¬á áááºážááẠáá±ážááœááºáááºáá±áá±á¬ á áá áºáá»áá¯ážááá¯ááºáá±á¬áºáááºáž cube á¡ááœááºážááŸá á¡ááŒá¬ážáááºáá±á¬ááºááŸá¯áá áºáá¯áá¬ááŒá áºáááºá console command ááŸáá áºááá·áº áááºážá API ááŸáá áºááá·áº áááºážááŸáá·áº á¡ááŒááºá¡ááŸáẠáá¯á¶á·ááŒááºááá¯ááºáááºá áááºážáá¡áááºááŒá±ááŸá¯ááŸáá·áº ááŸáááŸá¯ááẠáá²á·á ááºááœá²ááœá¬ážáá»áŸáẠááá¯á·ááá¯áẠáááºážááᯠá¡á á¯á¡áá±ážá០áááºááŸá¬ážááá¯ááºáá»áŸááºáááºá ááá¯á·áá±á¬áẠKubernetes ááá¯ááºááá¯ááºá á áœááºážáá±á¬ááºáááºááŸáá·áº áááºáá±á¬ááºááŸá¯á¡ááŒá±á¡áá±áá»á¬ážá¡ááœáẠáá¬áááºááŸááá«áááºá
á¡á²áá«ááá¯áááºáž áá»áœááºáá±á¬áºááá¯á· ááá±á¬áá±á«ááºáááºá áá¯á¶á á¶áá¯ááºááŒááºážjinja ááá¯áá»áœááºá¯ááºááá¯á·á configs ááœááºááá·áºááœááºážááŒááºážááŒáá·áºáá»áœááºá¯ááºááá¯á·ááááºááá»áœááºá¯ááºááá¯á·ááá¯ááºááá¯ááºáá¯ááºáá±á¬ááºáááºá¡áááºážá¡áá»ááºááá¯ááºážá á±áá²á·áá±á¬á áááºáá²á·ááá¯ááºážáá¡áááá¡ááºá¹áá«áááºáá»á¬ážáá²ááŸáá áºáá¯ááŒá áºáááºá ááá·áºá áá áºáá»á¬ážá¡ááœáẠáááºáááºáá®ážáá±ážáá±á¬ configs á¡á¬ážáá¯á¶ážááᯠjinja ááŸáá·áº á¡áááºážáááºáááºáá°áá±á¬ templates áá¯á¶á á¶áá»á¬ážááŒáá·áº áá²á·áá±á«ááºážááœáẠááááºážáááºážáá¬ážáá«áááºá ááá¯á·áá±á¬áº ááááºáááºážááœááºá Kubernetes áá²á·ááá¯á· áŠážáá±á«ááºážááá¯ááºážááᯠáá±ážáá¬ážáá¬ážááá·áº Go language á ááá°áá¬áá¯á¶á á¶ááᯠá¡áá¯á¶ážááŒá¯áá¬ážáááºá
Helm ááẠáá»áœááºá¯ááºááá¯á·á¡ááœáẠáá±á¬ááºááẠááá±á¬ááá¬ážá¡áá»áá¯á·ááᯠáááºáá±á¬ááºážáá±ážáá«áááºá
ááá¬áž - á€áááºááŸá¬ ááá·áºáááºáá±á¬ááºááŸá¯á áá±á¬áºááŒáá»ááºááŒá áºáááºá á¡ááŒá¬ážáá±á¬ áááºáá±á·áá»áºáááºáá±áá»á¬áá»á¬ážááœáẠáááºážááᯠáááºáá±á·áá»áºá á¡á á¯á¡áá±áž ááá¯á·ááá¯áẠá¡áá¬ážáá°á¡áá¬áá áºáá¯áᯠáá±á«áºáááºá áá®ááŸá¬ááá¬ážááá¯á·áá±á«áºáááºá
áááºááá¯ážáá»á¬áž ááá°áá¬áá¯á¶á á¶áá»á¬ážá០áááºá configs áááºáá±á¬ááºááẠáááºá¡áá¯á¶ážááŒá¯ááá¯áá±á¬ ááááºážááŸááºáá»á¬ážááŒá áºáááºá
ááœáŸááºáá±áž. áŠážáá±á«ááºážááá¯á¡áá¯á¶ážááŒá¯áá¬ážááá·áº áááºáá±á¬ááºááŸá¯áá áºáá¯ááẠáá¯ááºáá±ááŸá¯á ááá¯ážááŒáá·áºáá¬ážááŸááºážááᯠáááºáá¶áááŸáááá·áºá¡áá»áááºááá¯ááºážá Helm ááẠááááºáá¯ááºááœáŸááºááŸá¯ááœáẠáááºáá±á¬ááºááŸá¯ config ááᯠááŸááºáááááºá áááºážáááá¯ááºáá® áá¯ááºáá±ááŸá¯ááŸáá·áº á¡ááŒá¬ážá¡áá¬áá»á¬ážááᯠááŸááºáááááºá ááá¯á·ááŒá±á¬áá·áºá áááºááẠááŒááºááŸáá·áºááẠááá¯á¡ááºáá«áá áááºážááᯠááááºááœááºááŸááá¬ážáá±á¬ áá¬ážááŸááºážááá¯á· ááœáŸááºááŒááŒá®áž helm callback command ááá¯ááœáá·áºááá¯ááºáá«á ááŒááºááááºážááá·áºá¡áá»áááºá ááá·áºááá¯ááŸá±á¬ááºáá¬ááŸá áááºá ááºááœá²á·á ááºážááŸá¯áá¯á¶á á¶ááᯠááááŸáááá¯ááºáá±á¬áºáááºážá áá²á·ááááºážááẠáááºážááẠáááºááá·áºá¡áá¬ááŒá áºáááºááᯠááŸááºáááá±áá±ážááŒá®áž ááá·áºá áá áºá¡á¬áž ááááºáá¯ááºááœáŸááºááŸá¯ááœááºááŸáááá·áº á¡ááŒá±á¡áá±ááá¯á· ááŒááºááŒá±á¬ááºážáá±ážáááºááŒá áºáááºá
áá»áœááºá¯ááºááá¯á·ááẠáŠážáá¯ááºááᯠá¡áá¯á¶ážááŒá¯áá±á¬á¡áá«ááœááºá Kubernetes á¡ááœáẠáá¯á¶ááŸáẠconfigs áá»á¬ážááẠááááºážááŸááºáá»á¬ážá áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááŸáá·áº á¡ááŒá±á¡áá±ááá¯ááºáᬠáá¯ááºááŒááºáá»ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááẠááŒá áºááá¯ááºááá·áº áá¯á¶á á¶áá»á¬ážá¡ááŒá ẠááŒá±á¬ááºážáá²áá«áááºá á€áááºážááŒáá·áº áááºáááºážáá»ááºá¡áá±á«áºáá°áááºá ááá·áºáááºáá±á¬ááºááŸá¯ config ááᯠá á¯áá±á¬ááºážááá¯ááºáá«áááºá
áááºááœá±á·ááœááºá áá»áœááºá¯ááºááá¯á·ááẠNomad ááŸáá·áº áá¯ááºáá²á·áááºááẠá¡áááºážááẠááœá²ááŒá¬ážááá·áºá¡áá¬áá»á¬ážááᯠáá¯ááºáá±á¬ááºááẠáá¯á¶ážááŒááºáá²á·áááºá Nomad ááœáẠáá»áœááºá¯ááºááá¯á·á áááºáá±á¬ááºááŸá¯ááᯠá¡áá¯á¶ážááŒá¯ááẠááá¯á¡ááºáá±á¬ ááŒáá·áºáá»ááºááŸá¯ configs ááŸáá·áº n-variable ááŸá
áºáá¯áá¯á¶ážááᯠrepository áá
áºáá¯ááœáẠááááºážáááºážáá¬ážáá«áá á€áá±áá¬ááœáẠáááºážááá¯á·ááᯠáá®ážááŒá¬áž repositories ááŸá
áºáá¯á¡ááŒá
Ạááœá²ááẠáá¯á¶ážááŒááºáá²á·áááºá "deploy" repository ááẠdeployment á¡ááœáẠááá¯á¡ááºáá±á¬ n-variable áá»á¬ážááá¯áᬠááááºážáááºážáá¬ážááŒá®áž "helm" repository ááẠconfigs ááá¯á·ááá¯áẠcharts áá»á¬ážááᯠááááºážáááºážáá¬ážáááºá
áá«á áá«ááá¯á·ááᯠáá¬áá±ážáá¬áá²á
áá»áœááºá¯ááºááá¯á·ááẠá á®á ááºááœá²á·á ááºážááŸá¯ááá¯ááºáá»á¬ážááœáẠá¡ááŸááºáááẠá¡áá±ážááŒá®ážáá±á¬áá±áá¬ááᯠáá»áœááºá¯ááºááá¯á·ááá¯ááºááá¯áẠáááááºážáááºážáá¬ážáá±á¬áºáááºážá á¥ááá¬á¡á¬ážááŒáá·áºá databases ááá¯á· á áá¬ážááŸááºáá»á¬ážá áááºážááá¯á·ááᯠKubernetes ááœáẠáá»áŸáá¯á·ááŸááºáá»ááºáá»á¬ážá¡ááŒá Ạááááºážáááºážáá¬ážáá±á¬áºáááºážá áá°ááá¯ááºážááᯠáááºáá±á¬ááºááŒáá·áºááŸá¯ááœáá·áºááá±ážááá¯áá±á¬ á¡áá»áá¯á·á¡áá¬áá»á¬áž ááŸááá±áá±ážáááºá ááá¯á·ááŒá±á¬áá·áºá "deploy" repository ááá¯á·áááºáá±á¬ááºááœáá·áºááẠááá¯á á¡ááá·áºá¡áááºááŸáááŒá®áž "áá²á·á ááº" repository ááœáẠáááºáá±á¬ááºááŸá¯á áá±á¬áºááŒáá»ááºáá«ááŸááá«áááºá á€á¡ááŒá±á¬ááºážááŒá±á¬áá·áºá áá»ááºááŒáá·áºáá±á¬áá°áá»á¬ážá áá±ážáááºážá áœá¬ áááºáá±á¬ááºááá¯ááºáááºá
áá»áœááºá¯ááºááá¯á·ááœáẠáá¯ááºáá¯ááºááŸá¯áá¬áá á¡ááŒá¬ážáááºáááºážáá»ááºáá»á¬ážáá«ááŸááá±á¬ááŒá±á¬áá·áºá á€ááœá²ááœááºááŸá¯ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááẠáá¯ááºáá¯ááºááŸá¯á¡ááœááºáá¬áá á¥ááá¬á¡á¬ážááŒáá·áº QA áááºáááºážáá»ááºááœáẠáááºáá±á¬ááºááŸá¯áá»á¬ážááᯠá¡áá¯á¶ážáá»áááºá¡ááœáẠáá»áœááºá¯ááºááá¯á·á áŠážáá±á«ááºážááá¬ážáá»á¬ážááᯠááŒááºáááºá¡áá¯á¶ážááŒá¯ááá¯ááºáá«áááºá áá±áá¡ááá¯áẠá¡áá¯á¶ážáá»áááºááẠáá®áá®áá°áá® - á€á¡áá¬ááẠKubernetes ááᯠá ááºááœááºážááœáẠá¡áá¯á¶ážááŒá¯áááºá¡ááœáẠááŒá áºáááºá
ááá¯ááŸá±á¬ááºááŸá¯áá áºáá¯á á®ááœáẠáá»áœááºá¯ááºááá¯á·ááẠáááºáá±á¬ááºááŸá¯áá áºáá¯á á®á¡ááœáẠáá®ážááŒá¬ážáááºážááœáŸááºáá»á¬ážá¡ááŒá Ạááá¯ááºážááŒá¬ážáá¬ážáá²á·áááºá ááá¯ááá¯áááºááŸá¬á áááºážááœáŸááºáá áºáá¯á á®ááœáẠáááºááá¯ááºáá¬ááá¬ážááŸáá·áº áááºááá¯ááºááá·áº ááá°áá¬áá¯á¶á á¶áá»á¬áž áá«ááŸáááŒá®áž áá»áœááºá¯ááºááá¯á·áá áá áºáááºáááºááẠááá¯á¡ááºááá·áº á¡áááºážá¡ááŒá áºáá»á¬ážááᯠáá±á¬áºááŒááŒááºážááŒá áºáá«áááºá áá»áœááºá¯ááºááá¯á·ááẠ"deploy" repository ááœáẠenvs áá»á¬ážáá¬áá»ááºáá²á·áááºá á€ááá á¹á ááœááºá áá»áœááºá¯ááºááá¯á·ááẠjinja ááá¯á¡áá¯á¶ážááŒá¯á áá¯á¶á á¶ááœá²ááŒááºážá¡á¬áž ááá¯á¶ážáá¬ážáá²á áá²á·áá±á«ááºážááá¯ááºááá¯ááºá áá¯á¶á á¶ááœááºáá¯á¶á á¶ááᯠáá±á¬ááºá¡ááœááºážá០áá¯ááºáá±ážáá±á¬ááŒá±á¬áá·áºááŒá áºááẠ- áááºážááẠáááºážáá¡ááááá¯ááºáá±á¬ááºáá»ááºáá»á¬ážáá²ááŸáá áºáá¯ááŒá áºáááºá
áŠážáá¯ááºááᯠá¡áá¯á¶ážááŒá¯á ááŒáá·áºáá»ááºááŒááºážá¡ááœáẠá áááºááŒááºážá¡ááœáẠááá¯ážááŸááºážááŒá®áž á á¶ááŸá¯ááºážááŒá áºá á±áá±á¬ ááŒáá·áºáá»ááºááŸá¯ script - deploy.sh ááᯠáá»ááºáá¬ážáá²á·áááºá ááá¯á·ááŒá±á¬áá·áºá á¡áá¯á¶ážááŒá¯ááá¯áá°ááá¯ááºážá¡ááœááºá ááŒáá·áºáá»ááºááŸá¯ á¡ááºáá¬áá±á·á áºááẠNomad ááŸáá áºááá·áº ááŒáá·áºáá»ááºáá¬ááœáẠáá¯ááºáá±á¬ááºáá²á·ááá·áºá¡ááá¯ááºáž á¡ááá¡áá»áá°áá®áá«áááºá áá°áá®áá±á¬ deploy.shá ááá·áºáááºáá±á¬ááºááŸá¯á¡áááºááŸáá·áº áááºá¡áá¯á¶ážááŒá¯ááá¯ááá·áºáá±áá¬á áááºážááẠáá²á·ááááºážá ááºá¡ááœááºážááá¯ááºážááᯠá áááºá á±áááºá áááºážááẠáááºážáááááºáá»á¬ážá០configs áá»á¬ážááᯠá á¯áá±á¬ááºážáᬠááá¯á¡ááºáá±á¬ áááºááá¯ážáá»á¬ážááᯠáááºážááá¯á·áá²ááá¯á· ááá·áºááœááºážáᬠáááºážááá¯á·ááᯠá¡áá¯á¶ážáá»áᬠKubernetes á¡ááœááºážááá¯á· á áááºáááºá
ááœá±á·ááŸááá»ááºáá»á¬áž
Kubernetes áááºáá±á¬ááºááŸá¯ááẠNomad ááẠááá¯ááá¯ááŸá¯ááºááœá±ážáá¯á¶áá±á«áºáááºá
á€ááœáẠá¡ááœááºáááºážááŒá±á¬ááºážááẠIngress ááá¯á· áá±á¬ááºáá¬áááºá áááºážááẠáá±á¬ááºážááá¯áá»ááºá¡á¬ážáá¯á¶ážááᯠáá»á±á¬áºááŒááºáᬠáá±á¬ááºážááá¯áá»ááºáá±áá¬ááŸáá·áº áááºááá¯ááºááá·áº áááºáá±á¬ááºááŸá¯áá»á¬ážááá¯á· áá±ážááá¯á·áá±ážááá·áº ááŸá±á·ááááºážáá»á¯ááºáááááá¬áá¬ááŒá
áºáááºá áááºážááẠáááºáá¡ááá®áá±ážááŸááºážá áŠážáá±á«ááºážáá«ááŸááá±á¬áºááŒáá»ááºááá
áºá
áááºáá
áºááá¯ááºážááŒá
áºááŒá®áž áá±á¬á·ááºáá²áá±ážáá¬ážáá°áá»á¬áž áááºážááá¯á·ááá¯ááºááá¯ááºáááºááŸááºáá¬ážááá·áº configs áá»á¬ážá¡áá±á«áº á¡ááŒá±áá¶á áááºážááá¯á·ááᯠáá¯á¶ážááŒááºáááºá áááºáá±á¬ááºááŸá¯ááẠá€áááºáá±á¬ááºááŸá¯ááŸáá·áºáááºááá¯ááºááá·áº ááœááºááááºáá¬áá»á¬ážá¡á¬ážáá¯á¶ážááŒá¬áž á¡áááºá¡ááœááºáááºážááŒá±á¬ááºážááᯠáá»áááºááŸááá±ážááá·áº áá®ážááá·áºááœááºááááºáá¬áá»á¬ážááŒá
áºááá·áº áááºážá pods áá»á¬ážáᶠáá±á¬ááºážááá¯ááŸá¯áá»á¬áž áá±ážááá¯á·áá«áááºá ááá¯á·á¡ááŒááºá áá»áœááºá¯ááºááá¯á·ááẠááœááºáááºá¡ááá·áºááŸá áá¯á¶ááŒá¯á¶áá±ážá០áááºááá·áºáá±áá¬ááá¯á០áááœá¬ážááá·áºááŒá±á¬ááºáž ááá±á·ááá·áºáá«á ááá¯á·ááŒá±á¬áá·áºá ááœá²ááŒá¬ážáááºááŸááºááŒááºážááẠáááºáá¯ááºááŒááºážá¡áá±á«áº á¡ááŒá±áá¶ááá·áº Kubernetes á¡á
á¯á¡áá±ážááœáẠá¡áá¯ááºáá¯ááºáááºá áááºáá±á¬ááºááŸá¯á¡á¬ážáá¯á¶ážááœáẠáááºáá±á¬ááºááŸá¯áá»á¬ážá ááŒááºá/á¡ááœááºážááœááºáž á¡áááºážá¡ááŒá
áºáá»á¬áž á¡á
á¯á¡áá±ážá¡ááœááºáž ááá¯á·ááá¯áẠááŒááºáááœáẠáááºá
ááºáá±ááá·áº á¡áá»áá¯á·áá±á¬ áááºáá»á¬ážááŸááááºá
áá»áœááºá¯ááºááá¯á·ááẠá¡áá°ážá¡ááŒá±á¬ááºážááᯠááŒá¯áá¯ááºáá±á¬á¡áá«ááœááºá Kubernetes ááœáẠááááºá áá»áœááºá¯ááºááá¯á·á¡áá¯á¶ážááŒá¯áá²á·áá°ážááá·áº Nomad á á áœááºážáááºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠááááŒááºáá²á·ááŒá®áž á¡áá áºá¡áááºážáá»á¬ážá áœá¬ááá¯áááºáž ááá·áºááœááºážáá²á·áááºá áááºážááᯠPlugins áá»á¬ážááŸáá áºááá·áº áá»á²á·ááœááºááá¯ááºááŒá®áž á¡ááŸááºááááºááœáẠá áááºááŒáá¯ááºá¡áááºážá¡ááŒá áºá¡áá»áá¯ážá¡á á¬ážáá»á¬ážááŸáá áºááá·áº áá»á²á·ááœááºááá¯ááºáááºá ááá¯ááá¯áááºááŸá¬á áááºáá±áá¹áá¬áá²á០Kubernetes ááŸáá·áºáá«áá¬ááá·áºá¡áá¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áááºáá¬áá ááá·áºá¡áááºážá¡ááŒá áºááá¯áááºááŸá¯ááá·áº áááºáááá¯ááºááá¯ááºá¡áááºážá¡ááŒá áºááŸáá·áº áááºáá±á¬ááºááŸá¯ááá¯áááºáá®ážááẠá¡ááœáá·áºá¡áá±ážááŸááááºá áááºážá Kubernetes ááᯠááŒááºáááºááá·áºááœááºážáááºáááá¯áá² ááŒá¯ááŒááºááœááºážáá¶ááŸá¯áá»á¬áž áááá¯á¡ááºáá² ááá·áºá áá áºááᯠáá»á²á·ááœááºááẠáá±á¬ááºáááºááœá±ážáá»ááºá áá¬áá»á¬ážááᯠáá±ážáááºá
ááá¯ááá¯á·áá±á¬á¡áá¯á¶ážááŒá¯ááŸá¯áá¥ááá¬ááŸá¬ áá»áœááºá¯ááºááá¯á·á Kubernetes á¡á á¯á¡áá±ážá¡ááœááºážááœáẠáá¯ááºáá±á¬ááºáá±áá±á¬ Prometheus ááŒá áºáááºá áááºážááẠáá®ážááŒá¬ážáááºáá±á¬ááºááŸá¯áá áºáá¯á០áááºááá áºáá»á¬ážááᯠá áááºá á¯áá±á¬ááºážáááºá¡ááœááºá áá»áœááºá¯ááºááá¯á·ááẠáááºáá±á¬ááºááŸá¯áá±á¬áºááŒáá»ááºááœáẠáá±á¬ááºáááºá¡áááºážá¡ááŒá áºá¡áá»áá¯ážá¡á á¬ážáá áºáá¯ááŒá áºááá·áº áááºáá±á¬ááºááŸá¯áá±á¬áºáá®áá¬ááᯠáá±á«ááºážááá·áºááẠááá¯á¡ááºáá«áááºá Prometheus ááẠKubernetes ááœáẠá áááºáá±á¬á¡áá« á áááºááŒáá¯ááºá¡áááºážá¡ááŒá áºá¡áá»áá¯ážá¡á á¬ážááᯠáááºááŸá¯ááá¯ááºáá±á¬ááŒá±á¬áá·áºá á áá áºá¡áá áºá០áááºááá áºáá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬áẠá áááºá á¯áá±á¬ááºážáá«áááºá áá±á¬áºáá±á¬áºá¡áááºááŒá±áá«áááºá
Kubernetes ááá¯á· áá»áœááºá¯ááºááá¯á· ááááá¯á¶áž ááŒáá·áºáá»ááºááŸá¯ááẠáááºá 2018 ááœááºááŒá
áºáááºá ááŒá®ážáá±á¬á· áá®á¡áá»áááºá¡áá±á¬á¡ááœááºážááŸá¬áá±á¬á· áá»áœááºáá±á¬áºááá¯á·áᬠáááºááŒá¿áá¬á០áááŒá¯á¶áá°ážáá«áá°ážá áááºážááẠáááá¬áááºááŸá¬ážáá±á¬ áá»áá¯á·ááœááºážáá»ááºáá»á¬ážáááŸááá² á¡áá±á¬áºáá±ážáááºááŒáááºá
áœá¬ á¡áá¯ááºáá¯ááºáá«áááºá ááá¯á·á¡ááŒáẠáá»áœááºá¯ááºááá¯á·ááẠáááºážááᯠááá¯ááá¯áá»á²á·ááœááºááá¯ááºáááºá ááá±á·áá»áœááºá¯ááºááá¯á·ááááºážáá
áœááºážáááºáá»á¬ážá¡áá¯á¶á¡áá±á¬ááºááŸáááŒá®áž Kubernetes áááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯á¡ááŸáááºá¡áá¯ááºááá¯áá»áœááºá¯ááºááá¯á·ááááºááŸá
áºáááºáá«áááºá áááºááŸáááœáẠKubernetes ááœáẠááœááºááááºáᬠ3000 áá»á±á¬áºááŸááááºá á¡á
á¯á¡áá±ážááẠNodes áá»á¬ážá
áœá¬ááᯠááááºážááá¯ááºáááºá áá
áºáá»áááºáááºážááŸá¬áááºá áááºážáááºáááºáá±á¬ááºááŸá¯áá±ážááá¯ááºáááºá áááºááŒáááºááŒá®ážá¡ááœááºááááºážáá»á¯ááºááá¯ááºáááºá
source: www.habr.com