áá»áœááºá¯ááºáá¡áááºááŸá¬ Dmitry Sugrobov ááŒá áºáá«áááºá áá»áœááºá¯ááºááẠLeroy Merlin ááœáẠdeveloper áá áºáŠážááŒá áºáááºá á€áá±á¬ááºážáá«ážááœáẠá¡áááºááŒá±á¬áá·áº Helm ááá¯á¡ááºááááºážá Kubernetes ááŸáá·áº á¡áá¯ááºáá¯ááºáá¯á¶ ááá¯ážááŸááºážáá¯á¶á áááááá¬ážááŸááºážááœáẠááŒá±á¬ááºážáá²áá¬ážáááºáá»á¬ážááŸáá·áº áá¯ááºáá¯ááºááŸá¯ááœáẠá¡áá»áááºáááœá²áá² á¡ááá®áá±ážááŸááºážáá»á¬ážááᯠá¡ááºááááºáá¯ááºáááºážááᯠáá»áœááºá¯ááºááŒá±á¬ááŒáá«áááºá
á€áááºááŸá¬ áá®áá¬áá¶áá
áºáá¯á áááá·áºááœááºážá¡áá±á«áº á¡ááŒá±áá¶á á¡áá»ááºážáá»á¯ááºááŒá
áºáááºá
áá¯ááºáá¯ááºááŸá¯ááœáẠKubernetes ááᯠáá¬ááŒá±á¬áá·áº áá¯á¶ážáá¬áá²á
Leroy Merlin ááẠáá¯ááŸá¬ážááŸáá·áº á¥áá±á¬áááŸá DIY áááºáá®áá±ážááœááºááœáẠáŠážáá±á¬ááºáá°áá áºáŠážááŒá áºáááºá áá»áœááºá¯ááºááá¯á·ááá¯áá¹ááá®ááœáẠdeveloper áá áºáá¬áá»á±á¬áºá á¡ááœááºážááá¯ááºážáááºáááºáž 33 ááŸáá·áº ááá¯ááºáá«áá¬ážáááºáá»á¬ážááŸáá·áº áááºááá¯ááºáá»á¬ážááá¯á· áá¬áá±á¬ááºáááºáááºáá° á¡áá»á¬ážá¡ááŒá¬ážááŸááááºá áááºážááá¯á·á¡á¬ážáá¯á¶ážááᯠáá»á±á¬áºááœáŸááºá á±áááºá¡ááœááºá áá»áœááºá¯ááºááá¯á·ááẠá ááºááŸá¯áá¯ááºáááºážá á¶áááºááŸááºáá»ááºáá»á¬ážááᯠááá¯ááºáá¬ááẠáá¯á¶ážááŒááºáá²á·áááºá ááá¯ááºáááá¯áá¬ážáá áºáááá¯áá¬ááᯠá¡áá¯á¶ážááŒá¯á á¡ááá®áá±ážááŸááºážá¡áá áºáá»á¬ážááᯠáááºáá®ážáá«á áááºáááºážáá»ááºáá»á¬ážááᯠáá®ážááŒá¬ážááœá²áá¯ááºááẠááœááºááááºáá¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒá®áž ááá·áºáá»á±á¬áºáá±á¬ ááá¯á·áá±á¬ááºááŸá¯ááᯠáá±áá»á¬á á±áááºá áá®ážááŸá¯ááºááŒááºážá¡ááœáẠKubernetes ááá¯áá¯á¶ážáá«á áá¶á á¯á¶áá®ážááá¯ááºážáá»á¬ážá¡áá¯á¶ážááŒá¯ááŒááºážáá á»á±ážááŸá¯ááºážááẠáá»ááºááŒááºá áœá¬á á»á±ážáááºáá¬áá¬áááº- áááºážááá¬áá»áœááºážáá»ááºáá±á¬á¡ááºáá»ááºáá®áá¬á¡áá±á¡ááœááºááẠá á»á±ážááœááºááœááºááŒá®ážááœá¬ážáá¬áá±ááŒá®áž áááºáá±á¬ááºááŸá¯áá±ážáá°áá»á¬ážááẠKubernetes ááᯠáááºáá±á¬ááºááŸá¯áá áºáá¯á¡ááŒá ẠáááºážááŸááºážáá¬ááŒáááºá
Kubernetes áá¯ááºááá»áŸá¡áá¬á¡á¬ážáá¯á¶ážááᯠá¥ááá¬á¡á¬ážááŒáá·áºá Jenkins á¡áá»áá¯á·ááŸáá·áº docker-compose ááᯠscripts áá»á¬ážááŒáá·áº áá¯á¶ážá¡á¯ááºáá¬ážááŒááºážááŒáá·áº á¡ááŒá¬ážáááºážáááºážáá»á¬ážááŒáá·áº áá¯ááºáá±á¬ááºááá¯ááºáááºá ááá¯á·áá±á¬áº á¡áááºááá·áºáá¯ááºáá¬ážááŒá®áž áá¯á¶ááŒááºá áááºáá»ááá±á¬ ááŒá±ááŸááºážáá»ááºáá áºáá¯ááŸááá«á ááááᯠá¡áááºááŒá±á¬áá·áº ááŸá¯ááºááœá±ážá á±ááááºážá ááá¯á·ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááẠKubernetes ááá¯á· áá±á¬ááºááŸááá¬ááŒá®áž áááºážááᯠáá¯ááºáá¯ááºááŸá¯ááœáẠá¡áá¯á¶ážááŒá¯áá±áááºááŸá¬ áá áºááŸá áºááŸáááŒá®ááŒá áºáááºá áááºááŸáááœáẠáá»áœááºá¯ááºááá¯á·ááœáẠá¡áá¯á¶ážááŸá áºáá¬ááá·áºááŸááá±á¬ á¡áááºá¡ááŒá®ážáá¯á¶áž Kubernetes á¡á á¯á¡áá±áž ááŸá áºááá·áºáá±ážáá¯ááŸááááºá
Kubernetes ááŸá YAML ááá¯ááºááŒá®ážáá»á¬áž áá»áááºá á¬
Kubernetes ááœáẠmicroservice áá áºáá¯ááᯠá áááºáááºá áá»áœááºá¯ááºááá¯á·ááẠááŒáá·áºáá»ááºááŒááºážá áááºáá±á¬ááºááŸá¯á Ingressá ConfigMapá áá»áŸáá¯á·ááŸááºáá»ááºáá»á¬áž á¡ááœáẠ- á¡áááºážáá¯á¶áž YAML ááá¯ááºáá«ážáá¯ááᯠáááºáá®ážááŒá®áž áááºážááá¯á·ááᯠá¡á á¯á¡áá±ážááá¯á· ááá¯á·áá±ážáá«áááºá áá±á¬ááºá¡ááá®áá±ážááŸááºážá¡ááœáẠáá°áá®áá±á¬ á¡áá¯ááºá¡ááá¯ážáá»á¬ážááᯠáá±ážáááºááŒá áºááŒá®áž áááááá áºáá»áá¯ážááŸáá·áº á¡ááŒá¬ážáá áºáá¯ááᯠáá±ážáá«áááºá áá»áœááºá¯ááºááá¯á·ááẠáááºáááºážáá»ááºá¡áá±á¡ááœááºááŒáá·áº á á¬ááœááºá á¬áááºážá¡áá±á¡ááœááºááᯠááŒáŸá±á¬ááºáá«áá áá»áœááºá¯ááºááá¯á·ááẠáá¬ááŸáá·áºáá»á®áá±á¬ ááá¯ááºáá»á¬ážááᯠáááŸáááŒá®ážááŒá áºáá¬á áááºážááẠáááºááŒáœáá±á¬áááºáááºážáá»ááºáá»á¬ážááᯠááá·áºááœááºážá ááºážá á¬ážááŒááºážáááŸááá±ážáá«á
Helm áá¡áááááááºážááááºážáá° Adam Reese ááẠ"ááá±á¬ááá¬ážááá¯ááááºáááºáá²á·áááºá
- YAML ááᯠáá°ážáá°áá« - YAML ááá¯ááºááᯠáá±á¬áºáá®áá°ážáá«á
- Paste YAML - áá°ážááá·áºááá¯ááºáá«á
- Fix Indents - á¡ááºáááºážáá»á¬ážááᯠááŒááºáááºáá«á
- Repeat - ááŒááºáá¯ááºáá«á
ááœá±ážáá»ááºááœáá·áºááẠá¡áá¯ááºáá¯ááºáá±á¬áºáááºáž YAML ááá¯ááºáá»á¬ážááᯠá¡ááŒáááºáá»á¬ážá áœá¬ áá°ážáá°ááááºááŒá áºáááºá á€á ááºáááºážááᯠááŒá±á¬ááºážáá²áááºá¡ááœáẠHelm ááᯠáá®ááœááºáá²á·áááºá
Helm ááá¯áá¬áá¬áá²
ááááŠážá
áœá¬ áááºáž- á¡áá¯ááºáááºáá±áá»á¬áááºááá¯á¡ááºáá±á¬ áááá¯ááááºáá»á¬ážááᯠááŸá¬ááœá±ááŒá®áž ááá·áºááœááºážááẠáá°áá®áá±ážáááºá á¥ááá¬á¡á¬ážááŒáá·áº MongoDB ááá¯ááá·áºááœááºážáááºá áááºáááºááá¬ážáááºáááºááá¯ááºááá¯á·ááœá¬ážááŒá®áž binaries ááá¯áá±á«ááºážáá¯ááºáá¯ááºáááºáááá¯á¡ááºáá«á á¡áááá·áºááᯠrun áá¯á¶áá¬ááŒá
áºáááºá helm install stable/mongodb
.
áá±á¬ááºáá áºáá»ááºááá±á¬á· áá²á·á ááº- áá¯á¶á á¶ááœááºá¡ááºáá»ááºááá¯ááºáá»á¬ážááᯠparameterize áá¯ááºáááºáá°áá®áá±ážáááºá Kubernetes ááŸá YAML ááá¯ááºáá»á¬ážááŒáá·áº á¡ááŒá±á¡áá±ááá¯á· ááŒááºááœá¬ážááŒáá«á áá¯á·á áá°áá®áá±á¬ YAML ááá¯ááºááá¯áá±ážááẠááá¯ááá¯ááœááºáá°áááºá áááºážááœáẠáá±áá¬áá»áá¬ážáá°á¡áá»áá¯á·ááᯠááá·áºáááºá Helm ááẠáááºááá¯ážáá»á¬ážááᯠá¡á á¬ážááá¯ážáááºááŒá áºáááºá ááá¯ááá¯áááºááŸá¬á ááŒá®ážáá¬ážáá±á¬ Scaffolds áá»á¬ážá¡á á¬ážá ááá¯á¡ááºáá±á¬áááºááá¯ážáá»á¬ážááᯠá¡áá»áááºááŸáá·áºáááŒá±ážáá® á¡á á¬ážááá¯ážááá·áº templates á¡á á¯áá áºáᯠááŸááááá·áºáááºá
ááááá¡áá±áá²á· áá²á·á ááº- ááŒáá·áºáá»ááºáá¬á áá¬. áááºážááŸáá·áºá¡áá° áááºááẠá¡ááá®áá±ážááŸááºážáá»á¬ážááᯠááá·áºááœááºážá ááŒááºááŸáá·áºáᬠá¡ááºááááºáá¯ááºááá¯ááºáá«áááºá áá«ááᯠáááºááá¯áá¯ááºáááá²ááá¯áᬠá¡ááŒá±ááŸá¬ááŒáá·áºáá¡á±á¬ááºá
áááºáááá¯ááºááá¯ááºá¡ááºááºáá®áá±ážááŸááºážáá»á¬ážááá¯á¡áá¯á¶ážááŒá¯ááẠHelm ááá¯á¡áá¯á¶ážááŒá¯áááºáž
ááá¬ážáááºáá±á¬áºááŒáá»ááºááᯠááá¯ááºáá¬ááŒá®áž Helm client ááᯠááá·áºááœááºáá»á°áá¬ááœáẠááá·áºááœááºážááŒáá«á
áá¯á·
- áá¯á¶á á¶áá»á¬ážááŒáá·áº ááá¯ááºááœá²áá áºáá¯ááᯠááœáŸááºááŒáá«á
- ááá¯ááºááᯠ.tar ááœááºáá¯ááºááá¯ážááŒá®áž áááºážááá¯ááœáŸááºááŒáá«á
- ááá°áá¬áá¯á¶á á¶ááᯠá¡áá±ážááááºážááá¯ááŸá±á¬ááºááŸá¯ááœáẠáá¬ážááŸáááŒá®áž Helm áááá¯ááºážááá·áºááŸá ááá¯ááŸá±á¬ááºáá¬ááá¯á· ááá·áºááºáá áºáá¯ááá·áºáá«á
áááºááá¯ážáá»á¬áž - values.yaml ááŸáá·áº ááá¯ááºáá áºáá¯áááºáž ááá¯á¡ááºáá«áááºá ááá¯áá±áá¬á០áá±áá¬áá»á¬ážááᯠááá°áá¬áá¯á¶á á¶áá²ááá¯á· ááá·áºááœááºážááœá¬ážáá«áááºá á¡á²áá«ááá¯áááºáž áááºáá®ážááŒáá¡á±á¬ááºá
Helm á áá¯ááááá¬ážááŸááºážááœáẠáá±á¬ááºáááºáá¬áᬠá¡ááá®áá±ážááŸááºážáá
áºáᯠ- Tiller ááŸááááºá áááºážááẠKubernetes ááŒááºáááœááºááœá²áá¬ážááŒá®áž Helm áááá¯ááºážááá·áºáá¶á០áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠá
á±á¬áá·áºááá¯ááºážáᬠáá±á«áºáá±á¬á¡áá«ááœáẠááá¯á¡ááºáá±á¬áááºááá¯ážáá»á¬ážááᯠáá¯á¶á
á¶áááááºáá²ááá¯á· á¡á
á¬ážááá¯ážááŒá®áž Kubernetes ááá¯á· áá±ážááá¯á·áááºá
Helm 3 ááẠááá¯ááá¯ááá¯ážááŸááºážáááº- áá¬áá¬áá±á«áºááœáẠááá°áá¬áá¯á¶á
á¶áá»á¬ážááᯠáá¯ááºáá±á¬ááºááá·áºá¡á
á¬ážá á¡áá»ááºá¡áááºáá»á¬ážááᯠááᯠHelm client áááºááœáẠáá¯á¶ážáá¯á¶ážáá»á¬ážáá»á¬áž áá¯ááºáá±á¬ááºááŒá®áž Kubernetes API ááá¯á· ááá¯ááºááá¯ááºáá±ážááá¯á·áá«áááºá á€ááá¯ážááŸááºážááŸá¯ááẠá¡á
á¯á¡ááœá²á·áá¯á¶ááŒá¯á¶áá±ážááᯠááá¯ááá¯áá±á¬ááºážááœááºá
á±ááŒá®áž ááŒáá·áºáá»ááá±ážá¡á
á®á¡á
ááºááᯠááœááºáá°áá»á±á¬ááœá±á·á
á±áááºá
á¡á¬ážáá¯á¶ážáááºááá¯á¡áá¯ááºáá¯ááºáá²á
á¡áááá·áºááᯠrun helm install
. á¡ááá®áá±ážááŸááºážáá¯ááºáá±ááŸá¯áá¡áááºááá¯ááœáŸááºááŒááŒá®áž values.yaml ááá¯á·áááºážááŒá±á¬ááºážáá±ážááŒáá«á
áá¯á·á á¡áá¯á¶ážááœáẠááá¬ážáááºááŸáááá·áºáá±áá¬ááŸáá·áº ááá¬ážáá¡áááºááᯠáá»áœááºá¯ááºááá¯á·ááœáŸááºááŒáá«áááºá á¥ááá¬ááœááºá áááºážááá¯á·ááẠ"lmru" ááŸáá·áº "á¡áá±á¬ááºážáá¯á¶ážááá¬áž" á¡áá®ážáá®ážááŒá
áºáááºá
helm install --name bestapp --values values.yaml lmru/bestchart
áááºážá¡á
á¬áž áááºáá¶áá¯ááºáá±á¬ááºááá·áºá¡áá« á¡áááá·áºááᯠáá
áºááŒáááºáᬠáá¯ááºáá±á¬ááºááá¯ááºáááºá install
á¡áá¯á¶ážááŒá¯ááẠááá¯á¡ááºáááºá upgrade
. ááá¯ážááŸááºážáááºá¡ááœááºá command ááŸá
áºáá¯á¡á
á¬ážá áááºááẠcommand ááᯠrun ááá¯ááºáááºá upgrade
á¡ááá¯áá±á¬á·ááŒáá·áº --install
. áááá¡ááŒááẠáá¯ááºáá±á¬ááºáá±á¬á¡áá«á Helm ááẠáá¯ááºáá±ááŸá¯ááᯠááá·áºááœááºážááẠá¡áááá·áºáá
áºáᯠáá±ážááá¯á·áááºááŒá
áºááŒá®áž áááºážááᯠá¡áá¬áááºááœáẠá¡ááºááááºáá¯ááºáááºááŒá
áºáááºá
helm upgrade --install bestapp --values values.yaml lmru/bestchart
Helm ááŒáá·áº á¡ááºááá®áá±ážááŸááºážá áá¬ážááŸááºážá¡áá áºáá»á¬ážááᯠá¡áá¯á¶ážáá»ááŒááºážá á¡áááºá¡áá²áá»á¬áž
áá¬ááºáááºážáá²ááŸá¬ áá®á¡áá»áááºááŸá¬á Who Wants to Be a Millionaire ááááááºáá²á· áá
á¬ážáá±áá¬ááŒá
áºááŒá®áž á¡ááºááºáá¬ážááŸááºážááᯠá¡ááºááááºáá¯ááºááá¯á·á¡ááœáẠHelm ááᯠáááºááá¯ááááá²ááá¯áᬠá¡ááŒá±ááŸá¬áá±áá«áááºá
Helm á¡áá¯ááºáá¯ááºáá¯á¶ááᯠáá±á·áá¬áá±á ááºááœáẠá¡áá¯á¶ážááŒá¯áá±ááá·áº á¡ááá®áá±ážááŸááºážáá¬ážááŸááºážáá»á¬ážááᯠá¡ááºááááºáá¯ááºááẠááŒáá¯ážá á¬ážáá±á¬á¡áá« áá°ážáááºážáá±á¬ á¡ááŒá¯á¡áá°ááŒá±á¬áá·áº á¡á¶á·á¡á¬ážááá·áºáá²á·ááááºá áá»áœááºá¯ááºááẠá¡ááá®áá±ážááŸááºážáá¯ááºááᯠá¡ááºááááºáá¯ááºáᬠDocker registry ááá¯á· áá¯á¶á¡áá áºáá áºáᯠá¡ááºáá¯ááºáá¯ááºáᬠááŒáá·áºáá»ááºááŸá¯á¡áááá·áºááᯠáá±ážááá¯á·áá²á·ááẠ- áá¬ááŸáááŒá áºáá²á·áá«á á¡á±á¬ááºáá±á¬áºááŒáá«áá»á¬ážááẠá¡ááá®áá±ážááŸááºážáá»á¬ážááᯠá¡ááºááááºáá¯ááºááẠáá¯á¶ážááá¡á±á¬ááºááŒááºáá±á¬ áááºážáááºážá¡áá»áá¯á·ááŒá áºáááºá áááºážááá¯á·áá áºáá¯á á®ááᯠá¡áá±ážá áááºáá±á·áá¬ááŒááºážááŒáá·áºá áááºááẠáá°áááá¬áá¡ááœááºážááá¯ááºážááœá²á·á ááºážáá¯á¶ááŸáá·áº á€ááááºááŸá¬ážáá±á¬á¡ááŒá¯á¡áá°á¡ááœáẠá¡ááŒá±á¬ááºážáááºážáá»á¬ážááᯠáááºáá¬ážáááºáá¬áááºá
áááºážáááºáž 1. áá±á¬ááºáá¯á¶ážááœááºááŸáááááºážá á¡áá»ááºá¡áááºáááŒá±á¬ááºážáá«ááŸáá·áº
ááŒá±á¬áá¬ážáááá¯áá²á helm upgrade
áá«ááá¯ááẠáá¬ááŸááŒá
áºááá¬áá°ážá Helm ááẠáá¬ááŸáááŒá±á¬ááºážáá²áá±ážáᯠáááºáááºááŒá
áºááŒá®áž á¡ááá®áá±ážááŸááºážááᯠá¡ááºááááºáá¯ááºááẠKubernetes ááá¯á· á¡áááá·áºá
á¬áá±ážááá¯á·ááẠáááá¯á¡ááºáá«á
á€áá±áá¬ááŸáá·áº á¡á±á¬ááºááœááºá áá±á¬ááºáá¯á¶ážáááºááºááᯠááá°áá¬á¡ááŒá áºáᬠááŒááá¬ážáááºá á€áááºááᯠáááºáááºááŸááºáá±á¬á¡áá«ááœááºá ImagePullPolicy ááá·áºáááºáá»ááºááá°áá²á Kubernetes ááẠáá¯ááºáá¯á¶á¡á¬áž docker ááŸááºáá¯á¶áááºááŒááºážá០á¡áá»áááºááá¯ááºáž áá±á«ááºážáá¯ááºáá¯ááºáááºááŒá áºáááºá áá¯ááºáá¯ááºááŸá¯ááœáẠáá±á¬ááºáá¯á¶ážáá±á«áºááᯠá¡áá¯á¶ážááŒá¯ááŒááºážááẠáááá¯áá¬ážá¡ááºáá² áá±ážááœááºááá¯ážáá»áá¯ážáá»á¬áž ááŒá áºá á±áááºá
áááºážáááºáž 2á áá¯á¶ááœáẠLABEL ááᯠá¡ááºááááºáá¯ááºáá«á
áá±ážáá¬ážáááá¯áá«áá²á
áááºážáááºáž 3- áá±á¬á·ááá¯áá¯á¶ážáá«á --force
áááºá
áœá²á
á¬á¡á¯ááºááá¯ááŸáá·áºááŒá®áž ááá¯á¡ááºáá±á¬áá±á¬á·ááᯠááŸá¬ááŒáá·áºáá¡á±á¬ááºá áá±á¬á·áá»ááºááẠá¡áááá¹áá«ááºá¡ááŸááá¯á¶ážááŒá
áºáááºá --force
. áááá¬áááºááŸá¬ážáá±á¬á¡áááºááŸááá±á¬áºáááºážá á¡áá°á¡áá¬áááºáá»áŸá±á¬áºááá·áºáá¬ážáááºááŸáá·áºááá°á á¡ááºááá®áá±ážááŸááºážááᯠá¡ááºááááºáá¯ááºááá¯ááºážááá·áºá¡á
á¬áž áááºážáá
á
áºááŸááºáá±á¬áááºááœááºáá»ááºááŸá¬ FAILED á¡ááŒá±á¡áá±ááœááºááŸááá±á¬ áá¯ááºáá±ááŸá¯ááᯠááŒááºáááºááá°áááºááŒá
áºáááºá áááºááẠá€áá®ážááᯠá¡áá¯á¶ážáááŒá¯áá«áá áááºááẠá¡áááá·áºáá»á¬ážááᯠáááºááá¯ááºáá¯ááºáá±á¬ááºááẠááá¯á¡ááºáááºá helm delete && helm install --replace
. áááºážá¡á
á¬áž áá±á¬á·ááᯠá¡áá¯á¶ážááŒá¯ááẠá¡ááŒá¶ááŒá¯áá¬ážáááºá --force
á€á¡áááá·áºáá»á¬ážááᯠáááºááá¯ááºáá¯ááºáá±á¬ááºááŒááºážááᯠá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºáá±ážáááºá áá®áá²ááŸá¬ á¡áá»ááºá¡ááẠááá¯áá»á¬ážáááºá
áááºážáááºáž 4á Kubernetes ááœáẠá¡ááœáŸááºážáá»á¬ážááᯠááá¯ááºááá¯ááºááŒá±á¬ááºážáá«á
ááœáŸááºááŒá¬ážáá»ááºááᯠá¡áá¯á¶ážááŒá¯á á¡ááœáŸááºážááᯠá¡á
á¯á¡áá±ážááœáẠááá¯ááºááá¯ááºááœááºážáá¶ááŒááºážá kubectl edit
- ááá±á¬ááºážáá²á·á
áááºáá°ážá á€áá¯ááºáá±á¬ááºáá»ááºááẠáá¯ááºáá±á¬ááºáá±ááá·áº á¡ááá®áá±ážááŸááºážááŸáá·áº á
áááºááŒáá·áºáá»ááºáááºá¡ááœáẠáá°ááá±ážááá¯á·áá¬ážááá·áº áá
áºáá¯á¡ááŒá¬áž á¡áá»ááºá¡áááºáá»á¬áž ááœá²ááœá²ááŸá¯ááŒá
áºá
á±áááºá á€ááá
á¹á
ááœáẠá¡áá¯á¶ážááŒá¯áá±á
áẠHelm á á¡ááŒá¯á¡áá°ááẠáááºážááá¬ážááŸááºážááŸáá·áº ááœá²ááŒá¬ážáááº- Helm 2 ááẠáááºááá·áºá¡áá¬ááá¯áá»áŸ áá¯ááºáá±á¬ááºáááºááá¯ááºáá«á ááŸáá·áº Helm 3 ááẠá¡ááá®áá±ážááŸááºážá áá¬ážááŸááºážá¡áá
áºááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºááŒá
áºáááºá á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áºá Helm á¡áá¯ááºáá¯ááºáá¯á¶ááᯠáá¬ážáááºááẠááá¯á¡ááºáá«áááºá
Helm áááºááá¯á¡áá¯ááºáá¯ááºááá²á
á¡ááá®áá±ážááŸááºážáá áºáá¯ááẠáááºážááá±á¬ááºáá¯á¶ážááœááºááŸáááááºážá ááŒá±á¬ááºážáá²ááœá¬ážááŒááºážááŸááááŸá áá¯á¶ážááŒááºááẠHelm ááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá
- Kubernetes ááœáẠá¡ááºááá®áá±ážááŸááºážááᯠáá¯ááºáá±á¬ááºáá±ááŒááºážá
- values.yaml á¡áá áºááŸáá·áº áááºááŸáááá¬áž;
- Helm á á¡ááœááºážááá¯ááºáž áá¯ááºááŒááºáá»áẠá¡áá»ááºá¡áááºáá»á¬ážá
ááá¯ááá¯áááá»ááºáá°áá»á¬ážá¡ááœááº- Helm ááẠáá¯ááºáá±ááŸá¯áá»á¬ážááŸáá·áºáááºáááºááá·áº á¡ááœááºážááá¯ááºážá¡áá»ááºá¡áááºáá»á¬ážááᯠáááºááá·áºáá±áá¬ááœáẠááááºážáááºážááááºážáá¡áááá·áºááá¯á¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážááŒáá·áº helm history
Helm ááᯠá¡áá¯á¶ážááŒá¯á ááá·áºááœááºážáá¬ážáá±á¬ áá¬ážááŸááºážáá»á¬ážá¡ááŒá±á¬ááºáž á¡áá»ááºá¡áááºá¡á¬ážáá¯á¶ážááᯠáá»áœááºá¯ááºááá¯á· áááŸááá«áááºá
áá±ážááá¯á·áá¬ážáá±á¬ áá¯á¶á
á¶áá»á¬ážááŸáá·áº áááºááá¯ážáá»á¬ážá¡ááŒá±á¬ááºáž á¡áá±ážá
áááºá¡áá»ááºá¡áááºáá»á¬ážáááºáž ááŸááá«áááºá áá»áœááºá¯ááºááá¯á· áá±á¬ááºážááá¯ááá¯ááºáááº-
Helm á áá¯ááááá¬ážááŸááºážááœááºá á€á¡áá»ááºá¡áááºááẠâOWNER=TILLERâ áá¶ááááºááŒáá·áº á¡ááŸááºá¡áá¬ážááŒá¯áá¬ážááá·áº ConfigMap ááœáẠTiller (áá¯á¶ááŸááºá¡á¬ážááŒáá·áºkube-system) áááºáááºáá±ááá·áº áá°áá®áá±á¬ namespace ááœááºáááºááŸááááº-
Helm ááááááá¬ážááŸááºáž áá±á«áºáá¬áá±á¬á¡áá« á¡áá»ááºá¡áááºáá»á¬ážááẠáá»áŸáá¯á·ááŸááºáá»ááºáá»á¬ážááá¯á· áá°ážááŒá±á¬ááºážááœá¬ážááŒá®áž á¡ááá®áá±ážááŸááºážáááºáááºáá±ááá·áº áá°áá®áá±á¬ namespace ááá¯á· ááŒá±á¬ááºážááœá¬ážáááºá áááºážááŒá±á¬áá·áºá áá°áá®áá±á¬áá¯ááºááœáŸááºááŸá¯á¡áááºááŒáá·áº ááá°áá®áá±á¬ namespaces áá»á¬ážááœáẠá¡ááá®áá±ážááŸááºážáá»á¬ážá
áœá¬ááᯠáá
áºááŒáá¯ááºáááºáááºáž áá¯ááºáá±á¬ááºááá¯ááºáá²á·áááºá áá¯ááááá¬ážááŸááºážááœáẠnamespace áá»á¬ážááᯠáá®ážááŒá¬ážááœá²áá¬ážáá±á¬áºáááºáž áá
áºáá¯ááŸáá·áºáá
áºáᯠááœáŸááºážááá¯ážááá¯ááºáá±á¬á¡áá«ááœáẠááŒááºážáááºáá±á¬ áá±á«ááºážááá¯ááºááŸá¯ááŒá
áºáá²á·áááºá
áá¯ááá Helm ááẠá¡ááºááááºáá áºáᯠááá¯á¡ááºááŒááºáž ááŸáá áááŸá áá¬ážáááºááẠááŒáá¯ážá á¬ážáá±á¬á¡áá«ááœáẠááááºážá¡áá»ááºá¡ááẠá¡áááºážá¡ááŒá ẠááŸá áºáá¯áᬠá¡áá¯á¶ážááŒá¯áááº- ááᯠáá±ážáá¬ážááá·áº á¡áá¬ááŸáá·áº ConfigMap ááœáẠáá«ááŸáááá·áº áá¯ááºáá±ááŸá¯áá»á¬ážááŸáá·áº áááºáááºááá·áº á¡ááœááºážááá¯ááºáž á¡áá»ááºá¡ááẠááŒá áºáááºá
áááá Helm ááẠáá¯á¶ážáááºážááœá¬ážáá±á«ááºážá
ááºážááŒááºážáá»á°áá¬ááᯠá¡áá¯á¶ážááŒá¯áááº- ááá¯á¡áá»ááºá¡áááºáá»á¬ážá¡ááŒáẠKubernetes ááœáẠááá¯áááºááŸááá¯ááºáá±á¬ááºáá±áá±á¬ á¡ááá®áá±ážááŸááºážááá¯áááºáž ááá·áºááœááºážá
ááºážá
á¬ážáá«áááºá
á€á¡ááŒá±á¬ááºážááŒá±á¬áá·áº Helm áá¬ážááŸááºážáá±á¬ááºážááẠá¡á
á¯á¡áá±ážááŸá á¡ááºááºááá®áá±ážááŸááºážá¡áá»ááºá¡áááºáá»á¬ážááᯠááá·áºááœááºážá
ááºážá
á¬ážááŒááºážáááŸááá±á¬ááŒá±á¬áá·áºá ááá¯á·áá±á¬áº Helm 3 ááẠá¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááᯠáááºáá¶áááŸáááŒá®áž á¡áá¯á¶ážáá»ááŸá¯á¡áá
áºááᯠá¡áá¯á¶ážáá»áááºá¡ááœáẠáá±ážááá¯á·áááºááŒá
áºáááºá
áááºážáááºáž 5. --recreate-pods ááá¯ááºááᯠá¡áá¯á¶ážááŒá¯áá«á
áá±á¬á·ááŒáá·áº --recreate-pods
áá±á¬á·áá»ááºááŒáá·áº ááẠáá°áá
á®á
ááºáá¬ážááá·áºá¡ááá¯ááºáž á¡á±á¬ááºááŒááºááá¯ááºáááºááŒá
áºáááºá --force
. ááœááºááááºáá¬áá»á¬ážááẠááŒááºáááºá
áááºáááºááŒá
áºááŒá®ážá imagePullPolicy- áá±á¬ááºáá¯á¶ážáááºááºá¡ááœáẠá¡ááŒá²áááºážáá°áá«á (á¡áááºá¡á±á¬ááºááŒá±ááŸááºá
á¯ááœáẠáá±á¬ááºáááºá¡áá»ááºáá»á¬áž) á¡á Kubernetes ááẠáá¯ááºáá¯á¶áá¬ážááŸááºážá¡áá
áºááᯠáá±á«ááºážáá¯ááºáá¯ááºááŒá®áž á
áááºáááºááŒá
áºáááºá áááºážááᯠá¡áá±á¬ááºážáá¯á¶ážáááºážááŒáá·áº áá¯ááºáá±á¬ááºáááºááá¯ááºáá«- ááŒáá·áºáá»ááºááŸá¯á StrategyType ááᯠááá·áºááœááºážá
ááºážá
á¬ážááŒááºážáááŸááá²á áááºážááẠá¡ááá®áá±ážááŸááºážáá±á¬ááºážáá»á¬ážá¡á¬ážáá¯á¶ážááᯠáá¯ááºááááºááááºááá¯ááºááŒá®áž á¡áá
áºáá»á¬ážááᯠá
áááºááá¯ááºáá«áááºá ááŒááºáááºá
áááºá
ááºá¡ááœááºážá á
áá
áºá¡áá¯ááºááá¯ááºáá«á á¡áá¯á¶ážááŒá¯áá°áá»á¬ážáá¯áá¹ááá±á¬ááºáááá·áºáááºá
Kubernetes ááá¯ááºááá¯ááºááœááºáááºáž á¡áá¬ážáá°ááŒá¿áá¬áá»áá¯ážááẠá¡áá»áááºá¡áá±á¬áºááŒá¬ áááºááŸááá±áá«áááºá á¡áá¯ááœáá·áºáᬠá ááŸá
áºááŸáááŒá®á
Helm ááẠá¡ááá®áá±ážááŸááºážá¡á¬ážáá¯á¶ážááᯠááá¯ážááŸááºážá áœá¬ááááºááŒá®áž á¡áá®ážáá¬ážááŸá ááœááºááááºáá¬á¡áá áºáá»á¬ážááᯠááœáá·áºáá±ážáááºá á¡ááºááá®áá±ážááŸááºážá¡á¬áž áááºááá·áºááŒááºážáááŒá áºá á±áááºá¡ááœáẠáá¯ááºáá¯ááºáá±ážááœáẠáááºážááᯠáááºáá¯ááºáá±á¬ááºááááá«á áááºážááẠááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááá¯á¡ááºáá»ááºáá»á¬ážá¡ááœááºáᬠááá¯á¡ááºááŒá®áž á ááºááŒáá·áºáááºáááºážáá»ááºááœááºáᬠáá¯ááºáá±á¬ááºááá¯ááºáá«áááºá
Helm ááᯠá¡áá¯á¶ážááŒá¯á á¡ááá®áá±ážááŸááºážáá¬ážááŸááºážááᯠáááºááá¯á· á¡ááºááááºáá¯ááºááááºáááºážá
Helm ááá¯á· áá±ážááá¯á·áá¬ážáá±á¬ áááºááá¯ážáá»á¬ážááᯠááŒá±á¬ááºážáá²áá«áááºá áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá áááºážááá¯á·ááẠimage tag áá±áá¬ááœáẠá¡á á¬ážááá¯ážáá¬ážáá±á¬ áááºááá¯ážáá»á¬ážááŒá áºáááºá áá±á¬ááºáá¯á¶ážááœááºááŸááá±á¬á ááá¯ááºáá¯ááºááá¯ááºáá±á¬áááºáááºážáá»ááºáá»á¬ážááœáẠá¡áá¯á¶ážááŒá¯áá±á·ááŸáááá·áºááá á¹á ááœááºá ááŒá±á¬ááºážáá²ááá¯ááºáá±á¬á¡áá»ááºá¡áááºááẠKubernetes ááá¯ááºááá¯ááºá¡ááœáẠá¡áá¯á¶ážááááºááá·áº ááŸááºáá»ááºáá áºáá¯ááŒá áºááŒá®áž Helm á¡ááœáẠáááºážááẠá¡ááá®áá±ážááŸááºážááᯠá¡ááºááááºáá¯ááºáááºááá¯á¡ááºááŸá¯á¡ááœáẠá¡áá»ááºááŒááŸá¯áá áºáá¯á¡ááŒá Ạáá¯ááºáá±á¬ááºáááºááŒá áºáááºá ááŸááºáá»ááºáááºááá¯ážááᯠááŒáá·áºááẠááœá±ážáá»ááºá áá¬áá»á¬áž-
- áá»áááºážáááºááá¯áž á
á¶áá¯ááºáá±á¬ááºáá»ááºááᯠá¡áá¯á¶ážááŒá¯á -
{{ randAlphaNum 6 }}
.
ááááá±ážáá»ááºáá áºáá¯ááŸááááº- ááá¯ááá¯á·áá±á¬ááœá²ááŒá¬ážááá·áºááá¬ážááá¯á¡áá¯á¶ážááŒá¯ááŒá®áž ááŒáá·áºáá»ááºááŸá¯áá áºáá¯á á®ááŒá®ážáá±á¬ááºá ááŸááºáá»ááºáááºááá¯ážááẠáá áºáá°áá°ážááŒá¬ážáááºááŒá áºááŒá®áž Helm ááẠá¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááŸááááºáᯠáá°ááááá·áºáááºá áá»áœááºá¯ááºááá¯á·ááẠáááºážááá¬ážááŸááºážááᯠáááŒá±á¬ááºážáá¬ážáá»áŸááºááẠáá»áœááºá¯ááºááá¯á·ááẠá¡ááá®áá±ážááŸááºážááᯠá¡ááŒá²áááºáž ááŒááºáááºá áááºááááºááŒá áºáá«áááºá á ááºáááºá áá¬áááŸááá±á¬ááŒá±á¬áá·áº á€á¡áá¬ááẠáá áá¯ážááááºááá±á¬áºáááºáž á¡áááºáááŒá±áá±ážáá«á - áááºááŸáááá¯áá°ážááá·áºáá«á áááºá
áœá²ááŸáá·áºá¡áá»ááẠ-
{{ .Release.Date }}
.
áá°ááœá²áá áºáá¯ááẠá¡ááŒá²áááºážáá°ážááŒá¬ážáá±á¬ááááºážááŸááºáá áºáá¯ááŸáááá·áº áá»áááºážáááºááá¯ážáá áºáá¯ááŸáá·áº áááºáá°áááºá - ááá¯ááá¯ááŸááºáááºáá±á¬áááºážáááºážááŸá¬ á¡áá¯á¶ážááŒá¯áááºááŒá
áºáááºá áá»ááºáááºááŸááºáá»á¬áž. á€áááºááŸá¬ áá¯á¶á SHA ááá¯á·ááá¯áẠgit ááŸá áá±á¬ááºáá¯á¶áž commit á SHA ááŒá
áºáááºá
{{ .Values.sha }}
.
áááºážááá¯á·ááᯠáá±ááœááºááŒá®áž áá±á«áºááá¯ááá·áºáááºááŸá Helm áá¯á¶ážá áœá²áá°áᶠáá±ážááá¯á·ááẠááá¯á¡ááºáá«áááºá á¥ááᬠJenkins á¡ááá®áá±ážááŸááºážá ááŒá±á¬ááºážááœá¬ážáááºááá¯ááẠchecksum á ááŒá±á¬ááºážááœá¬ážáááá·áºáááºá ááá¯á·ááŒá±á¬áá·áº Helm ááẠááá¯á¡ááºááá·áºá¡áá«ááŸáᬠá¡ááá®áá±ážááŸááºážááᯠá¡ááºááááºáá¯ááºáááºááŒá áºáááºá
áá»áœááºá¯ááºááá¯á·áááŒáá¯ážá á¬ážááŸá¯áá»á¬ážááᯠá¡áá»ááºážáá»á¯á¶ážááŒáá·áºááŒáá«á áá¯á·
- Helm ááẠááá¯ážáá±á¬ááºáááºáá±á¬ááºááŸá¯á¡áááºážáá¯á¶ážáááºážááŒáá·áº á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááᯠááŒá¯áá¯ááºáááºá ááá¯á·ááŒá±á¬áá·áº Docker Registry ááŸá á¡ááá®áá±ážááŸááºážáá¯á¶á¡ááá·áºááœáẠáááºááá·áºááŒá±á¬ááºážáá²ááŸá¯áááᯠá¡ááºááááºáá áºáᯠáááŒá áºáá±á«áºá á±áá«- á¡áááá·áºááᯠáá¯ááºáá±á¬ááºááŒá®ážáá±á¬áẠáá¬ááŸááŒá áºáá¬áááºááá¯ááºáá«á
- áá±á¬á·
--force
ááŒá¿áá¬ááŸááá±á¬ áá¯ááºáá±ááŸá¯áá»á¬ážááᯠááŒááºáááºááá°ááẠá¡áá¯á¶ážááŒá¯ááŒá®áž á¡áááºážá¡ááŒáẠá¡ááºááááºáá»á¬ážááŸáá·áº áááºá ááºááŸá¯áááŸááá«á - áá±á¬á·
--recreate-pods
á¡ááá®áá±ážááŸááºážáá»á¬ážááᯠá¡áááºážá¡áá»áẠá¡ááºááááºáá¯ááºáááºá ááá¯á·áá±á¬áº áááºážááᯠáá»ááºáá®ážáá±á¬áááºážáááºážááŒáá·áº ááŒá¯áá¯ááºáááá·áºáááº- áááºážááẠááœááºááááºáá¬á¡á¬ážáá¯á¶ážááᯠáá¯ááºáááẠááááºááœá¬ážáááºááŒá áºáááºá á¡áá¯á¶ážááŒá¯áá°áá»á¬ážááẠáááºážááᯠáá¶á á¬ážááááá·áºáááºá áááºááẠáá¯ááºáá¯ááºáá±ážááœáẠáááºážááᯠááá¯ááºááá·áºáá«á - ááœáŸááºááŒá¬ážáá»ááºááᯠá¡áá¯á¶ážááŒá¯á Kubernetes á¡á
á¯á¡áá±ážááá¯á· ááá¯ááºááá¯ááºááŒá±á¬ááºážáá²ááŸá¯áá»á¬áž ááŒá¯áá¯ááºáá«á
kubectl edit
Don't- áá»áœááºá¯ááºááá¯á·ááẠáá®ááœááºááŸá¯ááᯠáá»áá¯ážáá»ááºáááºááŒá áºááŒá®áž Helm áá¬ážááŸááºážáá±á«áºáá°áááºá á¡ááŒá¯á¡áá° ááœá²ááŒá¬ážáá«áááºá - Helm áá¬ážááŸááºážá¡áá ẠááœááºááŸááá¬áá±á¬á¡áá«ááœáẠáá»á¬ážá áœá¬áá±á¬ ááœá²ááŒá¬ážááŸá¯áá»á¬áž áá±á«áºáá¬áááºá Helm repository ááŸá ááŒá¿áá¬áá»á¬ážááᯠááŸááºážáááºážáá±á¬ áá¬áá¬á áá¬ážááŒáá·áº áá±á¬áºááŒáá¬ážááŒá®áž áááºážááá¯á·ááẠááá·áºá¡á¬áž á¡áá±ážá áááºá¡áá»ááºá¡áááºáá»á¬ážááᯠáá¬ážáááºááẠáá°áá®áá±ážáá«áááºá
- ááá¬ážáá áºáá¯ááá¯á· áááºážááŒááºááá¯ááºáá±á¬ ááŸááºáá»ááºáá»á¬ážááᯠáá±á«ááºážááá·áºááŒááºážááẠáááºážááᯠááá¯á ááá¯ááºáá»á±á¬áá®ááœá±ááŒá áºá á±áááºá áááºážááẠááá·áºá¡á¬áž á¡áá»áááºáááá¯ááºážáá² á¡ááá®áá±ážááŸááºážááᯠááŸááºáááºá áœá¬ áá¯ááºááá¯ááºá á±áááºááŒá áºáááºá
"ááá¹áá¬á·ááŒáááºážáá»ááºážáá±áž" á¡ááœá±ážááẠááááááºáááºá¡á¬ážáá¯á¶ážááœááºá¡áá¯ááºáá¯ááºáááº- á¡áá¯á¶ážáááŒá¯áá®á ááŒá®ážáá±á¬ááºááá¯ááºáá² ááœáŸááºááŒá¬ážáá»ááºáá»á¬ážááá¯áááºáá«á ááŒáá·áºá á¯á¶áá±á¬ á¡áá»ááºá¡áááºáá»á¬ážááŒáá·áºáᬠáá¯á¶ááŒááºá áááºáá»ááá±á¬ á áá áºáá»á¬ážááᯠáááºáá±á¬ááºááá¯ááºááŒá®áž áá¯á¶ážá áœá²áá°áá»á¬ážááᯠáá»á±á¬áºááœáŸááºá á±áááºááŒá áºáááºá
á¡ááŒá¬ážáááºá ááºááá·áºááºáá»á¬áž-
á¡ááá¡áá»áœááºáž áá¶ááá±á¬áẠ3 Helm áááá¬ážáááºáááºááºááá¯áẠGitHub ááŸá Helm repository 25 á¡áá¯á¶ážáááºáá±á¬ Kubernetes áá°ážááºáá»á¬áž- á¡áá¯á¶ážáá»ááŒááºážááŸáá·áº á á®áá¶ááá·áºááœá²ááŸá¯
áá®á¡á
á®áááºáá¶á
á¬ááᯠááááá¯á¶áž áááºááŒáá²á·áᬠááŒá
áºáá«áááºá
source: www.habr.com