ΠΠΎΠΌΠΈΡΠ΅ Π½Π° ΡΠΊΡΡΠ΅Ρ. ΠΠ»ΡΡΡΡΠ°ΡΠΈΡ
Kubernetes Π΅ 300-ΠΊΠΈΠ»ΠΎΠ³ΡΠ°ΠΌΠΎΠ²Π°ΡΠ° Π³ΠΎΡΠΈΠ»Π° Π½Π° ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ. Π’ΠΎΠΉ ΡΠ°Π±ΠΎΡΠΈ Π² Π½ΡΠΊΠΎΠΈ ΠΎΡ Π½Π°ΠΉ-Π³ΠΎΠ»Π΅ΠΌΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π² ΡΠ²Π΅ΡΠ°, Π½ΠΎ Π΅ ΡΠΊΡΠΏ.
ΠΡΠΎΠ±Π΅Π½ΠΎ ΡΠΊΡΠΏΠΎ Π·Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΈ Π΅ΠΊΠΈΠΏΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° ΠΈ ΡΡΡΡΠΌΠ½Π° ΠΊΡΠΈΠ²Π° Π½Π° ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅. Π’ΠΎΠ²Π° Π΅ ΡΠ²ΡΡΠ΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π° Π½Π°ΡΠΈΡ Π΅ΠΊΠΈΠΏ ΠΎΡ ΡΠ΅ΡΠΈΡΠΈΠΌΠ°. Π’Π°ΠΊΠ° ΡΠ΅ Π·Π°ΠΏΠΎΡΠ½Π°Ρ
ΠΌΠ΅ Π΄Π° ΡΡΡΡΠΈΠΌ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΈ - ΠΈ ΡΠ΅ Π²Π»ΡΠ±ΠΈΡ
ΠΌΠ΅
ΠΠ°ΠΊΠ²ΠΎ ΠΈΡΠΊΠ°Ρ
ΠΠ°ΡΠΈΡΡ Π΅ΠΊΠΈΠΏ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅Π΄ΠΈΡΠ° ΠΎΠ±ΡΠΈ ΡΡΠ»ΡΠ³ΠΈ Π·Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°: ΠΊΡΠ°ΠΉΠ½ΠΈ ΡΠΎΡΠΊΠΈ Π½Π° API Π·Π° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π² Go, Π΅ΠΊΡΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° Prometheus, Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠΈ Π½Π° ΠΆΡΡΠ½Π°Π»ΠΈ ΠΊΠ°ΡΠΎ Logstash ΠΈ
ΠΠ°ΠΏΠΎΡΠ½Π°Ρ ΠΌΠ΅ ΡΡΡ ΡΠΏΠΈΡΡΠΊ Ρ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ Π·Π° ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ:
- ΠΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π½Π°Π±ΠΎΡ ΠΎΡ ΡΡΠ»ΡΠ³ΠΈ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΠΈΠ½ΠΈ.
- ΠΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΡΠ°Π±ΠΎΡΠ΅ΡΠΈΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ.
- ΠΡΡΠ·ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ»ΡΠ³ΠΈΡΠ΅.
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅, Π°ΠΊΠΎ ΡΡΠ»ΡΠ³Π°ΡΠ° ΡΠΏΡΠ΅.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΠΎΡ ΠΌΠ°Π»ΡΠΊ Π΅ΠΊΠΈΠΏ.
Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π½Π΅ΡΠ° ΡΠ΅ Π±ΡΠ΄Π°Ρ Ρ ΡΠ±Π°Π²ΠΈ, Π½ΠΎ Π½Π΅ ΡΠ° Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΈ Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΡ:
- ΠΠ°ΡΠΊΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ°ΡΠΈΠ½ΠΈ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠ°ΡΠΊΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ°ΡΠΈΠ½ΠΈ Ρ Π±ΡΡΠ·ΠΈ Π΄ΠΈΡΠΊΠΎΠ²Π΅ Π·Π° ΡΠ΅ΠΆΠΊΠΈ I/O ΡΡΠ»ΡΠ³ΠΈ).
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ»ΡΠ³ΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΎΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°).
- ΠΠ±ΡΠΎ ΠΌΡΡΡΠΎ Π·Π° ΡΠΏΠΎΠ΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈ ΡΠ°ΠΉΠ½ΠΈ.
- ΠΡΠ°ΠΉΠ½Π° ΡΠΎΡΠΊΠ° Π·Π° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
ΠΠ°ΡΠΎ Kubernetes Π½Π΅ Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π·Π° Π½Π°Ρ
ΠΠΎΠΊΠ°ΡΠΎ ΡΡΠ·Π΄Π°Π²Π°Ρ ΠΌΠ΅ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΈ Ρ Kubernetes, Π·Π°Π±Π΅Π»ΡΠ·Π°Ρ ΠΌΠ΅, ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΡΠΌΠ΅ Π²ΡΠ΅ ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ½ΠΈ ΡΠ»ΠΎΠ΅Π²Π΅ Π»ΠΎΠ³ΠΈΠΊΠ°, Π½Π° ΠΊΠΎΠΈΡΠΎ ΡΠ°Π·ΡΠΈΡΠ°Ρ ΠΌΠ΅ Π² Π³ΠΎΠ»ΡΠΌΠ° ΡΡΠ΅ΠΏΠ΅Π½.
ΠΠ°ΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ, Kubernetes ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π° ΡΡΠ»ΡΠ³ΠΈ ΡΡΠ΅Π·
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° Π΅ΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Kubernetes ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° Π±ΡΡΠ·ΠΎ. ΠΡΠ½Π΅ΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΈ Π΅Π½Π΅ΡΠ³ΠΈΡ, Π·Π° Π΄Π° ΡΡΠ΅ Π² ΠΊΡΠ°ΠΊ Ρ Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΈΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΈ Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ. Kubectl, minikube, kubeadm, helm, tiller, kops, oc - ΡΠΏΠΈΡΡΠΊΡΡ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΠΈ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°. ΠΠ΅ Π²ΡΠΈΡΠΊΠΈ ΠΎΡ ΡΠ΅Π·ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ Π·Π°ΠΏΠΎΡΠ²Π°ΡΠ΅, Π½ΠΎ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ Π²ΠΈ ΡΡΡΠ±Π²Π°, ΡΠ°ΠΊΠ° ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ΅ Π½Π°ΡΡΠ½ΠΎ Ρ Π²ΡΠΈΡΠΊΠΎ. ΠΠΎΡΠ°Π΄ΠΈ ΡΠΎΠ²Π° ΠΊΡΠΈΠ²Π°ΡΠ° Π½Π° ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π΅ Π΄ΠΎΡΡΠ° ΡΡΡΡΠΌΠ½Π°.
ΠΠΎΠ³Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Kubernetes
Π Π½Π°ΡΠ°ΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ Ρ ΠΎΡΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Kubernetes ΠΈ ΡΠ° Π΄ΠΎΡΡΠ° Π΄ΠΎΠ²ΠΎΠ»Π½ΠΈ ΠΎΡ Π½Π΅Π³ΠΎ. Π’Π΅Π·ΠΈ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΈ ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Ρ ΠΎΡ Google ΠΈΠ»ΠΈ Amazon, ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ°Ρ ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π΄Π° Π³ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ.
Kubernetes ΠΈΠ΄Π²Π° Ρ
- ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎ
ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠ°Π²Π°ΡΠ° . ΠΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ Π΄ΠΎΠ±Π°Π²Π΅ΡΠ΅ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΊΡΠΌ ΠΊΠ»ΡΡΡΠ΅ΡΠ°. Π’ΠΎΠ²Π° ΡΠ° ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ Π³ΠΎΠ²ΠΎΡΡΡ Ρ API Π½Π° Kubernetes.ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅ ! Kubernetes ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΌΠ°ΡΠ°Π±ΠΈΡΠ° ΡΡΠ»ΡΠ³ΠΈ ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ²Π°Π½Π΅, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π·Π° ΡΡΠ»ΡΠ³ΠΈ ΠΈ Π±Π΅Π· Π΄Π° ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΡΡΠ½Π° Π½Π°ΠΌΠ΅ΡΠ°.
ΠΡΠΏΡΠΎΡΡΡ Π΅ Π΄Π°Π»ΠΈ Π½Π°ΠΈΡΡΠΈΠ½Π° ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ°Π·ΡΠΈΡΠ°ΡΠ΅ ΡΠ°ΠΌΠΎ Π½Π° Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ;
ΠΠ°ΡΠΈΡΡ Π΅ΠΊΠΈΠΏ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΡΠ»ΡΠ³ΠΈ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ (ΠΏΠΎΡΠ°Π΄ΠΈ ΡΡΡΠ½Π°ΡΠ° Π²ΡΡΠ·ΠΊΠ° Ρ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°), ΡΠ°ΠΊΠ° ΡΠ΅ Π½Π΅ ΠΈΡΠΊΠ°Ρ ΠΌΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΠΌΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½ ΠΊΠ»ΡΡΡΠ΅Ρ Kubernetes. ΠΡΠΎΡΡΠΎ ΠΈΡΠΊΠ°Ρ ΠΌΠ΅ Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠΌΠ΅ ΡΡΠ»ΡΠ³ΠΈ.
ΠΠ°ΡΠ΅ΡΠΈΠΈΡΠ΅ Π½Π΅ ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ
Nomad Π΅ 20% ΠΎΡ ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΡΡΠ°, ΠΊΠΎΡΡΠΎ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° 80% ΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΠΎ. ΠΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ°Π²ΠΈ, Π΅ Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½ΠΈΡΡΠ°. Nomad ΡΠ΅ Π³ΡΠΈΠΆΠΈ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ, ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ... ΠΈ ΡΠΎΠ²Π° Π΅ Π²ΡΠΈΡΠΊΠΎ.
Π¦Π΅Π»ΠΈΡΡ ΡΠΌΠΈΡΡΠ» Π½Π° Nomad Π΅ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ°Π²ΠΈ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ: Π±Π΅Π· ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠ°Π²Π° ΠΈΠ»ΠΈ
ΠΠΈΡΠ»Ρ, ΡΠ΅ Nomad Π΅ Π½Π°ΠΌΠ΅ΡΠΈΠ» ΠΈΠ΄Π΅Π°Π»Π½ΠΈΡ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π»Π΅ΠΊΠΎΡΠ° Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΡΡ. ΠΠΎΠ±ΡΠ΅ Π΅ Π·Π° ΠΌΠ°Π»ΠΊΠΈ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΈ ΡΡΠ»ΡΠ³ΠΈ. ΠΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ», ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π³ΠΈ ΠΎΡΠ³Π»Π΅Π΄Π°ΡΠ΅ ΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ ΠΏΠΎΠ΄Ρ ΠΎΠ΄. ΠΠΎΠΌΠ°Π΄ Π΅ ΡΠ°ΠΌΠΎ ΠΎΡΠΊΠ΅ΡΡΡΠ°Π½Ρ.
ΠΠ°ΠΉ-Ρ ΡΠ±Π°Π²ΠΎΡΠΎ Π½Π° Nomad Π΅, ΡΠ΅ Π΅ Π»Π΅ΡΠ½ΠΎ ΡΠΌΠ΅Π½Π΅ΡΠ΅. ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π½ΡΠΌΠ° Π²ΡΡΠ·ΠΊΠ° Ρ Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π»Π΅ΡΠ½ΠΎ ΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Ρ Π²ΡΠ² Π²ΡΡΠΊΠ° Π΄ΡΡΠ³Π° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΡΡΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ²Π° ΡΡΠ»ΡΠ³ΠΈ. Π’ΠΎΠΉ ΠΏΡΠΎΡΡΠΎ ΡΠ°Π±ΠΎΡΠΈ ΠΊΠ°ΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ Π΄Π²ΠΎΠΈΡΠ΅Π½ ΡΠ°ΠΉΠ» Π½Π° Π²ΡΡΠΊΠ° ΠΌΠ°ΡΠΈΠ½Π° Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ°, ΡΠΎΠ²Π° Π΅ Π²ΡΠΈΡΠΊΠΎ!
ΠΠΎΠΌΠ°Π΄ΡΠΊΠ° Π΅ΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡ ΡΠ»Π°Π±ΠΎ ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ
ΠΡΡΠΈΠ½ΡΠΊΠ°ΡΠ° ΡΠΈΠ»Π° Π½Π° Nomad Π΅ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° Π΅ΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ°. Π’ΠΎΠΉ ΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±ΡΠ΅ Ρ Π΄ΡΡΠ³ΠΈ - Π½Π°ΠΏΡΠ»Π½ΠΎ Π½Π΅Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΈ - ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡ
template {
data = <<EOH
LOG_LEVEL="{{key "service/geo-api/log-verbosity"}}"
API_KEY="{{with secret "secret/geo-api-key"}}{{.Data.value}}{{end}}"
EOH
destination = "secrets/file.env"
env = true
}
Π’ΡΠΊ ΡΠ΅ΡΠ΅ΠΌ ΠΊΠ»ΡΡΠ° service/geo-api/log-verbosity
ΠΎΡ Consul ΠΈ Π³ΠΎ ΠΈΠ·Π»ΠΎΠΆΠΈ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ° LOG_LEVEL
. ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΠΌΠ΅ ΠΈ ΠΊΠ»ΡΡΠ° secret/geo-api-key
ΠΎΡ Vault as API_KEY
. ΠΡΠΎΡΡΠΎ, Π½ΠΎ ΠΌΠΎΡΠ½ΠΎ!
ΠΠΎΡΠ°Π΄ΠΈ ΡΠ²ΠΎΡΡΠ° ΠΏΡΠΎΡΡΠΎΡΠ°, Nomad Π΅ Π»Π΅ΡΠ½ΠΎ ΡΠ°Π·ΡΠΈΡΠΈΠΌ Ρ Π΄ΡΡΠ³ΠΈ ΡΡΠ»ΡΠ³ΠΈ ΡΡΠ΅Π· API. ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ΅ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΅ΡΠΈΠΊΠ΅ΡΠΈ Π·Π° Π·Π°Π΄Π°ΡΠΈ. ΠΠ°ΡΠΊΠΈΡΠ°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΡΠ»ΡΠ³ΠΈ Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ trv-metrics
. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ Prometheus ΠΌΠΎΠΆΠ΅ Π»Π΅ΡΠ½ΠΎ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈ ΡΠ΅Π·ΠΈ ΡΡΠ»ΡΠ³ΠΈ ΡΡΠ΅Π· Consul ΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° ΠΊΡΠ°ΠΉΠ½Π°ΡΠ° ΡΠΎΡΠΊΠ° /metrics
Π·Π° Π½ΠΎΠ²ΠΈ Π΄Π°Π½Π½ΠΈ. Π‘ΡΡΠΎΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° ΡΡΡΠΏΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ
ΠΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π·Π° ΡΠ°Π·ΡΠΈΡΡΠ΅ΠΌΠΎΡΡ:
- ΠΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π½Π° Jenkins Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΡΠΊΠ° ΠΈ Consul ΡΠ»Π΅Π΄ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΡΠΎ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°Π½Π΅ Π½Π° Π·Π°Π΄Π°Π½ΠΈΠ΅ΡΠΎ Nomad, ΠΊΠΎΠ³Π°ΡΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ.
- Ceph Π΄ΠΎΠ±Π°Π²Ρ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΡΠΌ Nomad.
Π€Π°Π±ΠΈΠΎ Π·Π° Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ.
ΠΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°
Π‘ΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅
ΠΠΈΠΊΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π΅ Π΅ ΡΡΠ²ΡΡΡΠ΅Π½Π°. ΠΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π°ΠΌ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ. Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, ΠΈΠΌΠ° Π³ΡΠ΅ΡΠΊΠΈ ΠΈ Π»ΠΈΠΏΡΠ²Π°ΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½ΠΎ ΡΡΡΠΎΡΠΎ Π²Π°ΠΆΠΈ ΠΈ Π·Π° Kubernetes.
Π ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ Kubernetes ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ° Π½Π° Nomad Π½Π΅ Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π³ΠΎΠ»ΡΠΌΠ°. Kubernetes Π²Π΅ΡΠ΅ ΠΈΠΌΠ° ΠΎΠΊΠΎΠ»ΠΎ 75 000 Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½ΡΠ° ΠΈ 2000 ΡΡΡΡΡΠ΄Π½ΠΈΡΠΈ, Π΄ΠΎΠΊΠ°ΡΠΎ Nomad ΠΈΠΌΠ° ΠΎΠΊΠΎΠ»ΠΎ 14 000 ΠΊΠΎΠΌΠΈΡΠ° ΠΈ 300 ΡΡΡΡΡΠ΄Π½ΠΈΡΠΈ. Nomad ΡΠ΅ ΠΈΠΌΠ° ΡΡΡΠ΄Π½ΠΎΡΡΠΈ Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° Kubernetes, Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π½Π΅ Π΅ Π½ΡΠΆΠ½ΠΎ! Π’ΠΎΠ²Π° Π΅ ΠΏΠΎ-ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠ°ΡΠ° ΠΎΠ±ΡΠ½ΠΎΡΡ ΡΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ Π΅ ΠΏΠΎ-Π²Π΅ΡΠΎΡΡΠ½ΠΎ Π²Π°ΡΠ°ΡΠ° Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ Π΄Π° Π±ΡΠ΄Π΅ Π·Π°Π±Π΅Π»ΡΠ·Π°Π½Π° ΠΈ ΠΏΡΠΈΠ΅ΡΠ° Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ Kubernetes.
ΠΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅
Π ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ°: ΠΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ Kubernetes ΡΠ°ΠΌΠΎ Π·Π°ΡΠΎΡΠΎ Π²ΡΠΈΡΠΊΠΈ ΠΎΡΡΠ°Π½Π°Π»ΠΈ Π³ΠΎ ΠΏΡΠ°Π²ΡΡ. ΠΡΠ΅Π½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡΠ° ΡΠΈ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ ΠΊΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΅ ΠΏΠΎ-ΠΏΠΎΠ»Π΅Π·Π΅Π½.
ΠΠΊΠΎ ΠΏΠ»Π°Π½ΠΈΡΠ°ΡΠ΅ Π΄Π° Π²Π½Π΅Π΄ΡΠΈΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ
ΠΎΠΌΠΎΠ³Π΅Π½Π½ΠΈ ΡΡΠ»ΡΠ³ΠΈ Π² ΡΠΈΡΠΎΠΊΠΎΠΌΠ°ΡΠ°Π±Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°, ΡΠΎΠ³Π°Π²Π° Kubernetes Π΅ Π΄ΠΎΠ±ΡΡ Π²Π°ΡΠΈΠ°Π½Ρ. ΠΡΠΎΡΡΠΎ ΠΈΠΌΠ°ΠΉΡΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π΄ΠΎΠ±Π°Π²Π΅Π½Π°ΡΠ° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΡΠ΅ ΡΠ°Π·Ρ
ΠΎΠ΄ΠΈ. ΠΡΠΊΠΎΠΈ ΡΠ°Π·Ρ
ΠΎΠ΄ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·Π±Π΅Π³Π½Π°ΡΠΈ ΡΡΠ΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Π½Π° ΡΡΠ΅Π΄Π° Π½Π° Kubernetes, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡ
ΠΠΊΠΎ ΠΏΡΠΎΡΡΠΎ ΡΡΡΡΠΈΡΠ΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΎΡ, ΠΊΠΎΠΉΡΠΎ Π΅ Π»Π΅ΡΠ΅Π½ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° ΠΈ ΡΠ°Π·ΡΠΈΡΡΠ΅ΠΌ, Π·Π°ΡΠΎ Π½Π΅ ΠΎΠΏΠΈΡΠ°ΡΠ΅ Nomad? ΠΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·Π½Π΅Π½Π°Π΄Π°ΡΠ΅ ΠΊΠΎΠ»ΠΊΠΎ Π΄Π°Π»Π΅Ρ ΡΠ΅ Π²ΠΈ ΠΎΡΠ²Π΅Π΄Π΅ ΡΠΎΠ²Π°.
ΠΠΊΠΎ Kubernetes ΡΠ΅ ΡΡΠ°Π²Π½ΡΠ²Π° Ρ ΠΊΠΎΠ»Π°, Nomad Π±ΠΈ Π±ΠΈΠ» ΡΠΊΡΡΠ΅Ρ. ΠΠΎΠ½ΡΠΊΠΎΠ³Π° ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ Π΅Π΄Π½ΠΎ Π½Π΅ΡΠΎ, Π° ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° Π΄ΡΡΠ³ΠΎ. Π Π΄Π²Π΅ΡΠ΅ ΠΈΠΌΠ°Ρ ΠΏΡΠ°Π²ΠΎ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π½Π΅.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com