ΠΡΠ΅Π· Π³ΠΎΠ΄ΠΈΠ½ΠΈΡΠ΅ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π½Π΅ Π½Π° Pinterest 300 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° ΡΡΠ·Π΄Π°Π΄ΠΎΡ Π° Π½Π°Π΄ 200 ΠΌΠΈΠ»ΠΈΠ°ΡΠ΄Π° ΠΏΠΈΠ½Π° Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 4 ΠΌΠΈΠ»ΠΈΠ°ΡΠ΄Π° Π΄ΡΡΠΊΠΈ. ΠΠ° Π΄Π° ΠΎΠ±ΡΠ»ΡΠΆΠ²Π° ΡΠ°Π·ΠΈ Π°ΡΠΌΠΈΡ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΈ ΠΎΠ±ΡΠΈΡΠ½Π°ΡΠ° Π±Π°Π·Π° Ρ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅, ΠΏΠΎΡΡΠ°Π»ΡΡ Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΈΠ» Ρ ΠΈΠ»ΡΠ΄ΠΈ ΡΡΠ»ΡΠ³ΠΈ, Π·Π°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ ΠΎΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈ, Ρ ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Π²ΡΡ Π½ΡΠΊΠΎΠ»ΠΊΠΎ CPU, ΠΈ ΡΡΠΈΠ³Π°ΠΉΠΊΠΈ Π΄ΠΎ Π³ΠΈΠ³Π°Π½ΡΡΠΊΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ°Π±ΠΎΡΡΡ Π½Π° ΡΡΠ» ΠΏΠ°ΡΠΊ ΠΎΡ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ. Π Π΅ΡΠΎ, Π½Π°ΡΡΡΠΏΠΈ ΠΌΠΎΠΌΠ΅Π½ΡΡΡ, Π² ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ³Π»Π΅Π΄ΡΡ Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° ΡΠ΅ ΡΠΏΡΡ Π½Π° k8s. ΠΠ°ΠΊΠ²ΠΎ ΠΏΡΠΈΠ²Π»Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° βPinterestβ ΠΊΡΠΌ βΠΊΡΠ±ΡΠ΅ΡΠΎβ? ΠΠ° ΡΠΎΠ²Π° ΡΠ΅ Π½Π°ΡΡΠΈΡΠ΅ ΠΎΡ Π½Π°ΡΠΈΡ ΠΏΡΠ΅Π²ΠΎΠ΄ Π½Π° ΡΠ²Π΅ΠΆΠ°ΡΠ° ΡΡΠ°ΡΠΈΡ ΠΎΡ .

Π ΡΠ°ΠΊΠ°, ΡΡΠΎΡΠΈΡΠΈ ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΈ ΡΡΠΎΡΠΈΡΠΈ ΠΌΠΈΠ»ΠΈΠ°ΡΠ΄ΠΈ ΠΏΠΈΠ½Π°. ΠΠ° Π΄Π° ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°ΠΌΠ΅ ΡΠ°Π·ΠΈ Π°ΡΠΌΠΈΡ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΈ ΠΎΠ±ΡΠΈΡΠ½Π°ΡΠ° Π±Π°Π·Π° Ρ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΈΡ
ΠΌΠ΅ Ρ
ΠΈΠ»ΡΠ΄ΠΈ ΡΡΠ»ΡΠ³ΠΈ, Π·Π°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ ΠΎΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈ, Ρ ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Π²ΡΡ Π½ΡΠΊΠΎΠ»ΠΊΠΎ CPU, ΠΈ ΡΡΠΈΠ³Π°ΠΉΠΊΠΈ Π΄ΠΎ Π³ΠΈΠ³Π°Π½ΡΡΠΊΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ°Π±ΠΎΡΡΡ Π½Π° ΡΡΠ» ΠΏΠ°ΡΠΊ ΠΎΡ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°ΠΌΠ΅ Ρ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΈ ΡΠ°ΠΌΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ ΡΠ΅ΡΡΡΡΠΈ Π½Π° CPU, ΠΏΠ°ΠΌΠ΅Ρ ΠΈΠ»ΠΈ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° Π²Ρ
ΠΎΠ΄-ΠΈΠ·Ρ
ΠΎΠ΄.
ΠΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΡΠΎΠ·ΠΈ Π·ΠΎΠΎΠΏΠ°ΡΠΊ ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ, Π΅ΠΊΠΈΠΏΡΡ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ²Π° Ρ ΡΠ΅Π΄ΠΈΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ:
- ΠΠ½ΠΆΠ΅Π½Π΅ΡΠΈΡΠ΅ Π½ΡΠΌΠ°Ρ ΡΠ½ΠΈΡΠΈΡΠΈΡΠ°Π½ Π½Π°ΡΠΈΠ½ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ½Π° ΡΡΠ΅Π΄Π°. Stateless ΡΡΠ»ΡΠ³ΠΈ, Stateful ΡΡΠ»ΡΠ³ΠΈ ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π² Π°ΠΊΡΠΈΠ²Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ΅ Π±Π°Π·ΠΈΡΠ°Ρ Π½Π° Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ½ΠΈ ΡΡΠ°ΠΊΠΎΠ²e. Π’ΠΎΠ²Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ» ΠΎΠ±ΡΡΠΈΡΠ΅Π»Π΅Π½ ΠΊΡΡΡ Π·Π° ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΡΠ΅, Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅ΡΠΈΠΎΠ·Π½ΠΎ ΡΡΠ»ΠΎΠΆΠ½ΡΠ²Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π½Π°ΡΠΈΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅Π½ Π΅ΠΊΠΈΠΏ.
- Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°Ρ Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½ ΠΏΠ°ΡΠΊ ΠΎΡ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ, ΡΡΠ·Π΄Π°Π²Π°Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΡΡΠ΅ΡΠ½ΠΈΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π°, ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΡΠΎΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠ°ΡΠΎ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΠΠ‘ ΠΈΠ»ΠΈ AMI, ΡΠ΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΡΡ Π² ΡΡΠΎΠΊΠΎΠ²Π΅ ΠΎΡ ΡΠ΅Π΄ΠΌΠΈΡΠΈ ΠΈ ΠΌΠ΅ΡΠ΅ΡΠΈ. Π’ΠΎΠ²Π° Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π², ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°ΡΠΈΡΠ΅, Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ ΡΡΡΠΈΠ½Π½ΠΈ ΡΠΈΡΡΠ°ΡΠΈΠΈ.
- Π’ΡΡΠ΄Π½ΠΎΡΡΠΈ ΠΏΡΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π³Π»ΠΎΠ±Π°Π»Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π°Π΄ Π²Π΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ. Π‘ΠΈΡΡΠ°ΡΠΈΡΡΠ° ΡΠ΅ ΡΡΠ»ΠΎΠΆΠ½ΡΠ²Π° ΠΈ ΠΎΡ ΡΠ°ΠΊΡΠ°, ΡΠ΅ Π½Π°ΠΌΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΠΈ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈΡΠ΅ ΠΌΠ°ΡΠΈΠ½ΠΈ Π½Π΅ Π΅ Π»Π΅ΡΠ½ΠΎ. Π’ΠΎΠ΅ΡΡ, Π½Π΅ Π·Π½Π°Π΅ΠΌ, Π΄Π°Π»ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ Π΄Π° ΠΈΠ·ΡΠ΅Π³Π»ΠΈΠΌ ΡΠ΅Π·ΠΈ ΡΠ΅ΡΡΡΡΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° Π΄ΡΡΠ³ΠΈ ΡΡΠ°ΡΡΡΡΠΈ ΠΎΡ Π½Π°ΡΠ°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°.
ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΡ ΡΠ° Π½Π°ΡΠΈΠ½ Π·Π° ΡΠ½ΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΎΡΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅. Π’Π΅ Π²ΠΈ ΠΎΡΠ²Π°ΡΡΡ ΠΏΡΡΡ ΠΊΡΠΌ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΠΎΠΏΡΠΎΡΡΡΠ²Π°Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅ΡΡΡΡΠΈ, ΡΡΠ°ΡΡΠ²Π°ΡΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Ρ ΠΎΡ Π΅Π΄Π½Π° ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°.

Π ΠΈΡΡΠ½ΠΊΠ° 1: ΠΡΠΈΠΎΡΠΈΡΠ΅ΡΠΈ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° (Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡ).
ΠΠΊΠΈΠΏΡΡ Π½Π° Cloud Management Platform Π² Pinterest ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π° Ρ K8s ΠΏΡΠ΅Π· 2017 Π³. ΠΠΎ ΠΏΡΡΠ²Π°ΡΠ° ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Π½Π° 2017 Π³. Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠ°Ρ ΠΌΠ΅ Π³ΠΎΠ»ΡΠΌΠ° ΡΠ°ΡΡ ΠΎΡ Π½Π°ΡΠΈΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ΠΈ ΠΌΠΎΡΠ½ΠΎΡΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ API ΠΈ Π²ΡΠΈΡΠΊΠΈΡΠ΅ Π½ΠΈ ΡΠ΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠΈ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΏΡΠΎΠ²Π΅Π΄ΠΎΡ ΠΌΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½Π° ΠΎΡΠ΅Π½ΠΊΠ° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠΈ ΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΡΡΡ . ΠΠΎ ΠΊΡΠ°Ρ Π½Π° 2017 Π³. ΡΠ΅ΡΠΈΡ ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Kubernetes. Π’ΠΎΠΉ Π±Π΅ΡΠ΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π³ΡΠ²ΠΊΠ°Π² ΠΈ ΡΠΈΡΠΎΠΊΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ Π² ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅.
ΠΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠΌΠ΅ ΡΡΠ·Π΄Π°Π»ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΏΡΡΠ²ΠΈΡΠ½ΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ°, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Kops, ΠΈ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΠΈΡ ΠΌΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° Kubernetes β ΠΊΠ°ΡΠΎ ΠΌΡΠ΅ΠΆΠ°, ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ, ΠΌΠ΅ΡΡΠΈΠΊΠΈ, Π²ΠΎΠ΄Π΅Π½Π΅ Π½Π° ΠΆΡΡΠ½Π°Π»ΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎΡΡΡΠ° ΠΈ ΡΡΠ°ΡΠΈΠΊΠ°. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΠΌΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΡΠ΅ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ Π·Π° Π½Π°ΡΠΈΡ ΡΠ΅ΡΡΡΡ, ΡΠΈΡΡΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ Π΅ ΡΠΊΡΠΈΡΠ° ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅. Π‘Π΅Π³Π° ΡΠΌΠ΅ ΡΠΎΠΊΡΡΠΈΡΠ°Π½ΠΈ Π²ΡΡΡ Ρ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°Π±ΠΈΠ»Π½ΠΎΡΡΡΠ° Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ°, Π½Π΅Π³ΠΎΠ²ΠΎΡΠΎ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅ ΠΈ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ.
Kubernetes: ΠΏΡΡΡΡ Π½Π° Pinterest
ΠΠ°ΠΏΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ Kubernetes Π² ΠΌΠ°ΡΠ°Π±ΠΈΡΠ΅ Π½Π° Pinterest ΠΊΠ°ΡΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, ΠΊΠΎΡΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΎΠ±ΠΈΡΠ°Π½Π° ΠΎΡ Π½Π°ΡΠΈΡΠ΅ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈ, Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ.
ΠΠ°ΡΠΎ Π³ΠΎΠ»ΡΠΌΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Π²Π»ΠΎΠΆΠΈΡ ΠΌΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΠΎΡΠΎΡΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ, ΠΊΠΎΠΈΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ ΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΡΡ ΠΊΠ»ΡΡΠΎΠ²Π΅, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° ΡΡΠ°ΡΠΈΠΊΠ°, ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ»ΡΠ³ΠΈ, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π·Π° Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΠΆΡΡΠ½Π°Π»ΠΈ ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ. ΠΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π±Π΅ΡΠ΅ ΡΡΠ±ΡΠ°Π½ΠΎ Π½Π΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ: ΠΏΡΠ΅ΠΌΠΈΠ½Π°Ρ ΠΌΠ΅ ΠΏΡΠ΅Π· Π½ΠΎΡΠΌΠ°Π»Π½ΠΈΡ ΠΏΡΠΎΡΠ΅Ρ Π½Π° ΠΏΡΠΎΠ±ΠΈ ΠΈ Π³ΡΠ΅ΡΠΊΠΈ, Π·Π°ΡΠΎΠ²Π° ΠΆΠ΅Π»Π°Π΅Ρ ΠΌΠ΅ Π΄Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π² Π½ΠΎΠ²Π°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π½Π° Kubernetes Π²ΠΌΠ΅ΡΡΠΎ Π΄Π° ΠΏΡΠ΅ΠΎΡΠΊΡΠΈΠ²Π°ΠΌΠ΅ ΡΡΠ°ΡΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π½Π° Π½ΠΎΠ²Π°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°. Π’ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° ΠΏΠΎ-Π»Π΅ΡΠ½ΠΎ, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π²ΡΠΈΡΠΊΠ°ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° Π²Π΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°, Π½Π΅ Π΅ Π½ΡΠΆΠ½ΠΎ Π΄Π° Ρ ΡΡΠ·Π΄Π°Π²Π°ΠΌΠ΅ ΠΎΡ Π½ΡΠ»Π°ΡΠ°.
ΠΡ Π΄ΡΡΠ³Π° ΡΡΡΠ°Π½Π°, ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ΅ Π·Π° ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ Π² ΡΠ°ΠΌΠΈΡ Kubernetes (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°Π·Π³ΡΡΡΠ°Π½ΠΈΡ, Π·Π°Π΄Π°ΡΠΈ ΠΈ Π½Π°Π±ΠΎΡΠΈ Daemon) Π½Π΅ ΡΠ° Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΈ Π·Π° Π½Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ. Π’Π΅Π·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΡΠ·Π°Π±ΠΈΠ»ΠΈΡΠ΅ΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π°Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΠΈ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΡ ΠΏΠΎ ΠΏΡΡΡ ΠΊΡΠΌ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Kubernetes. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ²Π°Π»ΠΈ ΡΠΌΠ΅ ΠΊΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° ΡΡΠ»ΡΠ³ΠΈ ΡΠ΅ ΠΎΠΏΠ»Π°ΠΊΠ²Π°Ρ ΠΎΡ Π»ΠΈΠΏΡΠ°ΡΠ° ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡΠ΅ΠΊΡΠ½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° Π²Ρ ΠΎΠ΄Π°. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠΌΠ΅ ΡΠ΅ ΡΡΠ΅ΡΠ°Π»ΠΈ Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°ΡΠΎΡΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ° ΡΡΠ·Π΄Π°Π²Π°Π½ΠΈ ΡΡΠΎΡΠΈΡΠΈ ΠΊΠΎΠΏΠΈΡ ΡΡΡ ΡΡΡΠ°ΡΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ Π·Π°Π΄Π°ΡΠ°, ΠΊΠΎΠ΅ΡΠΎ Π΅ Π΄ΠΎΠ²Π΅Π»ΠΎ Π΄ΠΎ ΡΠΆΠ°ΡΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΎΡΠΊΡΠΈΡΠΈΡΡΠ°.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π±Π΅ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΡΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²Π΅ΡΡΠΈΠΈ Π² Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ΅Ρ. ΠΡΠ΅Π΄ΡΡΠ°Π²Π΅ΡΠ΅ ΡΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°, Π°ΠΊΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Π²Π΅Π΄Π½Π°Π³Π° Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²Π΅ΡΡΠΈΠΈ Π½Π° Π΅Π΄Π½Π° ΠΈ ΡΡΡΠ° ΡΡΠ΅Π΄Π° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, Ρ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Ρ Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, Π±ΡΠ³ΠΎΠ²Π΅ ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΡΠ΅ΡΡΡΡΠΈ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ Π½Π° Pinterest
ΠΠ° Π΄Π° ΡΠ»Π΅ΡΠ½ΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° Kubernetes Π·Π° Π½Π°ΡΠΈΡΠ΅ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π΄Π° ΠΎΠΏΡΠΎΡΡΠΈΠΌ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΠΈ Π΄Π° ΡΡΠΊΠΎΡΠΈΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΠΉ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΈΡ ΠΌΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΠ΅ ΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΡΠ΅ΡΡΡΡΠΈ (CRD).
CRD ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ:
- ΠΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π½Π°ΡΠΈΠ²Π½ΠΈ ΡΠ΅ΡΡΡΡΠΈ Π½Π° Kubernetes, ΡΠ°ΠΊΠ° ΡΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΡΡ ΠΊΠ°ΡΠΎ Π΅Π΄ΠΈΠ½Π½ΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΡΡΡΡΡΡ PinterestService Π²ΠΊΠ»ΡΡΠ²Π° ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅, Π²Ρ ΠΎΠ΄Π½Π° ΡΠ»ΡΠΆΠ±Π° ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½Π° ΠΊΠ°ΡΡΠ°. Π’ΠΎΠ²Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π΄Π° Π½Π΅ ΡΠ΅ ΠΏΡΠΈΡΠ΅ΡΠ½ΡΠ²Π°Ρ Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° Π½Π° DNS.
- ΠΠ½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΡΠΎΠΊΡΡΠΈΡΠ° ΡΠ°ΠΌΠΎ Π²ΡΡΡ Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΡΠΏΠΎΡΠ΅Π΄ ΡΠ²ΠΎΡΡΠ° Π±ΠΈΠ·Π½Π΅Ρ Π»ΠΎΠ³ΠΈΠΊΠ°, Π΄ΠΎΠΊΠ°ΡΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΡΡ Π½Π° CRD Π²Π½Π΅Π΄ΡΡΠ²Π° Π²ΡΠΈΡΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ init-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° pod. Π’ΠΎΠ²Π° ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΡΡΠ²ΡΠ΅ΠΌ Π½ΠΎΠ²ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΠΊΠΎΠΌΡΠΎΡΡ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅.
- ΠΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈΡΠ΅ Π½Π° CRD ΡΡΡΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Ρ ΠΆΠΈΠ·Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΡΠ» Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΠ΅ ΡΠ΅ΡΡΡΡΠΈ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Ρ Π½Π°Π»ΠΈΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. Π’ΠΎΠ²Π° Π²ΠΊΠ»ΡΡΠ²Π° ΡΡΠ³Π»Π°ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΆΠ΅Π»Π°Π½Π°ΡΠ° ΠΈ ΡΠ΅Π°Π»Π½Π°ΡΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ°ΡΡΡΠ° Π½Π° CRD ΠΈ Π²ΠΎΠ΄Π΅Π½Π΅ Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ Π·Π° ΡΡΠ±ΠΈΡΠΈΡ ΠΈ Π½Π΅ ΡΠ°ΠΌΠΎ. ΠΠ΅Π· CRD ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΡΡΡ Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠΈΠ½ΡΠ΄Π΅Π½ΠΈ Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎΠ±ΡΠΎΠΉΠ½ΠΈ Π½Π°Π±ΠΎΡΠΈ ΠΎΡ ΡΠ΅ΡΡΡΡΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΡΠ°ΠΌΠΎ Π±ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ»ΠΎ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΠ° Π·Π° Π³ΡΠ΅ΡΠΊΠΈ.
ΠΡΠΎ Π΅Π΄ΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° PinterestService ΠΈ Π²ΡΡΡΠ΅ΡΠ΅Π½ ΡΠ΅ΡΡΡΡ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ²Π° ΠΎΡ Π½Π°ΡΠΈΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ:

ΠΠ°ΠΊΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π²ΠΈΠ΄ΠΈ ΠΏΠΎ-Π³ΠΎΡΠ΅, Π·Π° Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΠΌΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°ΠΌΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π·Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΡ, Π·Π° Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ, Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ ΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΡΡΠ°ΡΠΈΠΊ. Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, ΡΡΠ·Π΄Π°Π΄ΠΎΡ
ΠΌΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΈ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΠΊΠ°ΡΡΠΈ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ
ΠΌΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ°Π±Π»ΠΎΠ½ΠΈ PVC Π·Π° ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΈ Π·Π°Π΄Π°Π½ΠΈΡ, Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° Π·Π° ΡΠ»Π΅Π΄Π΅Π½Π΅ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈ ΠΈ ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° βΠΌΡΡΠΎΡβ.
Π’ΡΡΠ΄Π½ΠΎ Π΅ Π΄Π° ΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ, ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π±ΠΈΡ Π° ΠΈΡΠΊΠ°Π»ΠΈ Π΄Π° Π½Π°ΠΏΠΈΡΠ°Ρ ΡΠ΅Π·ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΡΡΠ½ΠΎ Π±Π΅Π· ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° ΠΎΡ CRD, Π° Π·Π° ΠΏΠΎ-Π½Π°ΡΠ°ΡΡΡΠ½Π°ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° ΠΈ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈΡΠ΅ Π΄Π° Π½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΠΌ.
Π Π°Π±ΠΎΡΠ΅Π½ ΠΏΠΎΡΠΎΠΊ Π·Π° ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ

ΠΠ° Π³ΠΎΡΠ½Π°ΡΠ° ΡΠΈΡΡΠ½ΠΊΠ° Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΊΠ°ΠΊ Π΄Π° ΡΠ΅ ΡΠ°Π·Π³ΡΡΡΠ½Π΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΡΠ΅ΡΡΡΡ Pinterest Π² ΠΊΠ»Π°ΡΡΠ΅Ρ Kubernetes:
- Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π°Ρ Ρ Π½Π°ΡΠΈΡ ΠΊΠ»Π°ΡΡΠ΅Ρ Kubernetes ΡΡΠ΅Π· CLI ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
- ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ CLI / UI ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ YAML ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΡ ΠΏΡΠΎΡΠ΅Ρ ΠΈ Π΄ΡΡΠ³ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΡΠ° (ΡΡΡΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π° Π²Π΅ΡΡΠΈΡΡΠ°) ΠΎΡ Artifactory, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ Π³ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π² Job Submission Service. Π’Π°Π·ΠΈ ΡΡΡΠΏΠΊΠ° Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ Π² ΠΊΠ»Π°ΡΡΡΠ° ΡΠ΅ ΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΡΡ ΡΠ°ΠΌΠΎ ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π²Π΅ΡΡΠΈΠΈ.
- JSS Π΅ ΡΠ»ΡΠ· Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Kubernetes. Π’ΡΠΊ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ, ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ²ΠΎΡΠΈ ΠΈ ΡΠ°ΡΡΠΈΡΠ½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Π½Π°ΡΠΈΡ CRD.
- Π‘Π»Π΅Π΄ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° CRD Π½Π° ΡΡΡΠ°Π½Π° JSS ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ° Π½Π° API Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° k8s.
- ΠΠ°ΡΠΈΡΡ CRD ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π° ΡΡΠ±ΠΈΡΠΈΡ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΡΠ΅ΡΡΡΡΠΈ. Π’ΠΎΠΉ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π° CR Π² Π½Π°ΡΠΈΠ²Π½ΠΈ ΡΠ΅ΡΡΡΡΠΈ Π½Π° k8s, Π΄ΠΎΠ±Π°Π²Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ, Π·Π°Π΄Π°Π²Π° ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° ΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π° Π΄ΡΡΠ³ΠΈ ΠΏΠΎΠΌΠΎΡΠ½ΠΈ Π·Π°Π΄Π°ΡΠΈ, ΠΊΠ°ΡΠΎ ΠΏΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ Π³Π°ΡΠ°Π½ΡΠΈΡΠ° Π΄ΠΎΡΡΠ°ΡΡΡΠ½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
- Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΡΡ CRD ΠΏΡΠ΅Π΄Π°Π²Π° ΠΏΠΎΠ»ΡΡΠ΅Π½Π°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π° API Π½Π° Kubernetes, Π·Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½Π° ΠΎΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° ΠΈ Π΄Π° Π±ΡΠ΄Π΅ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π° Π² ΡΠ°Π±ΠΎΡΠ°.
ΠΠ°Π±Π΅Π»Π΅ΠΆΠΊΠ°: ΡΠΎΠ²Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ΠΎ ΡΠ°Π±ΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π±Π΅ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΎ Π·Π° ΠΏΡΡΠ²ΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Π½Π° Π½ΠΎΠ²Π°ΡΠ° k8s ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΏΠΎ ΡΡΡΠ²ΡΡΡΠ΅Π½ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΎΡΠ΅Ρ, Π·Π° Π΄Π° ΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°ΠΌΠ΅ Π½Π°ΠΏΡΠ»Π½ΠΎ Ρ Π½Π°ΡΠ°ΡΠ° Π½ΠΎΠ²Π° CI/CD. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»ΠΈΠΌ Π²ΡΠΈΡΠΊΠΎ, ΡΠ²ΡΡΠ·Π°Π½ΠΎ Ρ Kubernetes. ΠΡΠ°ΠΊΠ²Π°ΠΌΠ΅ Ρ Π½Π΅ΡΡΡΠΏΠ΅Π½ΠΈΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»ΠΈΠΌ Π½Π°ΡΠΈΡ ΠΎΠΏΠΈΡ ΠΈ Π΄Π° ΡΠ°Π·ΠΊΠ°ΠΆΠ΅ΠΌ Π·Π° Π½Π°ΠΏΡΠ΅Π΄ΡΠΊΠ° Π½Π° Π΅ΠΊΠΈΠΏΠ° Π² ΡΠ°Π·ΠΈ Π½Π°ΡΠΎΠΊΠ° Π² ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡ Π½ΠΈ Π±Π»ΠΎΠ³ ΠΏΠΎΡΡ βΠ‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° CI/CD ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° Pinterestβ.
ΠΠΈΠ΄ΠΎΠ²Π΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠ΅ΡΡΡΡΠΈ
ΠΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈΡΠ΅ Π½ΡΠΆΠ΄ΠΈ Π½Π° Pinterest, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΈΡ ΠΌΠ΅ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ CRD, ΠΊΠΎΠΈΡΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ½ΠΈ ΠΏΠΎΡΠΎΡΠΈ:
- PinterestService β ΡΠΎΠ²Π° ΡΠ° Π΄ΡΠ»Π³ΠΎΡΡΠΎΡΠ½ΠΈ stateless ΡΡΠ»ΡΠ³ΠΈ. ΠΠ½ΠΎΠ³ΠΎ ΠΎΡ Π½Π°ΡΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠ° ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ΠΈ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° Π½Π°Π±ΠΎΡ ΠΎΡ ΡΠ°ΠΊΠΈΠ²Π° ΡΡΠ»ΡΠ³ΠΈ.
- PinterestJobSet ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΈ Π·Π°Π΄Π°ΡΠΈ Ρ ΠΏΡΠ»Π΅Π½ ΡΠΈΠΊΡΠ». Π Pinterest ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΠΏΡΠΈ ΠΊΠΎΠΉΡΠΎ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π·Π°Π΄Π°Π½ΠΈΡ ΡΡΠ°ΡΡΠΈΡΠ°Ρ Π΅Π΄Π½ΠΈ ΠΈ ΡΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π΄ΡΡΠ³ΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ.
- PinterestCronJob ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΈΡΠΎΠΊΠΎ Π·Π° ΠΌΠ°Π»ΠΊΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ. Π’ΠΎΠ²Π° Π΅ ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° Π·Π° Π½Π°ΡΠΈΠ²Π½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Π½Π° cron Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Pinterest, ΠΊΠΎΠΈΡΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ, ΡΡΠ°ΡΠΈΠΊ, Π»ΠΎΠ³ΠΎΠ²Π΅ ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ.
- PinterestDaemon Π²ΠΊΠ»ΡΡΠ²Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΠΈ Π΄Π΅ΠΌΠΎΠ½- ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ. Π’ΠΎΠ²Π° ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π΄Π° ΡΠ°ΡΡΠ΅, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π΄ΠΎΠ±Π°Π²ΡΠΌΠ΅ Π²ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π½Π°ΡΠΈΡΠ΅ ΠΊΠ»ΡΡΡΠ΅ΡΠΈ.
- PinterestTrainingJob ΠΎΠ±Ρ Π²Π°ΡΠ° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ Π½Π° Tensorflow ΠΈ Pytorch, ΠΎΡΠΈΠ³ΡΡΡΠ²Π°ΠΉΠΊΠΈ ΡΡΡΠΎΡΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π²ΡΠΈΡΠΊΠΈ ΠΎΡΡΠ°Π½Π°Π»ΠΈ CRD. ΠΠΎΠ½Π΅ΠΆΠ΅ Pinterest Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Tensorflow ΠΈ Π΄ΡΡΠ³ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅, ΠΈΠΌΠ°ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΡ Π΄Π° ΠΈΠ·Π³ΡΠ°Π΄ΠΈΠΌ ΠΎΠΊΠΎΠ»ΠΎ ΡΡΡ ΠΎΡΠ΄Π΅Π»Π΅Π½ CRD.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΏΠΎ PinterestStatefulSet, ΠΊΠΎΠΉΡΠΎ ΡΠΊΠΎΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ Π°Π΄Π°ΠΏΡΠΈΡΠ°Π½ Π·Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ Π΄ΡΡΠ³ΠΈ stateful ΡΠΈΡΡΠ΅ΠΌΠΈ.
ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΡΠ΅Π΄Π° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅
ΠΠΎΠ³Π°ΡΠΎ ΠΌΠΎΠ΄ΡΠ»ΡΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΡΠ°ΡΡΠΈΡΠ° Π² Kubernetes, ΡΠΎΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π·Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ. Π’ΠΎΠ·ΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΈΠ»ΠΈ Π·Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ Ρ Π΄ΡΡΠ³ΠΈ ΡΡΠ»ΡΠ³ΠΈ ΡΡΠ΅Π· mTLS. ΠΠ΅ΠΆΠ΄ΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠΈΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΈ Daemon ΡΠ΅ Π·Π°ΡΠ΅Π΄ΠΈ Π²ΡΠΈΡΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠ΅Π΄ΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΎΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠΎΠ³Π°ΡΠΎ Π²ΡΠΈΡΠΊΠΎ Π΅ Π³ΠΎΡΠΎΠ²ΠΎ, ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΠΈΡΡ sidecar ΠΈ Daemon ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Ρ IP Π°Π΄ΡΠ΅ΡΠ° Π½Π° ΠΌΠΎΠ΄ΡΠ»Π° Π² Π½Π°ΡΠΈΡ Zookeeper, Π·Π° Π΄Π° ΠΌΠΎΠ³Π°Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ Π΄Π° Π³ΠΎ ΠΎΡΠΊΡΠΈΡΡ. ΠΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡΡ ΠΌΠΎΠ΄ΡΠ» Π΅ Π±ΠΈΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ ΠΎΡΠ΅ ΠΏΡΠ΅Π΄ΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ.
ΠΠΎ-Π³ΠΎΡΠ΅ ΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ΠΈ ΡΠΈΠΏΠΈΡΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅. ΠΠ° Π΄ΡΡΠ³ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-ΡΠ°Π·Π»ΠΈΡΠ½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°, Π½ΠΎ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅ ΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ΠΈ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° sidecar Π½Π° Π½ΠΈΠ²ΠΎ pod, Π²ΡΠ·Π»ΠΎΠ²ΠΈ ΠΈΠ»ΠΈ Daemon ΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π° Π½ΠΈΠ²ΠΎ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ. ΠΠΈΠ΅ ΡΠ»Π΅Π΄ΠΈΠΌ Π·Π° ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ΡΠΎ Π½Π° Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠ°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΈ Π·Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°, ΠΊΠΎΠ΅ΡΠΎ Π² ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ½ΠΈΠΆΠ°Π²Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅.
Π’Π΅ΡΡΠ²Π°Π½Π΅ ΠΈ QA
Π‘ΡΠ·Π΄Π°Π΄ΠΎΡ ΠΌΠ΅ end-to-end ΡΠ΅ΡΡΠΎΠ²ΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ Π²ΡΡΡ Ρ Π²Π΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠ° ΡΠ΅ΡΡΠΎΠ²Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Kubernetes. Π’Π΅Π·ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ ΠΎΠ±Ρ Π²Π°ΡΠ°Ρ Π²ΡΠΈΡΠΊΠΈ Π½Π°ΡΠΈ ΠΊΠ»ΡΡΡΠ΅ΡΠΈ. ΠΠ°ΡΠΈΡΡ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ ΠΏΡΠ΅ΠΌΠΈΠ½Π° ΠΏΡΠ΅Π· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠ΅ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΡΡΠ°Π½Π΅ ΡΠ°ΡΡ ΠΎΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²ΠΈΡ ΠΊΠ»ΡΡΡΠ΅Ρ.
ΠΡΠ²Π΅Π½ ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅, ΠΈΠΌΠ°ΠΌΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΡΠ²Π°Π½Π΅, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ»Π΅Π΄ΡΡ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΡΡΠΈ ΠΈ Π΄ΡΡΠ³ΠΈ Π²Π°ΠΆΠ½ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΡΠ²Π΅Π΄ΠΎΠΌΡΠ²Π°ΠΉΠΊΠΈ Π½ΠΈ ΡΠ°ΠΌΠΎ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π°ΠΌΠ΅ΡΠ°.
ΠΠ»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΈ
Π Π°Π·Π³Π»Π΅Π΄Π°Ρ ΠΌΠ΅ Π½ΡΠΊΠΎΠΈ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΈ Π½Π° ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈΡΠ΅ ΡΠ΅ΡΡΡΡΠΈ, ΠΊΠ°ΡΠΎ ΠΌΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΡΠ°Π±Π»ΠΎΠ½ΠΈ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, Π²ΡΠΈΡΠΊΠΈ ΡΠ΅ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΡΡΡ ΡΠ΅ΡΠΈΠΎΠ·Π½ΠΈ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ Π² ΡΠ°Π±ΠΎΡΠ°ΡΠ°, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΈΠ·Π±ΡΠ°Ρ ΠΌΠ΅ ΠΏΡΡΡ Π½Π° CRD.
ΠΡΡΠΈΡΠ°Π»ΠΈΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΅ Π±ΠΈΠ» ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° sidcar-ΠΎΠ²Π΅, ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° ΠΈ Π΄ΡΡΠ³Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΡΠΎΠΉ ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ° Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΊΠ°ΡΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Ρ Π½ΠΈΡ ΠΆΠΈΠ·Π½Π΅Π½ ΡΠΈΠΊΡΠ», Π΄ΠΎΠΊΠ°ΡΠΎ ΠΏΡΠΈ CRD ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π½Π΅ Π²ΡΠ·Π½ΠΈΠΊΠ²Π°Ρ.
ΠΠ°Π±Π΅Π»Π΅ΠΆΠΊΠ°: Π‘ΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π·Π° ΡΠ°Π±Π»ΠΎΠ½ΠΈ, ΠΊΠ°ΡΠΎ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΈΡΠ΅ Helma, ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠΈΡΠΎΠΊΠΎ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, Π½Π°ΡΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ° ΡΠ²ΡΡΠ΄Π΅ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΈ, Π·Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Π½ΠΈ ΡΡΠ΅Π· ΡΠ°Π±Π»ΠΎΠ½ΠΈ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°Π±Π»ΠΎΠ½ΠΈ ΡΠ΅ Π²ΡΠ·Π½ΠΈΠΊΠ²Π°Ρ ΡΠ²ΡΡΠ΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π³ΡΠ΅ΡΠΊΠΈ.
ΠΡΠ΅Π΄ΡΡΠΎΡΡΠ°ΡΠ° ΡΠ°Π±ΠΎΡΠ°
Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ΅ ΡΠΏΡΠ°Π²ΡΠΌΠ΅ Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½ΠΎΡΡ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π½Π°ΡΠΈ ΠΊΠ»ΡΡΡΠ΅ΡΠΈ. ΠΠ° Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΠΌΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ ΡΠΈΠΏ ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ, ΡΠ°Π±ΠΎΡΠΈΠΌ Π² ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ:
- Π‘ΡΠ²ΠΊΡΠΏΠ½ΠΎΡΡΡΠ° ΠΎΡ ΠΊΠ»ΡΡΡΠ΅ΡΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Ρ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠ»ΡΡΡΠ΅ΡΠΈ Π·Π° ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡ ΠΈ ΡΡΠ°Π±ΠΈΠ»Π½ΠΎΡΡ.
- ΠΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°Π±ΠΈΠ»Π½ΠΎΡΡ, ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡ ΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΈ Π½Π΅Π³ΠΎΠ²ΠΎΡΠΎ SLA.
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ ΠΈ ΠΊΠ²ΠΎΡΠΈΡΠ΅, Π·Π° Π΄Π° Π½Π΅ Π½Π°ΡΡΡΠΏΠ²Π°Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°, Π° ΠΌΠ°ΡΠ°Π±ΡΡ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° Π΄Π° Π±ΡΠ΄Π΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°Π½ ΠΎΡ Π½Π°ΡΠ° ΡΡΡΠ°Π½Π°.
- ΠΠΎΠ²Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° CI/CD Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° ΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Kubernetes.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
