ΠΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π².: 16 ΠΌΠ°Ρ ΡΡΠΎΠ³ΠΎ Π³ΠΎΠ΄Π° β Π·Π½Π°ΡΠΈΠΌΠ°Ρ Π²Π΅Ρ
Π° Π² ΡΠ°Π·Π²ΠΈΡΠΈΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄Π»Ρ Kubernetes β Helm. Π ΡΡΠΎΡ Π΄Π΅Π½Ρ Π±ΡΠ» ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΏΠ΅ΡΠ²ΡΠΉ Π°Π»ΡΡΠ°-ΡΠ΅Π»ΠΈΠ· Π±ΡΠ΄ΡΡΠ΅ΠΉ ΠΊΡΡΠΏΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° β 3.0. ΠΡ Π²ΡΡ
ΠΎΠ΄ ΠΏΡΠΈΠ½Π΅ΡΡΡ Π² Helm ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΈ Π΄ΠΎΠ»Π³ΠΎΠΆΠ΄Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π² Kubernetes-ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π΅ Π²ΠΎΠ·Π»Π°Π³Π°ΡΡ Π±ΠΎΠ»ΡΡΠΈΠ΅ Π½Π°Π΄Π΅ΠΆΠ΄Ρ. Π ΡΠ°ΠΊΠΎΠ²ΡΠΌ ΠΎΡΠ½ΠΎΡΠΈΠΌΡΡ ΠΈ ΠΌΡ ΡΠ°ΠΌΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Helm Π΄Π»Ρ Π΄Π΅ΠΏΠ»ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ: ΠΌΡ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π»ΠΈ Π΅Π³ΠΎ Π² ΡΠ²ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ CI/CD
15 ΠΎΠΊΡΡΠ±ΡΡ 2015 Π³ΠΎΠ΄Π° ΡΠΎΠ΄ΠΈΠ»ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ, Π½ΡΠ½Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΊΠ°ΠΊ Helm. ΠΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ΅Π· Π³ΠΎΠ΄ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ Helm ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΠ»ΠΎΡΡ ΠΊ Kubernetes, ΠΏΠΎΠΏΡΡΠ½ΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π°Π΄ Helm 2. Π ΠΈΡΠ½Π΅ 2018 Π³ΠΎΠ΄Π° Helm
Π ΡΡΠΎΠΉ ΡΡΠΎΠΌ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π΅ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ ΡΠΎΠΌ, Ρ ΡΠ΅Π³ΠΎ Π²ΡΠ΅ Π½Π°ΡΠΈΠ½Π°Π»ΠΎΡΡ, ΠΊΠ°ΠΊ ΠΌΡ Π΄ΠΎΡΠ»ΠΈ Π΄ΠΎ Π½ΡΠ½Π΅ΡΠ½Π΅ΠΉ ΡΡΠ°Π΄ΠΈΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ Π°Π»ΡΡΠ°-ΡΠ΅Π»ΠΈΠ·Π΅ Helm 3, ΠΈ ΠΎΠ±ΡΡΡΠ½Ρ, ΠΊΠ°ΠΊ ΠΌΡ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΠΌ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡΡ Π΄Π°Π»ΡΡΠ΅.
ΠΡΠ°ΡΠΊΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅:
- ΠΈΡΡΠΎΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Helm;
- Π½Π΅ΠΆΠ½ΠΎΠ΅ ΠΏΡΠΎΡΠ°Π½ΠΈΠ΅ Ρ Tiller’ΠΎΠΌ;
- ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΡΠ°ΡΡΠΎΠ²;
- ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Π»ΠΈΠ·Π°ΠΌΠΈ;
- ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΡ ΡΠ°ΡΡΠΎΠ²;
- library charts;
- ΡΡΠΎ Π΄Π°Π»ΡΡΠ΅?
ΠΡΡΠΎΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Helm
Π ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅
Helm 1 Π½Π°ΡΠΈΠ½Π°Π»ΡΡ ΠΊΠ°ΠΊ Open Source-ΠΏΡΠΎΠ΅ΠΊΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Deis. ΠΡ Π±ΡΠ»ΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ ΡΡΠ°ΡΡΠ°ΠΏΠΎΠΌ, deisctl
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ (ΠΊΡΠΎΠΌΠ΅ ΠΏΡΠΎΡΠ΅Π³ΠΎ) Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Deis Π²
Π ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅ 2015-Π³ΠΎ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΡΠΌΠ΅Π½ΠΈΡΡ ΠΊΡΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π²Π΅Π»ΠΈ Deis (Π½Π° ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΉ Π² Deis Workflow) Ρ Fleet Π½Π° Kubernetes. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΠ΅ΡΠ²ΡΡ
Π±ΡΠ» ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ deisctl
. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π΅Π³ΠΎ Π΄Π»Ρ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Deis Workflow Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ Fleet.
Helm 1 Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΠΏΠΎ ΠΎΠ±ΡΠ°Π·Ρ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΠΈΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Homebrew, apt ΠΈ yum. ΠΠ³ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΡΠ²Π»ΡΠ»ΠΎΡΡ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΈΡ Π·Π°Π΄Π°Ρ, ΠΊΠ°ΠΊ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΠΈ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Kubernetes. ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ Helm Π±ΡΠ» ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π² 2015 Π³ΠΎΠ΄Ρ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ KubeCon Π² Π‘Π°Π½-Π€ΡΠ°Π½ΡΠΈΡΠΊΠΎ.
ΠΠ°ΡΠ° ΠΏΠ΅ΡΠ²Π°Ρ ΠΏΠΎΠΏΡΡΠΊΠ° Ρ Helm ΡΡΠ°Π±ΠΎΡΠ°Π»Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π΅ ΠΎΠ±ΠΎΡΠ»ΠΎΡΡ Π±Π΅Π· ΡΠ΅ΡΡΠ΅Π·Π½ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ. ΠΠ½ Π±ΡΠ°Π» Π½Π°Π±ΠΎΡ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠΎΠ² Kubernetes, ΡΠ΄ΠΎΠ±ΡΠ΅Π½Π½ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Π²ΠΎΠ΄Π½ΡΡ YAML-Π±Π»ΠΎΠΊΠΎΠ² (front-matter)*, ΠΈ Π·Π°Π³ΡΡΠΆΠ°Π» ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π² Kubernetes.
* ΠΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π².: Π‘ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Helm Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² Kubernetes Π±ΡΠ» Π²ΡΠ±ΡΠ°Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ YAML, Π° ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π»ΠΈΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ Jinja ΠΈ Python-ΡΠΊΡΠΈΠΏΡΡ. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± ΡΡΠΎΠΌ ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Helm Π²ΠΎΠΎΠ±ΡΠ΅ ΠΌΡ ΠΏΠΈΡΠ°Π»ΠΈ Π² Π³Π»Π°Π²Π΅ Β«ΠΡΠ°ΡΠΊΠ°Ρ ΠΈΡΡΠΎΡΠΈΡ HelmΒ»
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΠ»Π΅ Π² YAML-ΡΠ°ΠΉΠ»Π΅, Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ:
#helm:generate sed -i -e s|ubuntu-debootstrap|fluffy-bunny| my/pod.yaml
ΠΠ»Π°ΡΡΠ½ΠΎ, ΡΡΠΎ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°ΡΠΎΡΡ, Π½Π΅ ΠΏΡΠ°Π²Π΄Π° Π»ΠΈ?
ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ ΡΡΠΎΡ ΡΠ°Π½Π½ΠΈΠΉ Kubernetes-ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΎΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π» ΠΆΠ΅ΡΡΠΊΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ-ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ» ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΡΡ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΠΌ Π±ΡΠ»ΠΎ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΆΠ΅Π»ΠΎ, ΡΡΠΎ R&D-ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Deis Workflow ΠΏΡΠΈΡΠ»ΠΎΡΡ Π½Π΅ΡΠ»Π°Π΄ΠΊΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΏΠΎΠΏΡΡΠ°Π»ΠΈΡΡ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ Π½Π° ΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ β Π²ΠΏΡΠΎΡΠ΅ΠΌ, ΡΠ΅ΠΌΠ΅Π½Π° ΠΈΠ΄Π΅ΠΈ ΡΠΆΠ΅ Π±ΡΠ»ΠΈ ΠΏΠΎΡΠ΅ΡΠ½Ρ. ΠΠ°ΡΠ° ΠΏΠ΅ΡΠ²Π°Ρ ΠΏΠΎΠΏΡΡΠΊΠ° ΡΡΠ°Π»Π° ΠΎΡΠ»ΠΈΡΠ½ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ: ΠΌΡ ΠΎΡΠΎΠ·Π½Π°Π»ΠΈ, ΡΡΠΎ ΠΏΠΎ-Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ ΡΠ²Π»Π΅ΡΠ΅Π½Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠ°Π³ΠΌΠ°ΡΠΈΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΡΠ΅ΡΠ°ΡΡΠΈΡ ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π΄Π»Ρ Π½Π°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
ΠΠΏΠΈΡΠ°ΡΡΡ Π½Π° ΠΎΠΏΡΡ ΠΏΡΠΎΡΠ»ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΌΡ ΠΏΡΠΈΡΡΡΠΏΠΈΠ»ΠΈ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Helm 2.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Helm 2
Π ΠΊΠΎΠ½ΡΠ΅ 2015 Π³ΠΎΠ΄Π° Ρ Π½Π°ΠΌΠΈ ΡΠ²ΡΠ·Π°Π»Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° Google. ΠΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π½Π°Π΄ ΠΏΠΎΡ ΠΎΠΆΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ Kubernetes. Deployment Manager Π΄Π»Ρ Kubernetes Π±ΡΠ» ΠΏΠΎΡΡΠΎΠΌ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π΄Π»Ρ Google Cloud Platform. Β«ΠΠ΅ Ρ ΠΎΡΠΈΠΌ Π»ΠΈ ΠΌΡ, β ΡΠΏΡΠΎΡΠΈΠ»ΠΈ ΠΎΠ½ΠΈ, β ΠΏΠΎΡΡΠ°ΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π½Π΅ΠΉ Π½Π° ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΡ ΠΎΠ΄ΡΡΠ² ΠΈ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ?Β»
Π ΡΠ½Π²Π°ΡΠ΅ 2016 ΠΊΠΎΠΌΠ°Π½Π΄Ρ Helm’Π° ΠΈ Deployment Manager’Π° Π²ΡΡΡΠ΅ΡΠΈΠ»ΠΈΡΡ Π² Π‘ΠΈΡΡΠ»Π΅, ΡΡΠΎΠ±Ρ ΠΎΠ±ΠΌΠ΅Π½ΡΡΡΡΡ ΠΈΠ΄Π΅ΡΠΌΠΈ. ΠΠ΅ΡΠ΅Π³ΠΎΠ²ΠΎΡΡ Π·Π°Π²Π΅ΡΡΠΈΠ»ΠΈΡΡ Π°ΠΌΠ±ΠΈΡΠΈΠΎΠ·Π½ΡΠΌ ΠΏΠ»Π°Π½ΠΎΠΌ: ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΎΠ±Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Helm 2. ΠΠΌΠ΅ΡΡΠ΅ Ρ Deis ΠΈ Google ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΠ»ΠΈΡΡ ΠΏΠ°ΡΠ½ΠΈ ΠΈΠ·
ΠΡ Ρ ΠΎΡΠ΅Π»ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΡΠΎΡΡΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Helm, Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
- ΡΠ°Π±Π»ΠΎΠ½Ρ ΡΠ°ΡΡΠΎΠ² Π΄Π»Ρ ΠΊΠ°ΡΡΠΎΠΌΠΈΠ·Π°ΡΠΈΠΈ;
- Π²Π½ΡΡΡΠΈΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄;
- ΠΏΠ΅ΡΠ²ΠΎΠΊΠ»Π°ΡΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΠ°ΡΡΠΎΠ²;
- ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ;
- ΡΠ²Π΅ΡΠ΄ΡΡ ΠΏΡΠΈΠ²Π΅ΡΠΆΠ΅Π½Π½ΠΎΡΡΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΡΠΈΡΠΌΠΈ.
ΠΠ»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΡΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ Π² ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ Helm Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π²ΡΠΎΡΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ. ΠΡΠΎΡ Π²Π½ΡΡΡΠΈΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π½Π°Π·ΡΠ²Π°Π»ΡΡ Tiller ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π»ΡΡ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠ΅ΠΉ Helm-ΡΠ°ΡΡΠΎΠ² ΠΈ ΠΈΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ.
Π‘ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π²ΡΡ
ΠΎΠ΄Π° Helm 2 Π² 2016-ΠΌ Kubernetes ΠΎΠ±ΡΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠΌΠΈ Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΡΠΌΠΈ. ΠΠΎΡΠ²ΠΈΠ»ΠΎΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠΎΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΎΠ»Π΅ΠΉ (
ΠΠ° ΡΠΎΠ½Π΅ Π²ΡΠ΅Ρ ΡΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Helm ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π» ΡΠ»ΡΠΆΠΈΡΡ Π²Π΅ΡΠΎΠΉ ΠΈ ΠΏΡΠ°Π²Π΄ΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Kubernetes. ΠΠΎΡΠ»Π΅ ΡΡΠ΅Ρ Π»Π΅Ρ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π½ΠΎΠ²ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΡΡΠ°Π»ΠΎ ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΏΠΎΡΠ° Π²Π½ΠΎΡΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ΄ΠΎΠ²ΡΡ Π±Π°Π·Ρ, ΡΡΠΎΠ±Ρ Helm ΠΈ Π΄Π°Π»ΡΡΠ΅ ΠΌΠΎΠ³ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡ ΡΠ°ΡΡΡΡΠΈΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠΈ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠ΅ΠΉΡΡ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠ΅ΠΆΠ½ΠΎΠ΅ ΠΏΡΠΎΡΠ°Π½ΠΈΠ΅ Ρ Tiller’ΠΎΠΌ
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Helm 2 ΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ»ΠΈ Tiller ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ Π½Π°ΡΠ΅ΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ Deployment Manager’ΠΎΠΌ ΠΎΡ Google. Tiller ΠΈΠ³ΡΠ°Π» Π²Π°ΠΆΠ½ΡΡ ΡΠΎΠ»Ρ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°: ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ» ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°ΠΌ, ΡΠΊΡΠΏΠ»ΡΠ°ΡΠΈΡΡΡΡΠΈΠΌ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ Π½Π°Π±ΠΎΡΠΎΠΌ ΡΠ΅Π»ΠΈΠ·ΠΎΠ².
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΎΠ»Π΅ΠΉ (RBAC) Π±ΡΠ» ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½ Π² Kubernetes 1.6, ΡΠ°Π±ΠΎΡΠ° Ρ Tiller’ΠΎΠΌ Π² production ΡΡΠ°Π½ΠΎΠ²ΠΈΠ»Π°ΡΡ ΡΠ»ΠΎΠΆΠ½Π΅Π΅. ΠΠ·-Π·Π° ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π½Π°ΡΠ° ΠΏΠΎΠ·ΠΈΡΠΈΡ ΡΠΎΡΡΠΎΡΠ»Π° Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ ΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ»ΠΎ Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡ Ρ Helm ΠΈ Kubernetes Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠΎΠ³ΡΡΠΆΠ°ΡΡΡΡ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΡΠ° ΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΌΠΎΠ³Π»Π° Π½Π°Π΄Π΅Π»ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠΈΡΠΎΠΊΠΈΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΠΌΡ Π½Π΅ Π±ΡΠ»ΠΈ Π½ΡΠΆΠ½Ρ. DevOps- ΠΈ SRE-ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ°ΠΌ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΈΠ·ΡΡΠ°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°Π³ΠΈ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Ρ Tiller Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ (multi-tenant) ΠΊΠ»Π°ΡΡΠ΅Ρ.
Π£Π·Π½Π°Π², ΠΊΠ°ΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»ΠΈ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Helm Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ , ΠΌΡ ΠΏΠΎΠ½ΡΠ»ΠΈ, ΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅Π»ΠΈΠ·Π°ΠΌΠΈ Tiller’Π° Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π½Π° Π²Π½ΡΡΡΠΈΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Ρ Π°Π±Π° Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ ΡΠ΅Π»ΠΈΠ·Π΅. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ API-ΡΠ΅ΡΠ²Π΅ΡΠ° Kubernetes, Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΡΡ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π·Π°ΠΏΠΈΡΡ ΠΎΠ± ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π² Kubernetes.
ΠΡΠ½ΠΎΠ²Π½ΡΡ Π·Π°Π΄Π°ΡΡ Tiller’Π° ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ ΠΈ Π±Π΅Π· Tiller’Π°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΠ΅ΡΠ²ΡΡ Π½Π°ΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ Helm 3 ΡΡΠ°Π» ΠΏΠΎΠ»Π½ΡΠΉ ΠΎΡΠΊΠ°Π· ΠΎΡ Tiller’Π°.
Π‘ ΡΡ
ΠΎΠ΄ΠΎΠΌ Tiller’Π° ΠΌΠΎΠ΄Π΅Π»Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Helm ΡΠ°Π΄ΠΈΠΊΠ°Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΡΠΈΠ»Π°ΡΡ. Helm 3 ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Π½ΡΠ½Π΅ΡΠ½Π΅Π³ΠΎ Kubernetes. Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Helm ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΡΠ°ΡΡΠΎΠ²
ΠΠ° Π²ΡΡΠΎΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΠ°ΡΡΠΎΠ² β ΡΡΠΎ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΡΡΡ. ΠΠ»ΠΈΠ΅Π½Ρ Helm ΠΏΠ°ΠΊΡΠ΅Ρ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°ΡΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΠ°ΡΡΠΎΠ² β ΡΡΠΎ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΉ HTTP-ΡΠ΅ΡΠ²Π΅Ρ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ index.yaml ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΠ°ΡΡΠ°ΠΌΠΈ.
Π₯ΠΎΡΡ Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π² ΡΠΎΠΌ, ΡΡΠΎ API ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΡΠ°ΡΡΠΎΠ² ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ ΠΊ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΡ, Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ²:
- Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΡΠ°ΡΡΠΎΠ² ΠΏΠ»ΠΎΡ ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π² production-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ. ΠΠ°Π»ΠΈΡΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ API Π΄Π»Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΊΡΠ°ΠΉΠ½Π΅ Π²Π°ΠΆΠ½ΠΎ Π² production-ΡΡΠ΅Π½Π°ΡΠΈΡΡ .
- ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ HelmβΠ° Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ°ΡΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ, ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ°ΡΡΠ°, ΡΠ²Π»ΡΡΡΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ChartβΠ°.
- Π ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, Π² Π΄Π²Π° ΡΠ°Π·Π° ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Ρ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°. ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π±ΡΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠΌΠ½ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΡΡΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ.
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡ-ΡΠ°ΠΉΠ»Π° Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ°, Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΡΡΠΎΠ² ΡΡΠ»ΠΎΠΆΠ½ΠΈΠ»ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ.
ΠΡΠΎΠ΅ΠΊΡ
ΠΠΎ Π·Π½Π°Π΅ΡΠ΅ Π»ΠΈ Π²Ρ, ΡΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡ Distribution Π±ΡΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠΉ ΡΠΎΡΠΌΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°, Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²?
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΈΠ»ΠΈΡΠΌ
ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΏΡΠ΅Π΄ΡΡΠΎΡΡΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ
Helm-ΡΠ°ΡΡΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ½ΠΎ
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Π»ΠΈΠ·Π°ΠΌΠΈ
Π Helm 3 ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΡΡΡ Π²Π½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΏΠ°ΡΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²:
- release object β ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ;
- release version secret β ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π»ΠΈΠ· Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ).
ΠΡΠ·ΠΎΠ² helm install
ΡΠΎΠ·Π΄Π°Π΅Ρ release object ΠΈ release version secret. ΠΡΠ·ΠΎΠ² helm upgrade
ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π°Π»ΠΈΡΠΈΡ release object (ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ΅Π½ΡΡΡ) ΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ release version secret, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π½ΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ.
Release object ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅Π»ΠΈΠ·Π΅, Π³Π΄Π΅ ΡΠ΅Π»ΠΈΠ· β ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΡΡΠ° ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΎ ΡΠ΅Π»ΠΈΠ·Π΅. Release object ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π²ΡΡΡΡΠΏΠ°Π΅Ρ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅ΠΌ Π²ΡΠ΅Ρ release version secret’ΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Helm-ΡΠ°ΡΡΠΎΠΌ.
Release version secret ΡΠ²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ΅Π»ΠΈΠ· Ρ ΡΠ΅ΡΠΈΠ΅ΠΉ ΡΠ΅Π²ΠΈΠ·ΠΈΠΉ (ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΡ, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, ΠΎΡΠΊΠ°ΡΡ, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅).
Π Helm 2 ΡΠ΅Π²ΠΈΠ·ΠΈΠΈ Π±ΡΠ»ΠΈ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ. ΠΡΠ·ΠΎΠ² helm install
ΡΠΎΠ·Π΄Π°Π²Π°Π» v1, ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ (upgrade) β v2, ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. Release ΠΈ release version secret Π±ΡΠ»ΠΈ ΡΠ²Π΅ΡΠ½ΡΡΡ Π² Π΅Π΄ΠΈΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΊΠ°ΠΊ revision. Revision’Ρ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΡ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½, ΡΡΠΎ ΠΈ Tiller, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π»ΠΎ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅Π»ΠΈΠ· Π±ΡΠ» Β«Π³Π»ΠΎΠ±Π°Π»Π΅Π½Β» Π² ΠΏΠ»Π°Π½Π΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½; Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΈΠΌΠ΅Π½ΠΈ.
Π Helm 3 ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅Π»ΠΈΠ· ΡΠ²ΡΠ·Π°Π½ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ release version secret’Π°ΠΌΠΈ. Release object Π²ΡΠ΅Π³Π΄Π° ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ΅Π»ΠΈΠ·, ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡΠΉ Π² Kubernetes. ΠΠ°ΠΆΠ΄ΡΠΉ release version secret ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ Π²Π΅ΡΡΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΠ΅Π»ΠΈΠ·Π°. ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ (upgrade), Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ release version secret ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ release object, ΡΡΠΎΠ±Ρ ΡΠΎΡ ΡΠΊΠ°Π·ΡΠ²Π°Π» Π½Π° ΡΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ. Π ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΊΠ°ΡΠ° (rollback) ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ release version secret’Ρ, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΠ°ΡΠΈΡΡ ΡΠ΅Π»ΠΈΠ· ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ.
ΠΠΎΡΠ»Π΅ ΠΎΡΠΊΠ°Π·Π° ΠΎΡ Tiller’Π° Helm 3 Ρ ΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠ΅Π»ΠΈΠ·Π΅ Π² Π΅Π΄ΠΈΠ½ΠΎΠΌ Ρ ΡΠ΅Π»ΠΈΠ·ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½. ΠΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ½ΡΡΠ°Π»Π»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΡΡ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ΅Π»ΠΈΠ·Π° Π² Π΄ΡΡΠ³ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½, ΠΈ Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡΠΌΠΈ/ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Π² etcd. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ WordPress Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ Β«fooΒ», Π° Π·Π°ΡΠ΅ΠΌ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ Β«barΒ», ΠΈ ΠΎΠ±Π° ΡΠ΅Π»ΠΈΠ·Π° ΠΌΠΎΠ³ΡΡ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Β«wordpressΒ».
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΡ ΡΠ°ΡΡΠΎΠ²
Π§Π°ΡΡΡ, ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΡΠ΅ (Ρ ΠΏΠΎΠΌΠΎΡΡΡ helm package
) Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ Helm 2, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½ΡΡΠ°Π»Π»ΠΈΡΠΎΠ²Π°ΡΡ Ρ Helm 3, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ°ΡΡΠΎΠ² Π±ΡΠ» ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΌΠΎΡΡΠ΅Π½, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²Π½Π΅ΡΡΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΡΠ°ΡΡΠΎΠ² Ρ Helm 3. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ ΡΠ°ΡΡΠΎΠ².
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ ΡΠ°ΡΡΠ° ΠΏΠ΅ΡΠ΅ΡΠ»Π° Ρ requirements.yaml
ΠΈ requirements.lock
Π½Π° Chart.yaml
ΠΈ Chart.lock
. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠ°ΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ helm dependency
, ΡΡΠ΅Π±ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΡΡΠΎΠ±Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Helm 3.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΠΎΠ±Π°Π²ΠΈΠΌ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΊ ΡΠ°ΡΡΡ Π² Helm 2 ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π΅ ΠΊ Helm 3.
Π Helm 2 requirements.yaml
Π²ΡΠ³Π»ΡΠ΄Π΅Π» ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
dependencies:
- name: mariadb
version: 5.x.x
repository: https://kubernetes-charts.storage.googleapis.com/
condition: mariadb.enabled
tags:
- database
Π Helm 3 ΡΠ° ΠΆΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠ°ΠΆΠ΅Π½Π° Π² Π²Π°ΡΠ΅ΠΌ Chart.yaml
:
dependencies:
- name: mariadb
version: 5.x.x
repository: https://kubernetes-charts.storage.googleapis.com/
condition: mariadb.enabled
tags:
- database
Π§Π°ΡΡΡ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ charts/
, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠ±ΡΠ°ΡΡΡ (subcharts), Π»Π΅ΠΆΠ°ΡΠΈΠ΅ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ charts/
, ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΠΌ Library Charts
Helm 3 ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΊΠ»Π°ΡΡ ΡΠ°ΡΡΠΎΠ², ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠΈΠΉ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ°ΡΡΠΎΠ²-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ (library chart). ΠΡΠΎΡ ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ°ΡΡΠ°ΠΌΠΈ, Π½ΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ
Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΎΠ² ΡΠ΅Π»ΠΈΠ·Π°. Π¨Π°Π±Π»ΠΎΠ½Ρ library chart’ΠΎΠ² ΠΌΠΎΠ³ΡΡ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ define
. ΠΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅Π½Ρ ΠΏΠΎΠΏΡΠΎΡΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ
ΡΠ°ΡΡΠ°Ρ
, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΈΠ·Π±Π΅ΠΆΠ°Π² Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°
Library charts ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ dependencies
Π² ΡΠ°ΠΉΠ»Π΅ Chart.yaml
. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠΈ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ
ΡΠ°ΡΡΠΎΠ².
dependencies:
- name: mylib
version: 1.x.x
repository: quay.io
ΠΡ Ρ ΠΏΡΠ΅Π΄Π²ΠΊΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΆΠ΄Π΅ΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΎΡΠΊΡΠΎΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ ΡΠ°ΡΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ Π»ΡΡΡΠΈΡ ΠΏΡΠ°ΠΊΡΠΈΠΊ, ΡΡΠΎ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ library charts.
Π§ΡΠΎ Π΄Π°Π»ΡΡΠ΅?
Helm 3.0.0-alpha.1 β ΠΎΡΠ½ΠΎΠ²Π°, ΠΎΠΏΠΈΡΠ°ΡΡΡ Π½Π° ΠΊΠΎΡΠΎΡΡΡ, ΠΌΡ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ Helm. Π ΡΡΠ°ΡΡΠ΅ Ρ ΠΎΠΏΠΈΡΠ°Π» Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Helm 3. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ ΠΏΠΎΠΊΠ° Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π½Π° ΡΠ°Π½Π½ΠΈΡ ΡΡΠ°Π΄ΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΡΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ; ΡΡΡΡ Π°Π»ΡΡΠ°-ΡΠ΅Π»ΠΈΠ·Π° Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΈΠ΄Π΅Ρ, ΡΠΎΠ±ΡΠ°ΡΡ ΠΎΡΠ·ΡΠ²Ρ ΠΎΡ ΠΏΠ΅ΡΠ²ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ Π½Π°ΡΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π°Π»ΡΡΠ°-Π²Π΅ΡΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΡΡΠ΅Π½Π° (Π½Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ ΡΡΠΎ
Π ΡΡΠ°ΡΡΠ΅ Ρ ΠΏΠΎΡΡΠ°ΡΠ°Π»ΡΡ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΠ²ΡΡΡΡ Π² Helm 3, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅Π»ΡΠ·Ρ Π½Π°Π·Π²Π°ΡΡ ΠΈΡΡΠ΅ΡΠΏΡΠ²Π°ΡΡΠΈΠΌ. ΠΠΎΠ»Π½ΠΎΠΌΠ°ΡΡΡΠ°Π±Π½ΡΠΉ ΠΏΠ»Π°Π½ Π΄Π»Ρ Helm 3 Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΠ°ΠΊΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΡ, ΠΊΠ°ΠΊ ΡΠ»ΡΡΡΠ΅Π½Π½ΡΠ΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠ°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΡΠ΅Π΅ΡΡΡΠ°ΠΌΠΈ OCI ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ JSON-ΡΡ Π΅ΠΌ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ°ΡΡΠΎΠ². Π’Π°ΠΊΠΆΠ΅ ΠΌΡ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΠΌ ΠΎΡΠΈΡΡΠΈΡΡ ΠΊΠΎΠ΄ΠΎΠ²ΡΡ Π±Π°Π·Ρ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅ Π΅Π΅ ΡΠ°ΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΡΠ°Π²Π°Π»ΠΈΡΡ Π±Π΅Π· Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΡΠΈ Π³ΠΎΠ΄Π°.
ΠΡΠ»ΠΈ ΡΡΠ²ΡΡΠ²ΡΠ΅ΡΠ΅, ΡΡΠΎ ΠΌΡ ΡΡΠΎ-ΡΠΎ ΡΠΏΡΡΡΠΈΠ»ΠΈ, Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π΄Ρ ΡΡΠ»ΡΡΠ°ΡΡ Π²Π°ΡΠΈ ΠΌΡΡΠ»ΠΈ!
ΠΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡΠ΅ΡΡ ΠΊ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ Π² Π½Π°ΡΠΈΡ
-
#helm-users
Π΄Π»Ρ Π²ΠΎΠΏΡΠΎΡΠΎΠ² ΠΈ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅Π½ΠΈΡ Ρ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎΠΌ; -
#helm-dev
Π΄Π»Ρ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ pull requests, ΠΊΠΎΠ΄Π° ΠΈ Π±Π°Π³ΠΎΠ².
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΎΠ±ΡΠ°ΡΡΡΡ Π² Π½Π°ΡΠΈΡ
Π΅ΠΆΠ΅Π½Π΅Π΄Π΅Π»ΡΠ½ΡΡ
Public Developer Calls ΠΏΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ³Π°ΠΌ Π² 19:30 MSK. ΠΡΡΡΠ΅ΡΠΈ ΠΏΠΎΡΠ²ΡΡΠ΅Π½Ρ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ, Π½Π°Π΄ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΠΌΠ°ΠΌ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ Π½Π° Π½Π΅Π΄Π΅Π»Ρ. ΠΡΠ±ΠΎΠΉ ΠΆΠ΅Π»Π°ΡΡΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ ΠΈ ΠΏΡΠΈΠ½ΡΡΡ ΡΡΠ°ΡΡΠΈΠ΅ Π²ΠΎ Π²ΡΡΡΠ΅ΡΠ΅. Π‘ΡΡΠ»ΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ½Π° Π² Slack-ΠΊΠ°Π½Π°Π»Π΅ #helm-dev
.
P.S. ΠΎΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°
Π§ΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π² Π½Π°ΡΠ΅ΠΌ Π±Π»ΠΎΠ³Π΅:
- Β«
ΠΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ Π΄Π»Ρ Kubernetes β Helm: ΠΏΡΠΎΡΠ»ΠΎΠ΅, Π½Π°ΡΡΠΎΡΡΠ΅Π΅, Π±ΡΠ΄ΡΡΠ΅Π΅ Β»; - Β«
Π’ΡΠ΅Π·Π²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ Π½Π° Helm 2: βΠΠΎΡ ΡΠ°ΠΊΠΎΠΉ, ΠΊΠ°ΠΊΠΎΠΉ Π΅ΡΡΡ…β Β»; - Β«
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ Π΄Π»Ρ Kubernetes β Helm Β»; - Β«
Kubernetes tips & tricks: ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Helm 2 Β»; - Β«
ΠΡΠ°ΠΊΡΠΈΠΊΠ° Ρ dapp. Π§Π°ΡΡΡ 2. ΠΠ΅ΠΏΠ»ΠΎΠΉ Docker-ΠΎΠ±ΡΠ°Π·ΠΎΠ² Π² Kubernetes Ρ ΠΏΠΎΠΌΠΎΡΡΡ Helm Β».
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com