ááŸááºáá»ááºá áá¬áá¬ááŒááºáá°áááºážáá±á¬ááºážáá«ážááᯠáá±ážáá¬ážáá°ááŸá¬ Google Cloud Solutions Architect áá¬ááá¯áá»ááºáá®ááŒá
áºáááºá Google Cloud ááá±á¬á·ááºá¡ááœáẠá€ááá¯á·á
áºááœááºá áá°ááẠáááºážá áá¯áá¹ááá®á ááá¯ááá¯á¡áá±ážá
áááºáá±á¬ áááºážááœáŸááºáá»áẠá¡áá»ááºážáá»á¯ááºááᯠáá±ážáá¬ážáááºá
á€áá±á¬ááºážáá«ážááœáẠKubernetes ááœáẠááœááºááááºáá¬áá»á¬ážááᯠáááá±á¬ááºá
áœá¬á¡áá¯á¶ážááŒá¯ááá¯ááºááẠáááºáááá¬ážááá·áºááá·áºá¡áá¬áá»á¬ážá
á¬áááºážááᯠááŒááºááœá¬ážáá«áááºá á¡áá±ážá
áááºáá±á·áá¬ááá¯áá°áá»á¬áž áááºááŸá¯ááá·áºáá«áááºá
1. áá°áááºážááœááºááááºáᬠáá áºáá¯ááºááŒááºáž ááá¹ááá¬ážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá«á
á¡ááá®áá±ážááŸááºážááẠKubernetes á¡á
á¯á¡áá±ážááœáẠá¡áá¯ááºáá¯ááºáá±áá«áá ááŸááºáááºážáá»á¬ážá¡ááœáẠáá»á¬ážá
áœá¬áááá¯á¡ááºáá«á áááºá¡áá¯á¶ážááŒá¯áá±áá±á¬ á¡á
á¯á¡áá±ážááœáẠáááá¯áá»á¯ááºááá¯ááºááŸá¯ááŸááá±á¬ áá
áºáá¯ááºááŒááºážá
áá
áºáá
áºáá¯ááᯠáááºáá±á¬ááºáá¬ážááŒá®ážááŒá
áºááœááºááŸááááºá Kubernetes á¡ááºáá»ááºááá¯á¡áá¯á¶ážááŒá¯ááá·áºááá
á¹á
ááœááºá áááºážááŸá¬ áá¬áááºááŸááááºá
ááá¹áááŸááá«á ááŸááºáááºážáá»á¬áž áá±ážááœááºážááá¯ááºáááºá
2. ááœááºááááºáá¬áá»á¬ážááẠááá¯ááºáá¶áá²á·ááŸáá·áº áááŒá±á¬ááºážáá²ááá¯ááºáááºááᯠáá±áá»á¬áá«á á±á
Kubernetes á¡á á¯á¡áá±ážááœáẠááŸááºáááºá áœá¬ áá¯ááºáá±á¬ááºááá¯ááºááẠááœááºááááºáá¬áá»á¬ážááẠááá¯ááºáá¶áá²á·ááŒá áºááŒá®áž áááŒá±á¬ááºážáá²ááá¯ááºáá±á¬ ááœááºááááºáá¬áá»á¬áž ááŒá áºááá«áááºá á€á¡ááŒá±á¡áá±áá»á¬ážááᯠááŒáá·áºáááºážááŒá®ážáááºááŸáá·áºá Kubernetes ááẠáááºážáá¡áá¯ááºááᯠáá¯ááºáá±á¬ááºááá¯ááºááŒá®áž ááá¯á¡ááºááá·áºá¡áá»áááºááŸáá·áº ááá¯á¡ááºááá·áºáá±áá¬áá»á¬ážááœáẠáá»áŸá±á¬ááºááœáŸá¬áá»á¬ážááᯠáááºáá®ážáᬠáá»ááºáá®ážááá¯ááºáááºá
ááá¯ááºáá¶áá²á· ááœááºááááºáá¬á¡ááŒááºáááºááœáẠáááºááá·áºááŒááºááẠ(áááºáááºáááºááŸááá±áá±á¬áá±áá¬) ááá¯áááᯠááááºážáááºážáá¬ážááŒá±á¬ááºáž ááá¯ááá¯áááºá áááºážá¡ááœáẠááá¯á¡ááºáá»ááºáá»á¬ážáá±á«áºáá°áááºá ááá°áá®áá±á¬ ááŒááºáááá¯ááŸá±á¬ááºááŸá¯ á¡áá»áá¯ážá¡á
á¬ážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáá«áááºá
áááŒá±á¬ááºážáá²ááá¯ááºáá±á¬á¡áá¬áá»á¬áž ááœááºááááºáá¬ááẠáááºážááááºáááºážá¡ááœááºáž ááŒá¯ááŒááºááœááºážáá¶áááºááá¯ááºáᯠááá¯ááá¯áááº- á¡ááºááááºáá»á¬ážá áá¬áá±ážááŸá¯áá»á¬ážá ááœá²á·á
ááºážááŸá¯áá¯á¶á
á¶ááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážáááŸááá«á ááá·áºá¡ááá®áá±ážááŸááºážáá¯ááºááᯠá¡ááºááááºáá¯ááºááẠááá¯á¡ááºáá«á ááá¯á·ááá¯áẠpatch áá
áºáá¯ááᯠá¡áá¯á¶ážááŒá¯áá«á áá¯á¶á¡áá
áºáá
áºáᯠáááºáá®ážááŒá®áž áááºážááᯠá¡áá¯á¶ážááŒá¯áá«á ááœááºááááºáá¬ááœá²á·á
ááºážááŸá¯áá¯á¶á
ᶠ(áá¬ážáááºááŒááºážááááºáááºážá ááœáá·áºáá»áááºáááºáááºážáá»ááºááœá±ážáá»ááºá
áá¬áá»á¬áž á
áááºááŒáá·áº) ááᯠááŒááºáááá¯á·ááœáŸá±á·ááẠá¡ááŒá¶ááŒá¯áá¬ážáááºá
pods ááœááºááá·áºááœááºážáá¬ážáá±á¬ ConfigMap ááᯠá¡áá¯á¶ážááŒá¯á Kubernetes ááœáẠááŒáá·áºáá»ááºááœá²á·á
ááºážááŸá¯áá¯á¶á
á¶ááᯠá¡ááºááááºáá¯ááºááŒááºážá á¥ááá¬
3. á¡ááœáá·áºáá°ážáá¶ááœááºááááºáá¬áá»á¬ážááᯠááŸá±á¬ááºááŒááºáá«á
ááá·áºáá¬áá¬áá»á¬ážáá±á«áºááœáẠroot á¡ááŒá
Ạapplications áá»á¬ážá run áá«áá°áž, áá¯ááºáááº? á¡áááºá ááá¯ááºááá¯ááºáá°ááẠá¡ááá®áá±ážááŸááºážáá²ááá¯á· áááºáá«áá áá°ááẠroot access áááŸááááºááŒá
áºáááºá áá°áá®áá±á¬ááá·áºááœááºážá
ááºážá
á¬ážáá»ááºáá»á¬ážááẠá¡ááœáá·áºáá°ážáá¶ááœááºááááºáá¬áá»á¬ážááá¯ááááºáááºááŒááºážááŸáá·áºáááºááá¯ááºáá«áááºá áááºáá¶áá°ááŸá áááºáááºáá»á¬ážááᯠááŒá±á¬ááºážáá²ááẠááá¯á¡ááºáá«áá áááºááẠááœááºááááºáá¬ááᯠáá®ážááŒá¬ážáá±ážááá¯ááºáá«áááºá á
áœááºážááẠoption ááᯠá¡áá¯á¶ážááŒá¯ securityContext
á¡áááºá áááºááẠá¡á
á¯á¡áá±ážáá
áºáá¯ááᯠá
á®áá¶ááá·áºááœá²áá«áá áááºááẠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá
4. root á¡ááŒá áºáááºáááºááŒááºážááá¯ááŸá±á¬ááºááŒááºáá«á
á¡ááœáá·áºáá°ážáá¶ááœááºááááºáá¬áá»á¬ážááᯠááœá±ážááœá±ážááŒá®ážááŒá áºáááºá ááá¯á·áá±á¬áº áááºážá¡ááŒááºá áááºááẠááœááºááááºáá¬á¡ááœááºáž á¡ááºááºáá»á¬ážááᯠroot á¡ááŒá Ạááá¯ááºáá±á¬ááºáá«á ááá¯áá±á¬ááºážáááºááŒá áºáááºá á¡áááºá ááá¯ááºááá¯ááºáá°ááẠáá¯ááºáá¯ááºáá±á¬ááºááŸá¯ááᯠááœáá·áºááŒá¯ááá·áº root áá¯ááºááá¯ááºááœáá·áºááŸááá±á¬ á¡ááá®áá±ážááŸááºážáá áºáá¯ááœáẠáá±ážáá¶áá±á«ááºáá®áá±á¬ á¡á¬ážáááºážáá»ááºááᯠááœá±á·ááŸááá«áá áááºážááẠáááááá±ážááá·áº á¡á¬ážáááºážáá»ááºáá áºáá¯ááŸáá áºááá·áº container ááᯠáá»ááºáá¬ážáá²á·ááá¯ááºááŒá®ážá áááºážááẠhost ááœáẠroot áááŸááááºááŒá áºáááºá
áá«ááᯠááŸá±á¬ááºááŸá¬ážááá¯á· á¡áá±á¬ááºážáá¯á¶ážáááºážáááºážááá±á¬á· ááááá±áá¬ááŸá¬ root á¡áá±áá²á· áá¬ááá¯á០ááááºáááºááá¯á·áá«áá²á áá®ááá¯áá¯ááºááá¯á·á ááœáŸááºááŒá¬ážáá»ááºááá¯áá¯á¶ážááá¯ááºáááºá USER
в Dockerfile
ááá¯á·ááá¯áẠrunAsUser
Kubernetes ááœáẠá¡á
á¯á¡áá±áž á
á®áá¶ááá·áºááœá²áá°ááẠá¡áá¯á¶ážááŒá¯á ááŒáá¹áá¬ááºážáá¬ážáá±á¬ á¡ááŒá¯á¡áá°ááá¯áááºáž á
á®á
ááºáááºááŸááºááá¯ááºáááºá
5. á¡ááá®áá±ážááŸááºážááᯠá á±á¬áá·áºááŒáá·áºááẠááœááºáá°á á±áááºá
ááŸááºáááºážáá±ážááŒááºážáá²á·ááá¯á·áááºá á
á±á¬áá·áºááŒáá·áºááŒááºážááẠá¡ááá®áá±ážááŸááºážá
á®áá¶ááá·áºááœá²ááŸá¯á á¡áá±ážáá«áá±á¬á¡á
áááºá¡ááá¯ááºážáá
áºáá¯ááŒá
áºáááºá Kubernetes á¡ááá¯ááºážá¡ááá¯ááºážááœáẠáá±áááºážá
á¬ážáá±á¬ á
á±á¬áá·áºááŒáá·áºááŒá±ááŸááºážáá»ááºáá
áºáá¯ááŒá
áºáááºá
Stackdriver ááŸá Kubernetes ááá¯ááºááœááº
Prometheus ááẠá¡ááá®áá±ážááŸááºážá០áááºááá
áºáá»á¬ážááᯠHTTP á¡áá¯á¶ážááŸááºááá¯á· áá±ážááá¯á·ááẠáá»áŸá±á¬áºááá·áºáááºá áá®á¡ááœáẠáááá¯ááºáá«áááºá
6. á¡ááºááºá áá»ááºážáá¬áá±áž á¡ááŒá±á¡áá±ááᯠáááŸáá¡á±á¬áẠááŒá¯áá¯ááºáá«á
áá¯ááºáá¯ááºááŸá¯ááœáẠá¡ááºááá®áá±ážááŸááºážá
á®áá¶ááá·áºááœá²ááŸá¯ááẠáááºážáááŒááºáááºáá
áºáá¯áá¯á¶ážá¡á¬áž á
áá
áºáá
áºáá¯áá¯á¶ážááá¯á· áááºááœááºááŒá±á¬ááá¯ááá¯ááºááŸá¯á០á¡áá±á¬ááºá¡áá°ááŒá
áºáááºá á¡ááºááºá áá¯ááºáá±á¬ááºáá±áá«ááá¬ážá á¡áááºááŒá±áá¬áž á¡ááœá¬ážá¡áá¬áááºáá¶ááẠá¡áááºááá·áºááŒá
áºááŒá®áá¬ážá áá°áááºááá¯áá±áá²? á€ááŒá¿áá¬ááá¯ááŒá±ááŸááºážááẠá¡ááœá±á·áá¡áá»á¬ážáá¯á¶ážáááºážáááºážááŸá¬ áá»ááºážáá¬áá±ážá
á
áºáá±ážááŸá¯áá»á¬áž áá¯ááºáá±á¬ááºáááºááŒá
áºáááºá (áá»ááºážáá¬áá±ážá
á
áºáá±ážááŸá¯). Kubernetes ááœáẠá¡áá»áá¯ážá¡á
á¬ážááŸá
áºáá»áá¯ážááŸááááºá
á¡áááºáááºááŒááºážá¡ááœáẠ(á¡áááºá¡áá¹ááá¬ááºá á áºáá±ážááŒááºáž) á¡ááá®áá±ážááŸááºážááœáẠáááºážááẠá¡áá¯ááºáá¯ááºááá¯ááºááŒá®áž áááºážáá¡ááŒá±áá¶ááŸá®ááá¯ááŸá¯áá»á¬ážááᯠáá»á±áááºáá«á "200 OK" áá¯á¶á·ááŒááºááŸá¯ááᯠááŒááºáá±ážááá·áº HTTP á¡áá¯á¶ážááŸááºáá áºáᯠááŸáááá«áááºá á¡áááºááá·áºááŒá áºááá¯á·áá«á (áááºáá±á¬ááºááŸá¯ á¡áááºááá·áº á á áºáá±ážááŒááºáž) á¡ááá®áá±ážááŸááºážááœáẠ"200 OK" áá¯á¶á·ááŒááºááŸá¯ááᯠááŒááºáá±ážááá·áº HTTP á¡áá¯á¶ážááŸááºááŸáááááºááŒá áºááŒá®áž á¡ááá®áá±ážááŸááºážááẠáá»ááºážáá¬áá±á¬á¡ááŒá±á¡áá±ááœááºááŸááá±áá«áá á¡á ááŒá¯ááŒááºážá¡ááá·áºáá»á¬ážááŒá®ážááŒá±á¬ááºááŒá®áž ááá¬ážáááºáá±á¬ááºážááá¯ááŸá¯ááá¯ááºážááẠá¡ááŸá¬ážá¡ááœááºážáááŸááá±á á€á á áºáá±ážááŸá¯áá»á¬ážá¡á á¡ááá®áá±ážááŸááºážááẠá¡áááºááá·áºááŒá áºáá«á Kubernetes ááẠááœááºááááºáá¬ááá¯á· á¡ááœá¬ážá¡áá¬ááá¯áᬠáááºážááŒá±á¬ááºážáá±ážáááºááŒá áºáááºá á¡áááºááŸááºááŒááºáž ááŸáá·áº á¡áááºááá·áºá¡ááŒá±á¡áá±áá»á¬ážááŒá¬áž ááœá¬ááŒá¬ážáá»ááºáááŸááá«á á¡áá¯á¶ážááŸááºááŸá áºáá¯ááᯠáá±á«ááºážá ááºážááá¯ááºáááºá
Google á០Developer Advocate Sandeep Dinesh á áááºá
ááºáá±á¬ááºážáá«ážááœáẠá€á¡ááŒá±á¬ááºážááá¯ááá¯áááºááŸá¯ááá¯ááºáá«áááº- â
7. ááá·áºáá¯á¶áá¬ážááŸááºážááᯠááá¯áá áá¯ááºááœá±ážáá»ááºáá«á
á¡áá»á¬ážáá°ááŸá¬ááŸáá·áºáá¯áá¹áááááá¯á¶á¡áá»á¬ážá
á¯ááẠáá±á¬áºááŒáá¬ážááá·áºáá¯á¶ááŸáá·áºáááºáá°áá±á¬ áááºááŒááºážá
áá
áºááᯠá¡áá¯á¶ážááŒá¯áááºá latest
áá¯á¶áá
áºáá¯á¶ááŸáá
áºáá¯á¶ááá¯á· áááŒá¬ááááœá±á·áá»á¬ážááá¯ááºááẠ- ááŒáá¯áááºááŸááºážáááá¯ááºáá±á¬á áááºáá«ááá²áá² áááºáá±á¬ááºááŸá¯áá»á¬ážááŸáá·áº ááá·áºááœááºážááŸá¯áá»á¬áž ááá¯á¡ááºáá«á á¡á¬ážááá¯ážááááá¯ááºáá«á
ááẠtag ááá¯áá¯á¶ážááá¯ááºáááºá X.Y.Z
(áááºážááá¯á·ááẠá¡ááŒá²áááºážáá®ážáá«áž áááŒá±á¬ááºážáá²áá«) ááá¯á·áá±á¬áº á€ááá
á¹á
ááœááºá áá¯á¶ááœáẠáá¬áá±ážááŸá¯áá»á¬ážááŸáá·áº á¡ááºááááºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠááŒá±áá¬áá¶áá«á áááºá¡áá¯á¶ážááŒá¯áá±ááá·áºáá¯á¶ááœáẠtag áá«áá»áŸáẠX.Y
á€áááºááœáŸá±ááá¯ááá¯ááŸá¯á¡ááœááºáá±á¬ááºážáá±á¬ááœá±ážáá»ááºááŸá¯ááŒá
áºáááºá áááºážááá¯ááœá±ážáá»ááºááŒááºážááŒáá·áº áááºááẠáá¬áá±ážááŸá¯áá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬ááºáááŸáááŒá®áž áá
áºáá»áááºáááºážááœáẠá¡ááá®áá±ážááŸááºážááááºááŒáááºáá±á¬áá¬ážááŸááºážááᯠá¡á¬ážááá¯ážáá«á
PS áá¬áá¬ááŒááºááŸ
áá»áœááºá¯ááºááá¯á·áááá±á¬á·ááºááœááºáááºážáááºáá«
- «
ááœááºááááºáá¬áá»á¬ážá cloud áá°áááºážááŸáá·áº Kubernetes ááá¯ááºáᬠCNCF á á¬áááºážááá¬ážá¡áá Ạ"; - «
ááœááºááááºáá¬á¡ááŒá±áᶠá¡ááá®áá±ážááŸááºážáá»á¬áž áá®ááá¯ááºážáá±ážááœá²ááŒááºážá¡ááœáẠá¡ááŒá±áá¶áá° á áá»áẠ"; - «
Kubernetes áááºáá¬á áá¬ážáá±á¬ááºááŒá áºááẠ(áááŒá¯áááº) áááºážáááºáž 11 áᯠ"; - «
ááá±á¬áá»ááºáááºáá»á¬ážááœáẠKubernetes ááŸáá·áº áá»áœááºá¯ááºááá¯á·áá¡ááœá±á·á¡ááŒá¯á¶ » (áá¯á¶ážáááºáá»áẠáá®áá®ááᯠá¡á á®áááºáá¶á á¬); - «
á á±á¬áá·áºááŒáá·áºááŒááºážááŸáá·áº Kubernetes » (áá¯á¶ážáááºáá»áẠáá®áá®ááᯠá¡á á®áááºáá¶á á¬); - «
áá»áœááºá¯ááºááá¯á·ááẠdapp ááŒáá·áº CI/CD á¡ááœáẠDocker áá¯á¶áá»á¬ážááᯠáá»ááºááŒááºá áœá¬ á¡áááºááŒá±á áœá¬ áááºáá±á¬ááºáá«áááºá » (áá¯á¶ážáááºáá»áẠáá®áá®ááᯠá¡á á®áááºáá¶á á¬); - «
Docker ááŒáá·áº á ááºáááºáááŒáẠáá±ážááá¯á·ááŒááºážá¡áá±á·á¡áá»áá·áºáá»á¬áž » (áá¯á¶ážáááºáá»áẠáá®áá®ááᯠá¡á á®áááºáá¶á á¬); - «
2018 ááœáẠmicroservice áá°ážááœááºááŸá¯ááŒá±á¬áá·áº áá±áá¯á¶ážáá²á·áááºá "á
source: www.habr.com