ááŸááºáá»ááºá áá¬áá¬ááŒááºááá±á¬áá»ááºá០Kubernetes áá«ááá¬ááŸááºáá»á¬ážááŸáá·áºá¡áá°
áá°ááŒá±á¬áá±áá¬á á¡ááá (áá¬áááºáá°)á
áá±á¬ááºáá¯á¶ážáá¯ááºááá¯áááºááŸá¬ áá»áœááºá¯ááºááááºááºáá±á¬á·ááœáẠKubernetes ááŸáá·áºá¡áá¯ááºáá¯ááºáá«áááºá áá±áá¬ááºááŸá°ážááẠáááºážá áááá¯áááºáá¬ááŸáá·áº áááºááá®ááᯠá á¬ážáá¯á¶ážááŒá®áž á¡á¡á±ážáá¶á ááºáá»á¬ážááᯠááááºááá¬áž áááºáááºá á±ááŒá®áž ááááºážááááºážááẠáááºáá²áááºá
á¡áá»áá¯ážáááºáá±á¬ááºááŸá¯ááᯠááŒáŸáá·áºáááºáááºá¡ááœáẠá¡ááŒááºá¡áááºááœáẠá
áá±á¬á·áá¬ááºáá¯á¶
Minikubeá kindá k3sá Docker Desktopá microk8s á áááŒáá·áº - Kubernetes ááᯠáááºááá¯ááºááá»áŸ á¡áááºááŒá±á áœá¬ á¡áá¯á¶ážááŒá¯ááá¯ááºááẠáááºáá®ážáá¬ážáá±á¬ á¡áá±á¬ááºážáá¯á¶ážáááááá¬áá»á¬ážááŸáá·áº áááºážááá¯á·ááᯠáá»á±ážáá°ážáááºáá«áááºá á¡áá±ážá¡áááºáá¬ážá ááá¯á·áá±á¬áº áááºáááºáá²á·ááá¯á· ááŒáá·áºáá±áá«á á±á áá áºáá»áẠááŸááºážáá±áááº- Kubernetes ááẠáá»áœááºá¯ááºá áááºááºáá±á¬á·áá±á«áºááœáẠá¡áá¯ááºáá¯ááºááẠáá®ááá¯ááºážáá¯ááºáá¬ážááŒááºáž áááŸááá«á ááŒá®ážáá±á¬á· áááºááºáá±á¬á·ááá¯ááºááá¯ááºá virtual machines á¡ááœáŸá¬ááœá±á¡ááŸá¶á· ááŒáá·áºáá»á²áá±áá²á· ááœááºááááºáá¬á¡á á¯á¡áá±ážáá²á· á¡áá¯ááºáá¯ááºááá¯á· áá®ááá¯ááºážáá¯ááºáá¬ážáᬠááá¯ááºáá«áá°ážá ááá¬ážá áá¬áá±á¬ááºážáá¬á á¡á áœááºážáá¯ááºááŒáá¯ážá á¬ážáá±ááá·áº áááŒáá¯ááºááŸááºáž áááá¬áááºááŸá¬ážá áœá¬ áááŒáá¯ááºáá±á¬á·áá² á¡á±ážá ááºáá¶ááᯠááŒáá¯ááŒááºá áœá¬áá²á· áá°ážáá±á«áºáááºááá¯ááºáá¬áá²á· áá°á·áá±á«ááºááœá±ááᯠáá®ážááŸáá¯á·ááá¯á· ááŒáá¯ážá á¬ážáá±áᬠáááºááŸá¬ážáá«áááºá
áááºááºáá±á¬á· - áááºááºáá±á¬á· ááá¯ááŒáá«á áá¯á·á
Garden ááŸá¬ á¡áá¯ááºá á ááááºážá ááœááºáá²á·áá²á· 18 ááá±á¬ááºáá០áá«ááá¯áááááºá áá±ááᶠááŒáá·áºáá±ááŸá¯á áá áºáá»á¬áž ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááẠáá¬áá®ááŒá±ááŸááºážáá»ááºááŒá áºáá±á¬ááŒá±á¬áá·áº Garden ááẠááŒá±á¬ááºážááœááºááŒááºááœááºááŸáááŒá®áž ááá¯ááºáá¬áá±á¬á¡ááŒá±áá¶á¡á¯ááºááŒá áºáá»á¬ážá áœá¬ááŸááááºá
ááá¯á¡áá« áá»áœááºá¯ááºááá¯á·ááẠáá±áááœááºážááŸáá·áº á¡áá±ážááááºáž Kubernetes áááºáááºážáá»ááºáá»á¬ážááᯠáá¶á·ááá¯ážááẠá¡ááá·áºááŒá áºáá±áá«ááŒá®á áááºážááẠáá¯ááºáá±á¬ááºááẠááá¯ááá¯ááœááºáá°áá¬áááº- á á¯áá±ážááŒááºážá ááŒáá·áºáá»ááºááŒááºážááŸáá·áº á ááºážáááºááŒááºážááá¯á·ááᯠá¡áá±ážá០á¡á á¯á¡áá±ážáá áºáá¯ááœáẠáá¯ááºáá±á¬ááºááá¯ááºáá«ááŒá®á
á¡ááá¯áá»á¯ááº:
Garden v0.10 ááŒáá·áºá áááºááẠáá±áááœááºáž Kubernetes á¡á á¯á¡áá±ážááᯠáá¯á¶ážáá¯á¶ážáá±á·ááœá¬ážááá¯ááºááŒá®áž áá¯ááºá¡ááŒá±á¬ááºážá¡áá²áá»á¬ážá¡ááœáẠá¡ááŒááºáá¯á¶á·ááŒááºááŸá¯ááᯠáááŸááá²ááŒá áºáááºá áá«ááœá±á¡á¬ážáá¯á¶ážáᬠá¡ááá²á·ááŒá áºááŒá®áž open source ááŒá áºáá«áááºá
áá±áááœááºážááŸáá·áº áá±ážáá¶áá±á«ááºáá®áá±á¬ áááºáááºážáá»ááºáá»á¬ážááœáẠáá°áá®áá±á¬ á¡áááºááŒá±ááŸá¯ááᯠáá¶á
á¬ážááá¯ááºáá«á
áááºážáá²á·á¡á¬áá¯á¶ááᯠáááŒá®áá¬ážá
ááŒá®ážáá±á¬á· áá«ááá¯á·ááŸá¬ ááá¯á áááºáááºá á¬ážá áá¬áá±á¬ááºážáá²á· á¡ááºá¹áá«áááºááœá± á¡áá»á¬ážááŒá®ážááŸáááá¯á· áááºážáá¬áá«áááºá áá±á¬á·ááºáá²á¡á á¯á¡áá±ážáá»á¬ážááᯠáá±áá°áá»á¡áá¯á¶ážááŒá¯ááŒááºážááẠá¡áá°ážáááŒáá·áº áá°ážáá±á«ááºážá¡ááœá²á·áá»á¬ážááŸáá·áº CI ááá¯ááºááá¯ááºážáá»á¬ážá¡ááœáẠááá¯ááá¯áá»ááºááŒáá·áºáá±á¬áááºáá±á¬ááºááŸá¯ááŸááááºá
áááºááá¯áááºážááŒááºá·?
ááááŠážá áœá¬á intra-cluster builder - áááºážááẠstandard Docker daemon ááá¯á·ááá¯áẠKaniko ááŒá áºáá«á á± - ááŸáá·áº intra-cluster registry ááᯠáá»áŸáá±áá¬ážáá«áááºá á¡á á¯á¡ááœá²á·áá áºáá¯áá¯á¶ážá¡ááœááº. ááá·áºá¡ááœá²á·ááẠáá±á¬á·ááºáá²áá±ážáá¬ážáá°á¡á¬ážáá¯á¶ážá¡ááœáẠáááá¯ááºáá±á¬ áááºáá±á¬ááºááŸá¯ áááºááŸáºáá»á¬ážááŸáá·áº áá¯á¶áá»á¬ážááŸáá·áºá¡áá° dev cluster áá áºáá¯ááᯠáá»áŸáá±ááá¯ááºáá«áááºá Garden ááẠá¡áááºážá¡ááŒá Ạhash áá»á¬ážááᯠá¡ááŒá±áá¶á áá¯á¶áá»á¬ážááá¯á· áááºáá»á¬ážááᯠáááºááŸááºáá±ážáá±á¬ááŒá±á¬áá·áº áááºáá»á¬ážááŸáá·áº á¡ááœáŸá¬áá»á¬ážááᯠááá°áá°ážááŒá¬ážááŒá®áž áááááºáááºáž áááºááŸááºáá«áááºá
ááá¯ááá¯áááºááŸá¬ developer ááẠáá¯á¶áá áºáá¯áááºáá®ážááŒá®ážáááºááŸáá·áº áááºážááẠááŒá áºáá¬áááºá á¡ááœá²á·áá áºáá¯áá¯á¶ážá¡ááœáẠáááá¯ááºáá«áááºá. áá±á·á ááºááŸáá·áºá¡áá»áŸ áá»áœááºá¯ááºááá¯á·ááẠáá°áá®áá±á¬á¡ááŒá±áá¶áá¯á¶áá»á¬ážááᯠáá±á«ááºážáá¯ááºáá¯ááºááŒá®áž ááœááºáá»á°áá¬áá»á¬ážááœáẠáá°áá®áá±á¬áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠááŒá¯áá¯ááºááŒáááºá áááºážá¡ááœá¬ážá¡áá¬áá²á· áá»áŸááºá á áºáá®áž áááºáá±á¬áẠááŒá¯ááºážáá®ážáá±áá² áááá»ááºáá¬áž...?
á á áºáá±ážááŸá¯áá»á¬ážááŸáá·áºáááºáááºá á¡áá¬ážáá°ááŒá±á¬ááá¯ááºáááº- áááºážááá¯á·áááááºáá»á¬ážááᯠá¡á á¯á¡ááœá²á·áá áºáá¯áá¯á¶ážááŸáá·áº á¡ááœá²á·áááºáá»á¬ážá¡á¬ážáá¯á¶ážááœáẠáááŸáááá¯ááºáá«áááºá áá±á¬á·ááºáá²áá±ážáá¬ážáá°áá²ááŸáá áºáŠážááẠáá¯ááºáá¡áá»áá¯á·áá±á¬áá¬ážááŸááºážááᯠá ááºážáááºáá«áá á¡áá¬ážáá°á ááºážáááºááŸá¯ááᯠááŒááºáááºáá¯ááºáá±á¬ááºááẠáááá¯á¡ááºáá«á
áá áºáááºážááá¯ááá±á¬áº áááºááẠminikube ááᯠrun ááẠáááá¯á¡ááºáá±á¬á·áááºááá¯ááºá áá®áá¯ááºáá±á«ááºááŸá¯á ááá·áºá¡ááœá²á·á¡ááœáẠáááºážáááºážáá±ážáááºá á¡áá»á¬ážááŒá®áž ááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬áẠáá¯ááºáá±á¬ááºááá¯ááºááá·áº á¡ááœáá·áºá¡áááºážáá»á¬áž - áááá¯á¡ááºáá±á¬ áááºáá±á¬ááºááŸá¯áá»á¬ážááŸáá·áº á ááºážáááºááŸá¯áá»á¬áž áá¯ááºáá±á¬ááºááŒááºáž áááŸááá±á¬á·áá«á
CI áá±á¬ áááºááá¯áá²á
áá»áœááºá¯ááºááá¯á·á¡áá»á¬ážá á¯ááŸá¬ CI ááŸáá·áº local dev ááẠáá®ážááŒá¬ážá á® configure áá¯ááºááẠááá¯á¡ááºáá±á¬ áá®ážááŒá¬ážááá¹áá¬ááŸá áºáá¯ááŒá áºááẠ(áááºážááá¯á·ááẠshared cache ááá¯á¡áá¯á¶ážáááŒá¯áá«) áá°áá±á¬á¡áá»ááºááᯠáá»áœááºá¯ááºááá¯á·á¡áá»á¬ážá á¯á¡áá¯á¶ážááŒá¯ááŒáááºá ááᯠáááºážááá¯á·ááᯠáá±á«ááºážá ááºááŒá®áž ááá¯áá»áŸá¶ááŸá¯áá»á¬ážááᯠáááºááŸá¬ážááá¯ááºáááº-
CI ááœáẠáá°áá®áá±á¬ command áá»á¬ážááᯠáááºáá¯ááºáá±á¬ááºááá¯ááºááŒá®áž ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯á¡ááœááºážá á¡ááŒá Ạáááºáááºážáá»ááºáá áºáá¯áááºážá áááºááŸáºáá»á¬ážááŸáá·áº á ááºážáááºááŸá¯ááááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá«á
á¡ááŸá áºáá¬áá¡á¬ážááŒáá·áºá áááºá CI ááẠáááºáá²á·ááá¯á· áááºáááºážáá»ááºááœáẠá¡áá¯ááºáá¯ááºáá±á¬ developer bot áá áºáá¯á¡ááŒá áºááá¯á· ááŒá±á¬ááºážáá²ááœá¬ážáááºá
á
áá
áºáááŒááºá
ááºáá»á¬áž; áá»á±á¬ááœá±á·áá±á¬ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááŸáá·áºá
ááºážáááºááŸá¯
CI ááá¯ááºááá¯ááºážáá»á¬áž á configuration áá»á¬ážááᯠáááááá¬áᬠááá¯ážááŸááºážá á±ááá¯ááºáááºá áá«ááá¯áá¯ááºááá¯á·á áááºáá±á¬ááºááŸá¯ááœá±á á ááºážáááºááŸá¯ááœá±áá²á· á¡áá¯á¶ážáá»ááŸá¯ááœá±á¡ááœáẠCI ááá± Garden ááᯠrun ááá¯ááºáá«á áááºááŸáá·áº CI ááẠáá°áá®áá±á¬áááºáááºážáá»ááºááá¯á¡áá¯á¶ážááŒá¯áá±á¬ááŒá±á¬áá·áºá áááºááẠCI ááŒá¿áá¬áá»á¬ážááŸáá·áºáááºáááºááŒá®áž ááŒá¯á¶ááœá±á·ááá¯ááºááŒá±áááºážáá«ážáá«áááºá
ááá±áááœááºááá¯ááºáá±á¬ configs áá»á¬ážááŸáá·áº scripts áá»á¬ážááᯠáá°ážáá±á¬áºááŒá®áž ááœááºážááá¯á·ááŒááºážá á á±á¬áá·áºááá¯ááºážááŒááºážá áá»áŸá±á¬áºááá·áºááŒááºážááŸáá·áº á¡áá¯á¶ážáááŸá áááºáá«ááá²áá²áá¯ááºááŒááºáž ... á€á¡áá¬á¡á¬ážáá¯á¶ážááẠá¡ááááºááŒá áºáá±áá«ááŒá®á áááºá ááœá¶á·ááŒáá¯ážáá²áá«á á¡ááá¯ááŸá¯ááºááŸá¬ážááŸá¯áááŸááá«á
ááŸááºážááŸááºážáááºážáááºáž ááá á±áááºá ááẠááá¯á·ááá¯áẠá¡ááŒá¬ážá¡ááœá²á·áááºáá áºáŠážááẠGarden ááŒáá·áº áá áºáá¯áá¯ááᯠáááºáá±á¬ááºááŒááºáž ááá¯á·ááá¯áẠá ááºážáááºáá±á¬á¡áá«á CI á¡ááœáẠá¡áá¬ážáá°ááŒá áºáá²á·áááºá. á¡áááºá áááºááẠá á¬áá±ážááœá² á áááºááŒá®ážááááºážá áá áºá á¯á¶áá áºáᬠááŒá±á¬ááºážáá²ááŒááºážáááŸááá«á CI á¡ááœáẠá ááºážáááºááŸá¯áá»á¬áž (ááá¯á·ááá¯áẠáááºáá±á¬ááºááŸá¯áá»á¬ážáááº) ááŒá¯áá¯ááºááẠáááá¯á¡ááºáá«á Garden ááẠá¡áá¬áá¬ááá¯ááºážááᯠááá¯ááºááá¯ááºáá¯ááºáá±á¬ááºááŒá®áž ááœáŸááºáááºááŒááºážá¡ááŒáá¯áááºáááºážáá»ááºááᯠáááºááŸááºááŒááºážá ááŸá±ážáá±á¬ááºážáá á¹á ááºážáá»á¬ážááᯠááœááºážááá¯á·ááŒááºážá ááá·áº á¡ááŒá¬ážá¡áá¯ááºáá»á¬ážáá®ááá¯á· áááºáááºáá¯ááºáá±á¬ááºáá«á
ááœá²áá±á¬ááºááŸá¯ááŸááá±á¬á¡áá¶á áááºááá¯ááŒáá¯ážá á¬ážáááá²á
ááŒáá¯ááá¯áá«áááº
PS áá¬áá¬ááŒááºááŸ
áááŒá¬áá® áá»áœááºá¯ááºááá¯á·ááẠGarden á¡ááŒáẠá¡ááŒá¬ážáá±á¬ á áááºáááºá á¬ážááœáẠááá±á¬áá»ááºáá»á¬áž áá«áááºááá·áº Kubernetes ááœáẠáááºáááºáá±áá±á¬ á¡ááá®áá±ážááŸááºáž developer áá»á¬ážá¡ááœáẠá¡áá¯á¶ážáááºáá±á¬ á¡áá¯á¶ážá¡áá±á¬ááºáá á¹á ááºážáá»á¬áž ááŒááºáááºáá¯á¶ážáááºááŒááºážááá¯áááºáž áá¯ááºáá±áá±á¬á·ááẠ... ááá¯á¡áá»áááºááœáẠáá»áœááºá¯ááºááá¯á·áááá±á¬á·ááºááœááºáááºáž áááºááŸá¯áá«á
- «
Kubernetes á¡ááŒá¶ááŒá¯áá»ááºáá»á¬ážááŸáá·áº ááŸáá·áºááœááºáá»á¬áž- áá±áááœá¶á·ááŒáá¯ážáá±ážááŸáá·áº Telepresence á¡ááŒá±á¬ááºáž "; - «
Kubernetes pods áá»á¬ážááœáẠá¡ááŸá¬ážááŸá¬ááŒááºááŒááºážá¡ááœáẠkubectl-debug ááááºá¡áẠ"; - «
Kubernetes á¡ááŒá¶ááŒá¯áá»ááºáá»á¬ážááŸáá·áº ááŸáá·áºááœááºáá»á¬áž- dev sites ááá¯á· áááºáá±á¬ááºááœáá·áº "; - «
Minikube ááŒáá·áº Kubernetes ááœáẠá áááºááá¯ááºáá«á "á
source: www.habr.com