Π¨ΡΠ» 2019 Π³ΠΎΠ΄, Π° Ρ Π½Π°Ρ Π²ΡΡ Π΅ΡΡ Π½Π΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Π°Π³ΡΠ΅Π³Π°ΡΠΈΠΈ Π»ΠΎΠ³ΠΎΠ² Π² Kubernetes. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Ρ
ΠΎΡΠ΅Π»ΠΈ Π±Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΠ· ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ, ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΏΠΎΠΈΡΠΊΠ°ΠΌΠΈ, Π²ΡΡΡΠ΅ΡΠ°Π΅ΠΌΡΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΈ ΠΈΡ
ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΠΎΠ³ΠΎΠ²ΠΎΡΡΡΡ, ΡΡΠΎ ΡΠ°Π·Π½ΡΠ΅ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠΈ ΠΏΠΎΠ΄ ΡΠ±ΠΎΡΠΎΠΌ Π»ΠΎΠ³ΠΎΠ² ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΎΡΠ΅Π½Ρ ΡΠ°Π·Π½ΠΎΠ΅:
- ΠΊΡΠΎ-ΡΠΎ Ρ ΠΎΡΠ΅Ρ Π²ΠΈΠ΄Π΅ΡΡ security- ΠΈ audit-Π»ΠΎΠ³ΠΈ;
- ΠΊΡΠΎ-ΡΠΎ β ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅ΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ;
- Π° ΠΊΠΎΠΌΡ-ΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π»ΠΎΠ³ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΡΠΊΠ»ΡΡΠΈΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ.
Π ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΌΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°Π»ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Β«Ρ
ΠΎΡΠ΅Π»ΠΊΠΈΒ» ΠΈ Ρ ΠΊΠ°ΠΊΠΈΠΌΠΈ ΡΡΡΠ΄Π½ΠΎΡΡΡΠΌΠΈ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ, β ΠΏΠΎΠ΄ ΠΊΠ°ΡΠΎΠΌ.
Π’Π΅ΠΎΡΠΈΡ: ΠΎΠ± ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ Π΄Π»Ρ Π»ΠΎΠ³ΠΎΠ²
ΠΡΠ΅Π΄ΡΡΡΠΎΡΠΈΡ ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΡ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ»ΠΎ Π΄ΠΎΠ»Π³ΠΈΠΉ ΠΏΡΡΡ, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡΠ±ΠΎΡΠ° ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π»ΠΎΠ³ΠΎΠ², ΡΡΠΎ ΠΌΡ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠ΅Π³ΠΎΠ΄Π½Ρ. ΠΡΡ Π² 1950-Ρ Π³ΠΎΠ΄Π°Ρ Π² Fortran ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π°Π½Π°Π»ΠΎΠ³ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π² ΠΎΡΠ»Π°Π΄ΠΊΠ΅ Π΅Π³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠΎ Π±ΡΠ»ΠΈ ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΠ΅ Π»ΠΎΠ³ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±Π»Π΅Π³ΡΠ°Π»ΠΈ ΠΆΠΈΠ·Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ ΡΠ΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½. ΠΠ° ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ Π² Π½ΠΈΡ Π²ΠΈΠ΄ΠΈΠΌ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠΈΡΡΠ΅ΠΌΡ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ β ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΈΠ»ΠΈ Β«ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΒ» (producer) Π»ΠΎΠ³ΠΎΠ².
ΠΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½Π°Ρ Π½Π°ΡΠΊΠ° Π½Π΅ ΡΡΠΎΡΠ»Π° Π½Π° ΠΌΠ΅ΡΡΠ΅: ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΠ΅ ΡΠ΅ΡΠΈ, ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΡβ¦ ΠΠ°ΡΠ°Π»ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠΎΡΡΠΎΡΡΠΈΠ΅ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ². Π’Π΅ΠΏΠ΅ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Ρ Π±ΡΠ»ΠΈ ΡΠΎΠ±ΠΈΡΠ°ΡΡ Π»ΠΎΠ³ΠΈ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΌΠ°ΡΠΈΠ½, Π° Π² ΠΎΡΠΎΠ±ΡΡ
ΡΠ»ΡΡΠ°ΡΡ
ΠΌΠΎΠ³Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠ΄ΡΠ° ΠΠ‘ Π½Π° ΡΠ»ΡΡΠ°ΠΉ, Π΅ΡΠ»ΠΈ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ°ΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΡΠ±ΠΎΠΉ. Π§ΡΠΎΠ±Ρ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ±ΠΎΡΠ° Π»ΠΎΠ³ΠΎΠ², Π² Π½Π°ΡΠ°Π»Π΅ 2000-Ρ
Π²ΡΡ
ΠΎΠ΄ΠΈΡ
Π‘ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΌΠ° Π»ΠΎΠ³ΠΎΠ² ΠΈ ΠΏΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡΠ½ΡΠΌ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ΠΌ Π²Π΅Π±-ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π²ΡΡΠ°Π» Π²ΠΎΠΏΡΠΎΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π»ΠΎΠ³ΠΈ Π½ΡΠΆΠ½ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ. ΠΠ° ΡΠΌΠ΅Π½Ρ ΠΏΡΠΎΡΡΡΠΌ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌ (awk/sed/grep) ΠΏΡΠΈΡΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΡΠΈΠΊΠΈ Π»ΠΎΠ³ΠΎΠ² β ΡΡΠ΅ΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ.
Π ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΌΠ° Π»ΠΎΠ³ΠΎΠ² ΡΡΠ°Π»ΠΎ ΡΡΠ½ΠΎ ΠΈ Π΄ΡΡΠ³ΠΎΠ΅: Π»ΠΎΠ³ΠΈ Π½ΡΠΆΠ½Ρ, Π½ΠΎ Π½Π΅ Π²ΡΠ΅. Π Π΅ΡΡ ΡΠ°Π·Π½ΡΠ΅ Π»ΠΎΠ³ΠΈ ΡΡΠ΅Π±ΡΡΡ ΡΠ°Π·Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΡΠΎΡ ΡΠ°Π½Π½ΠΎΡΡΠΈ: ΠΎΠ΄Π½ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠ΅ΡΡΡΡ ΡΠ΅ΡΠ΅Π· Π΄Π΅Π½Ρ, Π° Π΄ΡΡΠ³ΠΈΠ΅ β Π½Π°Π΄ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ 5 Π»Π΅Ρ. Π’Π°ΠΊ Π² ΡΠΈΡΡΠ΅ΠΌΡ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΠΈ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π΄Π°Π½Π½ΡΡ β Π½Π°Π·ΠΎΠ²ΡΠΌ Π΅Π³ΠΎ ΡΠΈΠ»ΡΡΡΠΎΠΌ.
Π₯ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΡΠΎΠΆΠ΅ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠΉ ΡΠΊΠ°ΡΠΎΠΊ: Ρ ΠΎΠ±ΡΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠ΅ΡΠ΅ΡΠ»ΠΈ Π½Π° ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π° Π·Π°ΡΠ΅ΠΌ ΠΈ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Elasticsearch). Π’Π°ΠΊ ΠΎΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΎΡΠ° ΠΎΡΠ΄Π΅Π»ΠΈΠ»ΠΎΡΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
Π ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ², ΡΠ°ΠΌΠΎ ΠΏΠΎΠ½ΡΡΠΈΠ΅ Π»ΠΎΠ³Π° ΡΠ°ΡΡΠΈΡΠΈΠ»ΠΎΡΡ Π΄ΠΎ Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π΄Π»Ρ ΠΈΡΡΠΎΡΠΈΠΈ. Π ΡΠΎΡΠ½Π΅Π΅ β Π½Π° ΡΠΎΡ ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΡΠ°ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠΎΡΡΠ°Π²ΠΈΡΡ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΡΡΠ΅Ρβ¦
Π ΠΈΡΠΎΠ³Π΅, Π·Π° ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΠΊ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ±ΠΎΡ Π»ΠΎΠ³ΠΎΠ² ΡΠ°Π·Π²ΠΈΠ»ΡΡ Π² Π²Π°ΠΆΠ½ΡΡ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎ ΠΏΡΠ°Π²Ρ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² Π² Big Data.
ΠΡΠ»ΠΈ ΠΊΠΎΠ³Π΄Π°-ΡΠΎ ΠΎΠ±ΡΡΠ½ΡΡ
printβΠΎΠ² ΠΌΠΎΠ³Π»ΠΎ Π±ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ Β«ΡΠΈΡΡΠ΅ΠΌΡ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ», ΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ ΡΠΈΠ»ΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»Π°ΡΡ.
Kubernetes ΠΈ Π»ΠΎΠ³ΠΈ
ΠΠΎΠ³Π΄Π° Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΠΈΡΡΠ» Kubernetes, ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π²ΡΠ°Ρ ΠΈ Π±Π΅Π· ΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ±ΠΎΡΠ° Π»ΠΎΠ³ΠΎΠ² Π½Π΅ ΠΎΠ±ΠΎΡΠ»Π° ΡΡΠΎΡΠΎΠ½ΠΎΠΉ ΠΈ Π΅Π³ΠΎ. Π Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅ ΠΎΠ½Π° ΡΡΠ°Π»Π° Π΄Π°ΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎΠΉ: ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ Π±ΡΠ»ΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΏΡΠΎΡΠ΅Π½ΠΎ, Π½ΠΎ ΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΎ. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΡΠ°ΡΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ Π½Π°ΡΠ°Π»ΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠ΅ ΡΠ΅Π»ΡΡΡ. Π ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π»ΠΎΠ³ΠΎΠ² ΡΡΠΎ Π²ΡΡΠ°Π·ΠΈΠ»ΠΎΡΡ Π² ΡΠ°ΡΡΡΡΠ΅ΠΌ ΡΠΈΡΠ»Π΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² Π»ΠΎΠ³ΠΎΠ², ΠΈΡ ΠΎΡΠΎΠ±ΠΎΠΌ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅, ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠ΅ΡΠ΅Π· Π»ΠΎΠ³ΠΈ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·ΠΈ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΠΈΡΡΠ΅ΠΌΡβ¦
ΠΠ°Π±Π΅Π³Π°Ρ Π²ΠΏΠ΅ΡΡΠ΄, ΠΌΠΎΠ³Ρ ΠΊΠΎΠ½ΡΡΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ, ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π½Π΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Kubernetes, ΠΊΠΎΡΠΎΡΡΠΉ Π±Ρ Π²ΡΠ³ΠΎΠ΄Π½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π»ΡΡ ΠΎΡ Π²ΡΠ΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ . ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ Π² ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π΅ ΡΡ Π΅ΠΌΡ ΡΠ²ΠΎΠ΄ΡΡΡΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ:
- ΠΊΡΠΎ-ΡΠΎ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΡΡΠ΅ΠΊ EFK (Elasticsearch, Fluentd, Kibana);
- ΠΊΡΠΎ-ΡΠΎ β ΠΏΡΠΎΠ±ΡΠ΅Ρ Π½Π΅Π΄Π°Π²Π½ΠΎ Π²ΡΠΏΡΡΠ΅Π½Π½ΡΠΉ
Loki ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡLogging operator ; - Π½Π°Ρ (Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°Ρ?..) Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΡΡΡΡΠ°ΠΈΠ²Π°Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° β
loghouse β¦
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠ°ΠΊΠΈΠ΅ ΡΠ²ΡΠ·ΠΊΠΈ Π² K8s-ΠΊΠ»Π°ΡΡΠ΅ΡΠ°Ρ (Π΄Π»Ρ self-hosted-ΡΠ΅ΡΠ΅Π½ΠΈΠΉ):
ΠΠ΄Π½Π°ΠΊΠΎ Π½Π΅ Π±ΡΠ΄Ρ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡ ΠΏΠΎ ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ, ΡΡΠΎΠΊΡΡΠΈΡΡΡΡΡ Π½Π° ΠΈΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ°Ρ ΠΈ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ Π²ΡΠ²ΠΎΠ΄Π°Ρ ΠΏΠΎ ΡΠΈΡΡΠ°ΡΠΈΠΈ Ρ Π»ΠΎΠ³Π°ΠΌΠΈ Π² ΡΠ΅Π»ΠΎΠΌ.
ΠΡΠ°ΠΊΡΠΈΠΊΠ° Ρ Π»ΠΎΠ³Π°ΠΌΠΈ Π² K8s
Β«ΠΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΡΠ΅ Π»ΠΎΠ³ΠΈΒ», ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΆΠ΅ Π²Π°Ρ?..
Π¦Π΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ±ΠΎΡ Π»ΠΎΠ³ΠΎΠ² Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π΅ΠΌΠ°Π»ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΉΠ΄ΡΡ Π½Π° ΡΠ±ΠΎΡ, Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π»ΠΎΠ³ΠΎΠ². Π Ρ ΠΎΠ΄Π΅ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΌΡ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΠΌΠΈ ΠΈΠ·-Π·Π° Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ Π² ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ.
ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ClickHouse
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π»ΠΎΠ³ΠΈ: Π±ΠΎΠ»Π΅Π΅ 5000 ΡΡΡΠΎΠΊ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ. ΠΠ°ΡΠ½ΡΠΌ ΡΠ°Π±ΠΎΡΡ Ρ Π΅Π³ΠΎ Π»ΠΎΠ³Π°ΠΌΠΈ, ΡΠΊΠ»Π°Π΄ΡΠ²Π°Ρ ΠΈΡ Π² ClickHouse.
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ realtime, 4-ΡΠ΄Π΅ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ Ρ ClickHouse ΡΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½ ΠΏΠΎ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ΅:
ΠΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΈΠΏ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ²ΡΠ·Π°Π½ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΌΡ ΠΏΡΡΠ°Π΅ΠΌΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π±ΡΡΡΡΠΎ ΠΏΠΈΡΠ°ΡΡ Π² ClickHouse. Π Π½Π° ΡΡΠΎ ΠΠ ΡΠ΅Π°Π³ΠΈΡΡΠ΅Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½Π½ΠΎΠΉ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ, ΠΈΠ·-Π·Π° ΡΠ΅Π³ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ΄Π°Π²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ:
DB::Exception: Too many parts (300). Merges are processing significantly slower than inserts
ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ
Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ,
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΡΡΠ³Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½Π°Ρ ΡΡΠΎΡΠΎΠ½Π° Π½Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ Ρ ClickHouse Π±ΡΠ»Π° ΡΠ²ΡΠ·Π°Π½Π° Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΠ°ΡΡΠΈΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ (loghouse) ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΡΠ΅ΡΠ΅Π· Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅
Π ΠΈΡΠΎΠ³Π΅, ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΡΠ½ΠΎ, ΡΡΠΎ Π΄Π»Ρ ΡΠ±ΠΎΡΠ° Π»ΠΎΠ³ΠΎΠ² Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² ClickHouse Ρ Π²Π°ΡΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° (ΡΠΎΡΠ½Π΅Π΅, ΠΈΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠΌ). ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΡ Π΅ΡΡ Π²Π΅ΡΠ½ΡΠΌΡΡ. ΠΠΏΠΈΡΡΠ²Π°Π΅ΠΌΡΠΉ Π²ΡΡΠ΅ ΡΠ»ΡΡΠ°ΠΉ β ΡΠ΅Π°Π»ΡΠ½ΡΠΉ. Π Π½Π° ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΌΡ Π½Π΅ ΡΠΌΠΎΠ³Π»ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ΅ ΠΈ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±Ρ ΡΡΡΡΠ°ΠΈΠ²Π°Π»ΠΎ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠ° ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π±Ρ ΡΠΎΠ±ΠΈΡΠ°ΡΡ Π»ΠΎΠ³ΠΈ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉβ¦
Π Elasticsearch?
ΠΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΡΠΎ Elasticsearch ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠ°ΠΌΠΈ. ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π΅Π³ΠΎ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ΅. Π’Π΅ΠΏΠ΅ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΠ° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Elasticsearch ΡΠΌΠΎΠ³ ΠΏΠ΅ΡΠ΅Π²Π°ΡΠΈΡΡ ΠΏΠΎΡΠΎΠΊ Π΄Π°Π½Π½ΡΡ
, ΠΎΠ΄Π½Π°ΠΊΠΎ Π·Π°ΠΏΠΈΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ
ΠΎΠ±ΡΠ΅ΠΌΠΎΠ² Π² Π½Π΅Π³ΠΎ ΡΠΈΠ»ΡΠ½ΠΎ ΡΡΠΈΠ»ΠΈΠ·ΠΈΡΡΠ΅Ρ CPU. ΠΡΠΎ ΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°. Π§ΠΈΡΡΠΎ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ, ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠ° Π»ΠΎΠ³ΠΎΠ² ΠΌΡ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΠΊΠΎΠ»ΠΎ 8 ΡΠ΄Π΅Ρ ΠΈ ΠΈΠΌΠ΅Π΅ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π²ΡΡΠΎΠΊΠΎΠ½Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅β¦
ΠΡΠΎΠ³: ΡΠ°ΠΊΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΡΠ°Π²Π΄Π°Π½, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΈ Π΅Π³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π³ΠΎΡΠΎΠ²ΠΎ ΠΏΠΎΡΡΠ°ΡΠΈΡΡ Π·Π°ΠΌΠ΅ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π’ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ Π²ΠΎΠΏΡΠΎΡ:
ΠΠ°ΠΊΠΈΠ΅ Π»ΠΎΠ³ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½Ρ?
ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°ΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄: Π»ΠΎΠ³ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ Π±ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΡΠΌΠΈ, ΠΈ Π½Π΅ ΠΏΠΎΠΊΡΡΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅.
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΏΡΠ΅ΡΡΠΏΠ΅Π²Π°ΡΡΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΌΠ°Π³Π°Π·ΠΈΠ½. ΠΠ°ΠΊΠΈΠ΅ Π»ΠΎΠ³ΠΈ Π²Π°ΠΆΠ½Ρ? Π‘ΠΎΠ±ΠΈΡΠ°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠ»Π°ΡΡΠΆΠ½ΠΎΠ³ΠΎ ΡΠ»ΡΠ·Π° β ΠΎΡΠ»ΠΈΡΠ½Π°Ρ ΠΈΠ΄Π΅Ρ. Π Π²ΠΎΡ ΠΎΡ ΡΠ΅ΡΠ²ΠΈΡΠ° Π½Π°ΡΠ΅Π·ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² Π½Π°ΠΌ ΠΊΡΠΈΡΠΈΡΠ½Ρ Π½Π΅ Π²ΡΠ΅ Π»ΠΎΠ³ΠΈ: Ρ Π²Π°ΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΠΏΡΠΎΡΠ΅Π½Ρ 500-Ρ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΡΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ).
ΠΠΎΡ ΠΌΡ ΠΈ ΠΏΡΠΈΡΠ»ΠΈ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΡΠ°Π²Π΄Π°Π½ΠΎ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π°. ΠΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ Ρ ΠΎΡΠ΅Ρ ΡΠΎΠ±ΡΠ°ΡΡ Π²ΡΠ΅ Π»ΠΎΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, Ρ ΠΎΡΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΈΠ· Π²ΡΠ΅Π³ΠΎ Π»ΠΎΠ³Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π»ΠΈΡΡ ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ 5% ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΡΠΈΡΠΈΡΠ½Ρ Π΄Π»Ρ Π±ΠΈΠ·Π½Π΅ΡΠ°:
- ΠΠ½ΠΎΠ³Π΄Π° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ, ΡΠΊΠ°ΠΆΠ΅ΠΌ, ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·ΠΌΠ΅Ρ Π»ΠΎΠ³Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΈ ΡΠ±ΠΎΡΡΠΈΠΊ ΠΎΡΠΈΠ±ΠΎΠΊ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Sentry).
- ΠΠ»Ρ ΡΠ°ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΎΠ² Π·Π°ΡΠ°ΡΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Ρ Π²Π°ΡΠΈΡΡ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π»ΠΎΠ³Π°.
- Π£ Π½Π°Ρ Π±ΡΠ»ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈ Π²ΠΎΠ²ΡΠ΅ ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠ»ΠΈΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΡΠ°ΠΌΠΈ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΡΠ±ΠΎΡΠ° ΠΎΡΠΈΠ±ΠΎΠΊ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Π½Π΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΈΡΡ Π»ΠΎΠ³ΠΈ ΠΊΠ°ΠΊ ΡΠ°ΠΊΠΎΠ²ΡΠ΅ β ΠΎΠ½ΠΈ Π²ΡΡ Π²ΠΈΠ΄Π΅Π»ΠΈ ΠΏΠΎ ΡΡΠ΅ΠΉΡΠ°ΠΌ ΠΎΡΠΈΠ±ΠΎΠΊ.
ΠΠ»Π»ΡΡΡΡΠ°ΡΠΈΡ ΠΈΠ· ΠΆΠΈΠ·Π½ΠΈ
Π₯ΠΎΡΠΎΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ»ΡΠΆΠΈΡΡ Π΄ΡΡΠ³Π°Ρ ΠΈΡΡΠΎΡΠΈΡ. Π Π½Π°ΠΌ ΠΏΡΠΈΡΡΠ» Π·Π°ΠΏΡΠΎΡ ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΈΠΊΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΎΡΡ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ Π±ΡΠ»ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ Π·Π°Π΄ΠΎΠ»Π³ΠΎ Π΄ΠΎ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Kubernetes.
ΠΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ Β«ΠΏΠΎΠ΄ΡΡΠΆΠΈΡΡΒ» ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ±ΠΎΡΠ° Π»ΠΎΠ³ΠΎΠ² Ρ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠΌ ΡΠ΅Π½ΡΠΎΡΠΎΠΌ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ β QRadar. ΠΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΌΠ΅Π΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π»ΠΎΠ³ΠΈ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ syslog, Π·Π°Π±ΠΈΡΠ°ΡΡ c FTP. ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Ρ Ρ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ remote_syslog Π΄Π»Ρ fluentd ΡΡΠ°Π·Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ (ΠΊΠ°ΠΊ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ,
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅, ΡΠ°ΡΡΡ Π»ΠΎΠ³ΠΎΠ², ΠΊΡΠΈΡΠΈΡΠ½ΡΡ
Π΄Π»Ρ Π±ΠΈΠ·Π½Π΅ΡΠ°, Π²ΡΠ³ΡΡΠΆΠ°Π»Π°ΡΡ Π½Π° FTP QRadar, Π° Π΄ΡΡΠ³Π°Ρ ΡΠ°ΡΡΡ β ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΠ»Π°ΡΡ ΡΠ΅ΡΠ΅Π· remote syslog Π½Π°ΠΏΡΡΠΌΡΡ Ρ ΡΠ·Π»ΠΎΠ². ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ Π΄Π°ΠΆΠ΅ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ
ΠΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅Π½ Π² ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°ΡΡ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ. ΠΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΎΠ±ΡΡΠΈΡ, ΠΏΠΎΡΡΡΠΏΠ°ΡΡΠ΅Π³ΠΎ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π΄Π΅Π»Π°Π» ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΡΠΉ Π½Π΅ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² Π»ΠΎΠ³. ΠΠ°ΠΊ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Π»ΠΎΠ³ΠΈ Π±ΡΠ»ΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈ ΡΠΈΡΠ°ΡΡ, ΠΈ Ρ ΡΠ°Π½ΠΈΡΡ.
ΠΡΠΈΡΠ΅ΡΠΈΠΈ Π΄Π»Ρ Π»ΠΎΠ³ΠΎΠ²
ΠΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ΄Π²ΠΎΠ΄ΡΡ ΠΊ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ ΠΊΡΠΎΠΌΠ΅ Π²ΡΠ±ΠΎΡΠ° ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠ° Π»ΠΎΠ³ΠΎΠ² Π½Π°Π΄ΠΎ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π΅ΡΠ΅ ΠΈ ΡΠ°ΠΌΠΈ Π»ΠΎΠ³ΠΈ! ΠΠ°ΠΊΠΈΠ΅ Π·Π΄Π΅ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ?
- ΠΠΎΠ³ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π² ΠΌΠ°ΡΠΈΠ½ΠΎΡΠΈΡΠ°Π΅ΠΌΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, JSON).
- ΠΠΎΠ³ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΌΠΈ ΠΈ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΎΡΠ»Π°Π΄ΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΡΠΈ ΡΡΠΎΠΌ Π² production-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΡΡΠΎΠ²Π½Π΅ΠΌ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠΎΠ΄Π΅ Warning ΠΈΠ»ΠΈ Error.
- ΠΠΎΠ³ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ, ΡΠΎ Π΅ΡΡΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ Π»ΠΎΠ³Π° Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ ΡΠΈΠΏ ΠΏΠΎΠ»Ρ.
ΠΠ΅ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π»ΠΎΠ³ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ Π»ΠΎΠ³ΠΎΠ² Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΈ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΠΈ β ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ 400, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠΎΡΠ½ΠΎ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡ Π² Π»ΠΎΠ³Π°Ρ fluentd:
2019-10-29 13:10:43 +0000 [warn]: dump an error event: error_class=Fluent::Plugin::ElasticsearchErrorHandler::ElasticsearchError error="400 - Rejected by Elasticsearch"
ΠΡΠΈΠ±ΠΊΠ° ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ Π² ΠΈΠ½Π΄Π΅ΠΊΡ Ρ Π³ΠΎΡΠΎΠ²ΡΠΌ mappingβΠΎΠΌ ΠΏΠΎΠ»Π΅, ΡΠΈΠΏ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅ΡΡΠ°Π±ΠΈΠ»Π΅Π½. ΠΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ β ΠΏΠΎΠ»Π΅ Π² Π»ΠΎΠ³Π΅ nginx Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $upstream_status
. Π Π½ΡΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠ°ΠΊ ΡΠΈΡΠ»ΠΎ, ΡΠ°ΠΊ ΠΈ ΡΡΡΠΎΠΊΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
{ "ip": "1.2.3.4", "http_user": "-", "request_id": "17ee8a579e833b5ab9843a0aca10b941", "time": "29/Oct/2019:16:18:57 +0300", "method": "GET", "uri": "/staffs/265.png", "protocol": "HTTP/1.1", "status": "200", "body_size": "906", "referrer": "https://example.com/staff", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36", "request_time": "0.001", "cache_status": "-", "upstream_response_time": "0.001, 0.007", "upstream_addr": "127.0.0.1:9000", "upstream_status": "200", "upstream_response_length": "906", "location": "staff"}
{ "ip": "1.2.3.4", "http_user": "-", "request_id": "47fe42807f2a7d8d5467511d7d553a1b", "time": "29/Oct/2019:16:18:57 +0300", "method": "GET", "uri": "/staff", "protocol": "HTTP/1.1", "status": "200", "body_size": "2984", "referrer": "-", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36", "request_time": "0.010", "cache_status": "-", "upstream_response_time": "0.001, 0.007", "upstream_addr": "10.100.0.10:9000, 10.100.0.11:9000", "upstream_status": "404, 200", "upstream_response_length": "0, 2984", "location": "staff"}
Π Π»ΠΎΠ³Π°Ρ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΡΠ΅ΡΠ²Π΅Ρ 10.100.0.10 ΠΎΡΠ²Π΅ΡΠΈΠ» 404-ΠΉ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ ΠΈ Π·Π°ΠΏΡΠΎΡ ΡΡΠ΅Π» Π½Π° Π΄ΡΡΠ³ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅, Π² Π»ΠΎΠ³Π°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π»ΠΎ Π²ΠΎΡ ΡΠ°ΠΊΠΈΠΌ:
"upstream_response_time": "0.001, 0.007"
ΠΠ°Π½Π½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½Π°Ρ, ΡΡΠΎ ΡΠ΄ΠΎΡΡΠΎΠΈΠ»Π°ΡΡ Π΄Π°ΠΆΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ
Π ΡΡΠΎ Ρ Π½Π°Π΄ΡΠΆΠ½ΠΎΡΡΡΡ?
ΠΡΠ²Π°ΡΡ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π²ΡΠ΅ Π»ΠΎΠ³ΠΈ Π±Π΅Π· ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. Π Ρ ΡΡΠΈΠΌ Ρ ΡΠΈΠΏΠΎΠ²ΡΡ ΡΡ Π΅ΠΌ ΡΠ±ΠΎΡΠ° Π»ΠΎΠ³ΠΎΠ² Π΄Π»Ρ K8s, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΡ /ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΡ Π²ΡΡΠ΅, ΠΈΠΌΠ΅ΡΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, fluentd Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ±ΡΠ°ΡΡ Π»ΠΎΠ³ΠΈ Ρ ΠΊΠΎΡΠΎΡΠΊΠΎΠΆΠΈΠ²ΡΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ². Π ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π½Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Ρ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠ΅ΠΉ Π±Π°Π· Π΄Π°Π½Π½ΡΡ ΠΆΠΈΠ» ΠΌΠ΅Π½Π΅Π΅ 4-Ρ ΡΠ΅ΠΊΡΠ½Π΄, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ΄Π°Π»ΡΠ»ΡΡ β ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ:
"helm.sh/hook-delete-policy": hook-succeeded
ΠΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ Π»ΠΎΠ³ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°Π» Π² Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΠΎΠΌΠΎΡΡ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° before-hook-creation
.
ΠΡΡΠ³ΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ β ΡΠΎΡΠ°ΡΠΈΡ Π»ΠΎΠ³ΠΎΠ² Docker. ΠΠΎΠΏΡΡΡΠΈΠΌ, Π΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΠΈΡΠ΅Ρ Π² Π»ΠΎΠ³ΠΈ. Π ΠΎΠ±ΡΡΠ½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΠΌΡ ΡΡΠΏΠ΅Π²Π°Π΅ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΡΠ΅ Π»ΠΎΠ³ΠΈ, Π½ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ Π±ΡΠ»Π° ΠΎΠΏΠΈΡΠ°Π½Π° Π²ΡΡΠ΅ Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ ΡΠΎΡΠΌΠ°ΡΠΎΠΌ, β ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ, Π° Docker ΡΠΎΡΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ». ΠΡΠΎΠ³ β ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΡΠ΅ΡΡΠ½Ρ ΠΊΡΠΈΡΠΈΡΠ½ΡΠ΅ Π΄Π»Ρ Π±ΠΈΠ·Π½Π΅ΡΠ° Π»ΠΎΠ³ΠΈ.
ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ Π²Π°ΠΆΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΡΡΡ ΠΏΠΎΡΠΎΠΊΠΈ Π»ΠΎΠ³ΠΎΠ², Π²ΡΡΡΠ°ΠΈΠ²Π°Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ΅Π½Π½ΡΡ Π½Π°ΠΏΡΡΠΌΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΈΡ ΡΠΎΡ ΡΠ°Π½Π½ΠΎΡΡΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π΅ Π±ΡΠ΄Π΅Ρ Π»ΠΈΡΠ½ΠΈΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ Β«Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ°Β» Π»ΠΎΠ³ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΆΠΈΡΡ ΠΊΡΠ°ΡΠΊΡΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΏΡΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ ΠΊΡΠΈΡΠΈΡΠ½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π½Π΅ Π½Π°Π΄ΠΎ Π·Π°Π±ΡΠ²Π°ΡΡ, ΡΡΠΎ Π»ΡΠ±ΡΡ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ Π²Π°ΠΆΠ½ΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ. ΠΠ½Π°ΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ ΡΠΈΡΡΠ°ΡΠΈΠ΅ΠΉ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ fluentd Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ CrashLoopBackOff
ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ, Π° ΡΡΠΎ ΡΡΠ»ΠΈΡ ΠΏΠΎΡΠ΅ΡΠ΅ΠΉ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
ΠΡΠ²ΠΎΠ΄Ρ
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Π½Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ SaaS-ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠΎΠ΄Π΅ Datadog. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π·Π΄Π΅ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠ°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅ ΡΠΆΠ΅ ΡΠ΅ΡΠ΅Π½Ρ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΠΌΠΈ, ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΠΈΠΌΠΈΡΡ Π½Π° ΡΠ±ΠΎΡΠ΅ Π»ΠΎΠ³ΠΎΠ², Π½ΠΎ Π½Π΅ Π²ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ SaaS ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ (ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ β ΡΡΠΎ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΈ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ 152-Π€Π).
Π¦Π΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ±ΠΎΡ Π»ΠΎΠ³ΠΎΠ² ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΏΡΠΎΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ, Π½ΠΎ Π²ΠΎΠ²ΡΠ΅ ΡΠ°ΠΊΠΎΠ²ΠΎΠΉ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ. ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ:
- ΠΠΎΠ³ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΡΠΎΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΡΠΈΡΠΈΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, Π° Π΄Π»Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈ ΡΠ±ΠΎΡ ΠΎΡΠΈΠ±ΠΎΠΊ.
- ΠΠΎΠ³ΠΈ Π² production ΡΡΠΎΠΈΡ Π΄Π΅Π»Π°ΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ, ΡΡΠΎΠ±Ρ Π½Π΅ Π΄Π°Π²Π°ΡΡ Π»ΠΈΡΠ½ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ.
- ΠΠΎΠ³ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΌΠ°ΡΠΈΠ½ΠΎΡΠΈΡΠ°Π΅ΠΌΡΠΌΠΈ, Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ, ΠΈΠΌΠ΅ΡΡ ΡΡΡΠΎΠ³ΠΈΠΉ ΡΠΎΡΠΌΠ°Ρ.
- ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΡΠΈΡΠΈΡΠ½ΡΠ΅ Π»ΠΎΠ³ΠΈ ΡΡΠΎΠΈΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ .
- Π‘ΡΠΎΠΈΡ ΠΏΡΠΎΠ΄ΡΠΌΠ°ΡΡ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ Π»ΠΎΠ³ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΠ°ΡΡΠΈ ΠΎΡ Π²ΡΠΏΠ»Π΅ΡΠΊΠΎΠ² Π²ΡΡΠΎΠΊΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΡΠ΄Π΅Π»Π°Π΅Ρ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠΉ.
ΠΡΠΈ ΠΏΡΠΎΡΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°, Π΅ΡΠ»ΠΈ ΠΈΡ
ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π²Π΅Π·Π΄Π΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΈ Π±Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π²ΡΡΠ΅ ΡΡ
Π΅ΠΌΠ°ΠΌ β Π΄Π°ΠΆΠ΅ Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π² Π½ΠΈΡ
Π½Π΅ Ρ
Π²Π°ΡΠ°Π΅Ρ Π²Π°ΠΆΠ½ΡΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² (Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ°). ΠΡΠ»ΠΈ ΠΆΠ΅ Π½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠ°ΠΊΠΈΡ
ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ², Π·Π°Π΄Π°ΡΠ° Ρ Π»ΡΠ³ΠΊΠΎΡΡΡΡ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ Π²Π°Ρ ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΠΊ Π΅ΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ Π²ΡΡΠΎΠΊΠΎΠ½Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠΌΡ (ΠΈ Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΌΠ°Π»ΠΎΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΌΡ) ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ.
P.S.
Π§ΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π² Π½Π°ΡΠ΅ΠΌ Π±Π»ΠΎΠ³Π΅:
- Β«
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΠΌ loghouse β Open Source-ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π»ΠΎΠ³Π°ΠΌΠΈ Π² Kubernetes Β»; - Β«
Π Π΅Π»ΠΈΠ·Ρ Π΄Π»Ρ Kubernetes-ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ Ρ KubeCon’19: JFrog Container Registry, Kui ΠΎΡ IBM, Loki 1.0.0β¦ Β»; - Β«
ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈ Kubernetes (ΠΎΠ±Π·ΠΎΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ Π΄ΠΎΠΊΠ»Π°Π΄Π°) Β».
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com