Docker Swarm, Kubernetes ΠΈ Mesos ΡΠ²Π»ΡΡΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°ΠΌΠΈ Π΄Π»Ρ ΠΎΡΠΊΠ΅ΡΡΡΠΎΠ²ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ². Π ΡΠ²ΠΎΠ΅ΠΌ Π²ΡΡΡΡΠΏΠ»Π΅Π½ΠΈΠΈ ΠΡΡΠ½ ΠΡΠΏΡΠ° ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΡΠ°Π±ΠΎΡΡ Docker, Swarm, ΠΈ Kubernetes:
- ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ Π΄Π΅Π²Π΅Π»ΠΎΠΏΠΌΠ΅Π½Ρ.
- Π€ΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ.
- ΠΡΠ»ΡΡΠΈΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
- ΠΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»ΡΠΆΠ± service discovery.
- ΠΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ°.
- Run-once Π·Π°Π΄Π°Π½ΠΈΡ.
- ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Maven.
- Β«Π‘ΠΊΠΎΠ»ΡΠ·ΡΡΠ΅Π΅Β» ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅.
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΠ Couchbase.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΎΡΠΊΠ΅ΡΡΡΠΎΠ²ΠΊΠΈ, ΠΈ ΠΈΠ·ΡΡΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ.
ΠΡΡΠ½ ΠΡΠΏΡΠ° β Π³Π»Π°Π²Π½ΡΠΉ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ open-source ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² Amazon Web Services, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ 10 Π»Π΅Ρ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Sun, Oracle, Red Hat ΠΈ Couchbase. ΠΠΌΠ΅Π΅Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Π² Π²Π΅Π΄ΡΡΠΈΡ
ΠΊΡΠΎΡΡ-ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ
, Π·Π°Π½ΠΈΠΌΠ°ΡΡΠΈΡ
ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³ΠΎΠ²ΡΡ
ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΉ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. Π ΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΠ» Π³ΡΡΠΏΠΏΠ°ΠΌΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ² Sun, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Java EE ΠΈ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΌ Π°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠΎΠ³ΠΎ ΠΎΡΠ΄Π΅Π»Π΅Π½ΠΈΡ Devoxx4Kids. ΠΡΡΠ½ ΠΡΠΏΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π²ΡΠΎΡΠΎΠΌ Π±ΠΎΠ»Π΅Π΅ 2 ΡΡΡΡΡ ΠΏΠΎΡΡΠΎΠ² Π² IT-Π±Π»ΠΎΠ³Π°Ρ
ΠΈ Π²ΡΡΡΡΠΏΠΈΠ» Ρ Π΄ΠΎΠΊΠ»Π°Π΄Π°ΠΌΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π² 40 ΡΡΡΠ°Π½Π°Ρ
.
Π ΡΡΡΠΎΠΊΠ΅ 55 ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ COUCHBASE_URI, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ ΠΊ Π½Π° ΡΠ΅ΡΠ²ΠΈΡ ΡΡΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Kubernetes. ΠΡΠ»ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΡΡΠΎΠΊΡ 2, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ kind: Service β ΡΡΠΎ ΡΠ΅ΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΡΠΎΠ·Π΄Π°Ρ ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ couchbase-service, ΠΈ ΡΡΠΎ ΠΆΠ΅ ΠΈΠΌΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎ Π² ΡΡΡΠΎΠΊΠ΅ 4. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΡΠΎΠ².
ΠΠ»ΡΡΠ΅Π²ΡΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ 6 ΠΈ 7. Π service Ρ Π³ΠΎΠ²ΠΎΡΡ: Β«ΠΠΉ, Π²ΠΎΡ ΡΡΠΈ ΠΌΠ΅ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΈΡΡ!Β», ΠΈ ΡΡΠΈ labels Π½Π΅ ΡΡΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π° ΠΏΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
, Π° ΡΡΡΠΎΠΊΠ° 7 ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΌΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ couchbase-rs-pod. ΠΠ°Π»Π΅Π΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ ΠΏΠΎΡΡΡ, Π΄Π°ΡΡΠΈΠ΅ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΠΈΠΌ ΡΠ°ΠΌΡΠΌ labels.
Π ΡΡΡΠΎΠΊΠ΅ 19 Ρ ΡΠΎΠ·Π΄Π°Ρ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠΏ ReplicaSet, Π² ΡΡΡΠΎΠΊΠ΅ 31 ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΈΠΌΡ ΠΎΠ±ΡΠ°Π·Π°, Π° ΡΡΡΠΎΠΊΠΈ 24-27 ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅, Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Ρ ΠΌΠΎΠΈΠΌ ΠΏΠΎΠ΄ΠΎΠΌ. ΠΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎ, ΡΡΠΎ ΠΈΡΠ΅Ρ service ΠΈ Ρ ΡΠ΅ΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅. Π ΠΊΠΎΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Π° ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π½Π΅ΠΊΠΈΠΉ Π²ΠΈΠ΄ ΡΠ²ΡΠ·ΠΈ ΡΡΡΠΎΠΊ 55-56 ΠΈ 4, Π³ΠΎΠ²ΠΎΡΡΡΠΈΠΉ: Β«ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉ ΡΡΠΎΡ service!Β».
ΠΡΠ°ΠΊ, Ρ Π·Π°ΠΏΡΡΠΊΠ°Ρ ΡΠ²ΠΎΠΉ service ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ Π½Π°Π±ΠΎΡΠ° ΡΠ΅ΠΏΠ»ΠΈΠΊ, ΠΈ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠ΅ΠΏΠ»ΠΈΠΊ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ ΠΏΠΎΡΡ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΌΠ΅ΡΠΊΠΎΠΉ, ΠΎΠ½ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΡΡΠ°Π² service. Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, Π²Ρ ΠΏΡΠΎΡΡΠΎ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΠ΅ΡΡ ΠΊ ΡΠ΅ΡΠ²ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΠ΅ΠΌ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Π½ΡΠΆΠ½ΡΠΉ Π²Π°ΠΌ Π½Π°Π±ΠΎΡ ΡΠ΅ΠΏΠ»ΠΈΠΊ.
Π ΠΈΡΠΎΠ³Π΅ Ρ ΠΌΠ΅Π½Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΏΠΎΠ΄ WildFly, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ°Π΅ΡΡΡ Ρ Π±ΡΠΊΠ΅Π½Π΄ΠΎΠΌ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π· Couchbase Service. Π― ΠΌΠΎΠ³Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΠ½ΡΠ΅Π½Π΄ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΠΎΠ΄Π°ΠΌΠΈ WildFly, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΡΠ΅Π· couchbase service ΡΠ²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Ρ Π±ΡΠΊΠ΅Π½Π΄ΠΎΠΌ couchbase.
ΠΠΎΠ·ΠΆΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ service, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π²Π½Π΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°, ΡΠ΅ΡΠ΅Π· ΡΠ²ΠΎΠΉ IP-Π°Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠ°Π΅ΡΡΡ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π²Π½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΈ ΠΈΠΌΠ΅ΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ IP-Π°Π΄ΡΠ΅Ρ.
ΠΡΠ°ΠΊ, stateless-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ β ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΎ, Π½ΠΎ Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΠΎΡΠΎΡΠ° ΠΈΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ stateful-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ? ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ stateful, ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ². Π Docker ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ 4 ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΊ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π΄Π°Π½Π½ΡΡ , Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. ΠΠ΅ΡΠ²ΡΠΉ β ΡΡΠΎ Implicit Per-Container, ΠΎΠ·Π½Π°ΡΠ°ΡΡΠΈΠΉ, ΡΡΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ satateful-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² couchbase, MySQL ΠΈΠ»ΠΈ MyDB, Π²ΡΠ΅ ΠΎΠ½ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Ρ Π΄Π΅ΡΠΎΠ»ΡΠ½ΡΠΌ Sandbox. Π’ΠΎ Π΅ΡΡΡ Π²ΡΠ΅, ΡΡΠΎ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΡΠ°ΠΌΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅. ΠΡΠ»ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΏΡΠΎΠΏΠ°Π΄Π°Π΅Ρ, Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠΏΠ°Π΄Π°ΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π½ΠΈΠΌ.
ΠΡΠΎΡΠΎΠΉ β ΡΡΠΎ Explicit Per-Container, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ docker volume create ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΠ΅ Π² Π½Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅. Π’ΡΠ΅ΡΠΈΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Per-Host ΡΠ²ΡΠ·Π°Π½ Ρ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³ΠΎΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ΅, ΡΡΠΎ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅, ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π΄ΡΠ±Π»ΠΈΡΡΠ΅ΡΡΡ Π½Π° Ρ ΠΎΡΡΠ΅. ΠΡΠ»ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π΄Π°ΡΡ ΡΠ±ΠΎΠΉ, Π΄Π°Π½Π½ΡΠ΅ ΠΎΡΡΠ°Π½ΡΡΡΡ Π½Π° Ρ ΠΎΡΡΠ΅. ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ β ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Ρ ΠΎΡΡΠΎΠ² Multi-Host, ΡΡΠΎ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Π°ΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Ρ Π²Π°ΡΠΈΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π·Π°ΠΏΡΡΠ΅Π½Ρ Π½Π° Ρ ΠΎΡΡΠ΅, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠ²ΠΎΠΈ Π΄Π°Π½Π½ΡΠ΅ Π³Π΄Π΅-ΡΠΎ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅, ΠΏΡΠΈΡΠ΅ΠΌ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ.
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΡΠΈΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°. Implicit ΠΈ Explicit Per-Container Ρ
ΡΠ°Π½ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π° Ρ
ΠΎΡΡΠ΅ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ /var/lib/docker/volumes. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° Per-Host Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΌΠΎΠ½ΡΠΈΡΡΠ΅ΡΡΡ Π²Π½ΡΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, Π° ΡΠ°ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΌΠΎΠ½ΡΠΈΡΡΠ΅ΡΡΡ Π½Π° Ρ
ΠΎΡΡΠ΅. ΠΠ»Ρ ΠΌΡΠ»ΡΡΠΈΡ
ΠΎΡΡΠΎΠ² ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° Ceph, ClusterFS, NFS ΠΈ Ρ.Π΄.
ΠΡΠΈ ΡΠ±ΠΎΠ΅ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π² Π΄Π²ΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΡΠ»ΡΡΠ°ΡΡ , Π° Π² Π΄Π²ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±ΡΠ°ΡΡΡΡ ΠΊ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΡ ΡΠ΅ΡΠ΅Π· Ρ ΠΎΡΡ Docker, Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠΉ Π½Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅. ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΠΆΠ΅ Π½Π΅ ΠΏΡΠΎΠΏΠ°Π΄ΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²Ρ ΡΠΎΠ·Π΄Π°Π»ΠΈ Explicit-Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
ΠΡΠΈ ΡΠ±ΠΎΠ΅ Ρ ΠΎΡΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Π° Π² ΡΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΡΡ ΡΠ»ΡΡΠ°ΡΡ , Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ²ΡΠ·Ρ Ρ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΠΌ Π½Π΅ ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΡΡΡ. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΡΠ½ΠΊΡΠΈΡ shared ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½Π° Π΄Π»Ρ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π² ΠΎΡΡΠ°Π»ΡΠ½ΡΡ . ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΠΌ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π²Π°ΡΠ° Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΈΠ»ΠΈ Π½Π΅Ρ. Π ΡΠ»ΡΡΠ°Π΅ Per-Host ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ Ρ ΠΎΡΡΠ΅, Π° Π΄Π»Ρ ΠΌΡΠ»ΡΡΠΈΡ ΠΎΡΡΠ° ΠΎΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°.
ΠΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ stateful-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ². ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Docker β ΡΡΠΎ ΠΏΠ»Π°Π³ΠΈΠ½ Volume, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ Β«Π±Π°ΡΠ°ΡΠ΅ΠΈ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ, Π½ΠΎ ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ Π·Π°ΠΌΠ΅Π½Π΅Β». ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Docker ΠΎΠ½ Π³ΠΎΠ²ΠΎΡΠΈΡ: Β«ΠΠΉ, Π·Π°ΠΏΡΡΡΠΈΠ² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ , ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠ²ΠΎΠΈ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΡΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅!Β» ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π½ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΅Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ. ΠΡΠΎΡ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΎΠΉ ΠΠ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ Π΄ΠΈΡΠΊ ΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅. ΠΠ½ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ host-based Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Amazon EBS, Azure Storage ΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΌΠΈ Π΄ΠΈΡΠΊΠ°ΠΌΠΈ GCE Persistent.
ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ»Π°ΠΉΠ΄Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΏΠ»Π°Π³ΠΈΠ½Π° Docker Volume.
Π‘ΠΈΠ½ΠΈΠΌ ΡΠ²Π΅ΡΠΎΠΌ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ ΠΊΠ»ΠΈΠ΅Π½Ρ Docker, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ ΡΠΈΠ½ΠΈΠΌ Docker-Ρ
ΠΎΡΡΠΎΠΌ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΈΠΌΠ΅Π΅ΡΡΡ Local storage engine, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ Π²Π°ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
. ΠΠ΅Π»Π΅Π½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½Ρ ΠΊΠ»ΠΈΠ΅Π½Ρ Plugin Client ΠΈ Plugin Daemon, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Ρ ΠΊ Ρ
ΠΎΡΡΡ. ΠΠ½ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Ρ
ΡΠ°Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ΅ΡΠ΅Π²ΡΡ
Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°Ρ
Π½ΡΠΆΠ½ΠΎΠ³ΠΎ Π²Π°ΠΌ Π²ΠΈΠ΄Π° Storage Backend.
ΠΠ»Π°Π³ΠΈΠ½ Docker Volume ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Ρ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΠΌ Portworx. ΠΠΎΠ΄ΡΠ»Ρ PX-Dev ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΠΌ Π²Π°ΠΌΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ Docker-Ρ ΠΎΡΡΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»Π΅Π³ΠΊΠΎ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π° Amazon EBS.
ΠΠ»ΠΈΠ΅Π½Ρ Portworx ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Ρ ΠΊ Π²Π°ΡΠ΅ΠΌΡ Ρ
ΠΎΡΡΡ. ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ ΠΌΠΎΠΉ Π±Π»ΠΎΠ³, ΡΠΎ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΊΠ°ΠΊ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Portworx Ρ Docker.
ΠΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡ Π² Kubernetes ΠΏΠΎΡ ΠΎΠΆΠ° Π½Π° Docker ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π²Π°ΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π² ΠΏΠΎΠ΄Π΅. ΠΠ½ΠΈ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΡ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΆΠΈΠ·Π½ΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ hostPath, nfs, awsElasticBlockStore ΠΈ gsePersistentDisk. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΡΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π² Kubernetes. ΠΠ±ΡΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· 3 ΡΠ°Π³ΠΎΠ².
ΠΠ΅ΡΠ²ΡΠΉ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΊΡΠΎ-ΡΠΎ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠΈ, ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²Π°ΠΌ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ PersistentVolume. ΠΠ°Π»Π΅Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΈΡΠ΅Ρ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ PersistentVolumeClaim, ΠΈΠ»ΠΈ Π·Π°ΠΏΡΠΎΡ Π½Π° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ PVC, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ: Β«Ρ ΠΌΠ΅Π½Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ 50ΠΠ±, Π½ΠΎ ΡΡΠΎΠ±Ρ Π΄ΡΡΠ³ΠΈΠ΅ Π»ΡΠ΄ΠΈ ΡΠΎΠΆΠ΅ ΠΌΠΎΠ³Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π΅ΠΌΠΊΠΎΡΡΡ, Ρ ΡΠΎΠΎΠ±ΡΠ°Ρ Π² ΡΡΠΎΠΌ PVC, ΡΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ΅Π³ΠΎ 10 ΠΠ±Β». ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΡΠ΅ΡΠΈΠΉ ΡΠ°Π³ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²Π°Ρ Π·Π°ΠΏΡΠΎΡ ΠΌΠΎΠ½ΡΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΏΠΎΠ΄, ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ ΡΠ΅ΠΏΠ»ΠΈΠΊ, ΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅, Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ. ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· 3-Ρ ΡΠΏΠΎΠΌΡΠ½ΡΡΡΡ ΡΡΠ°ΠΏΠΎΠ² ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ»Π°ΠΉΠ΄Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Kubernetes Persistence Container Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ AWS.
ΠΠ½ΡΡΡΠΈ ΠΊΠΎΡΠΈΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΊΠ»Π°ΡΡΠ΅Ρ Kubernetes, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ ΠΎΠ΄ΠΈΠ½ ΠΌΠ°ΡΡΠ΅Ρ-Π½ΠΎΠ΄ ΠΈ Π΄Π²Π° ΡΠ°Π±ΠΎΡΠΈΡ
Π½ΠΎΠ΄Π°, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ ΠΆΠ΅Π»ΡΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ. Π ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· worker node Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΎΡΠ°Π½ΠΆΠ΅Π²ΡΠΉ ΠΏΠΎΠ΄, Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊ ΠΈ Π·Π΅Π»Π΅Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Docker Couchbase. ΠΠ½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Π½Π°Π΄ Π½ΠΎΠ΄Π°ΠΌΠΈ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠΌ Π»ΠΈΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ° ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΠΈΠ·Π²Π½Π΅ Service. ΠΡΠ° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
Π½Π° ΡΠ°ΠΌΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅. ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Ρ ΠΌΠΎΠ³Ρ Ρ
ΡΠ°Π½ΠΈΡΡ ΡΠ²ΠΎΠΈ Π΄Π°Π½Π½ΡΠ΅ Π² EBS Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ»Π°ΠΉΠ΄Π΅. ΠΡΠΎ ΡΠΈΠΏΠΈΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄Π»Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΈ Π΅Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π½ΡΠΆΠ½ΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΠΉ Π°ΡΠΏΠ΅ΠΊΡ β Ρ
ΡΠ°Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π³Π΄Π΅-ΡΠΎ Π² ΡΠ΅ΡΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΡΠΎΠΆΠ΅, ΡΠ΅ΠΌ Π½Π° Ρ
ΠΎΡΡΠ΅. ΠΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²Π΅ΡΠΎΠΌΡΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
Π’Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² ΡΠ»ΡΡΠ°Π΅ Ρ Docker, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Kubernetes Π²ΠΌΠ΅ΡΡΠ΅ Ρ Portworx.
ΠΡΠΎ ΡΠΎ, ΡΡΠΎ Π² Π½ΡΠ½Π΅ΡΠ½Π΅ΠΉ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Kubernetes 1.6 Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«StatefulSetΒ» β ΡΠΏΠΎΡΠΎΠ± ΡΠ°Π±ΠΎΡΡ ΡΠΎ Stateful-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΡΠΎΠ±ΡΡΠΈΡ ΠΎΠ± ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΡΠ°Π±ΠΎΡΡ Pod ΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΡ Graceful Shutdown. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
. Π ΠΌΠΎΠ΅ΠΌ Π±Π»ΠΎΠ³Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ StatefulSet Π² Kubernetes ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Portworx.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΏΡΠΎ Π°ΡΠΏΠ΅ΠΊΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ°ΠΊ Ρ ΡΠΊΠ°Π·Π°Π», Docker ΠΈΠΌΠ΅Π΅Ρ 2 Π²Π΅ΡΡΠΈΠΈ β Π‘Π ΠΈ ΠΠ, Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Community Edition, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π· Π² 3 ΠΌΠ΅ΡΡΡΠ° Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π΅ΠΆΠ΅ΠΌΠ΅ΡΡΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΠ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°ΡΠ°ΡΡ Docker Π΄Π»Ρ Mac, Linux ΠΈΠ»ΠΈ Windows. ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Docker Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ, ΠΈ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½ΠΈΠΌ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ.
Π Kubernetes Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Ρ Π²Π΅ΡΡΠΈΡ Minikube β ΡΡΠΎ Ρ
ΠΎΡΠΎΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ ΠΏΡΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Π½Π° ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΠΎΠΌ ΡΠ·Π»Π΅. ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ² ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
Π½ΠΎΠ΄ΠΎΠ² Π²ΡΠ±ΠΎΡ Π²Π΅ΡΡΠΈΠΉ ΡΠΈΡΠ΅: ΡΡΠΎ kops, kube-aws (CoreOS+AWS), kube-up (ΡΡΡΠ°ΡΠ΅Π»Π°). ΠΡΠ»ΠΈ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Kubernetes Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ AWS, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡ ΠΊ Π³ΡΡΠΏΠΏΠ΅ AWS SIG, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Π² ΡΠ΅ΡΠΈ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΏΡΡΠ½ΠΈΡΡ ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΡΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ Kubernetes AWS.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π½Π° ΡΡΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΊΠΎΠ»ΡΠ·ΡΡΠ΅Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Rolling Update. ΠΡΠ»ΠΈ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΊΠ»Π°ΡΡΠ΅Ρ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π½ΠΎΠ΄ΠΎΠ², ΡΠΎ Π² Π½Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΎΠ±ΡΠ°Π·Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, WildFly:1. Π‘ΠΊΠΎΠ»ΡΠ·ΡΡΠ΅Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Π΅ΡΡΠΈΡ ΠΎΠ±ΡΠ°Π·Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½ΠΎΠ²ΠΎΠΉ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π½ΠΎΠ΄Π΅, ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° docker service update (ΠΈΠΌΡ ΡΠ΅ΡΠ²ΠΈΡΠ°), Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ ΡΠΊΠ°Π·ΡΠ²Π°Ρ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΠΎΠ±ΡΠ°Π·Π° WildFly:2 ΠΈ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ update-parallelism 2. Π¦ΠΈΡΡΠ° 2 ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° Π±ΡΠ΄Π΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΏΠΎ 2 ΠΎΠ±ΡΠ°Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΡΠ΅Ρ 10-ΡΠΈ ΡΠ΅ΠΊΡΠ½Π΄Π½Π°Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠ° update delay 10s, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π±ΡΠ΄ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ 2 ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΠΎΠ±ΡΠ°Π·Π° Π΅ΡΠ΅ Π½Π° 2-Ρ
Π½ΠΎΠ΄Π°Ρ
, ΠΈ Ρ.Π΄. ΠΡΠΎΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ ΡΠΊΠΎΠ»ΡΠ·ΡΡΠ΅Π³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²Π°ΠΌ ΠΊΠ°ΠΊ ΡΠΎΡΡΠ°Π²Π½Π°Ρ ΡΠ°ΡΡΡ Docker.
Π Kubernetes ΡΠΊΠΎΠ»ΡΠ·ΡΡΠ΅Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ rc ΡΠΎΠ·Π΄Π°Π΅Ρ Π½Π°Π±ΠΎΡ ΡΠ΅ΠΏΠ»ΠΈΠΊ ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ, ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΎΠ΄ Π² ΡΡΠΎΠΌ webapp-rc ΡΠ½Π°Π±ΠΆΠ΅Π½ ΠΌΠ΅ΡΠΊΠΎΠΉ label, Π½Π°Ρ ΠΎΠ΄ΡΡΠ΅ΠΉΡΡ Π² etcd. ΠΠΎΠ³Π΄Π° ΠΌΠ½Π΅ Π½ΡΠΆΠ΅Π½ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΠΎΠ΄, Ρ ΡΠ΅ΡΠ΅Π· Application Service ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡ ΠΊ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΡ etcd, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΌΠ΅ΡΠΊΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ½Π΅ ΡΡΠΎΡ ΠΏΠΎΠ΄.
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ Π½Π°Ρ Π² Replication controller ΠΈΠΌΠ΅Π΅ΡΡΡ 3 ΠΏΠΎΠ΄Π°, Π² ΠΊΠΎΡΠΎΡΡΡ
Π·Π°ΠΏΡΡΠ΅Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ WildFly Π²Π΅ΡΡΠΈΠΈ 1. ΠΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Π² ΡΠΎΠ½ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ Π² ΠΊΠΎΠ½ΡΠ΅ β — xxxxx, Π³Π΄Π΅ Ρ
β ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΡΠΈΡΠ»Π°, ΠΈ Ρ ΡΠ΅ΠΌΠΈ ΠΆΠ΅ ΠΌΠ΅ΡΠΊΠ°ΠΌΠΈ labels. Π’Π΅ΠΏΠ΅ΡΡ Application Service ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΡΡΠ΅ΠΌΡ ΠΏΠΎΠ΄Π°ΠΌΠΈ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠ°ΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΈ ΡΡΠ΅ΠΌΡ ΠΏΠΎΠ΄Π°ΠΌΠΈ Ρ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ Π² Π½ΠΎΠ²ΠΎΠΌ Replication controller. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠ΅ ΠΏΠΎΠ΄Ρ ΡΠ΄Π°Π»ΡΡΡΡΡ, ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Ρ Π½ΠΎΠ²ΡΠΌΠΈ ΠΏΠΎΠ΄Π°ΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ°Π±ΠΎΡΡ.
ΠΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°. Π Docker ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ docker container stats ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠ΅ΠΊΡΠ½Π΄Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, Π΄ΠΈΡΠΊΠ°, Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠ΅ΡΠΈ. ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Docker Remote API ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΎΠ±ΡΠ°Π΅ΡΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ. ΠΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠΎΡΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π½ΠΎ Π² Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π΅ Π»Π΅ΠΆΠΈΡ Docker REST API. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ»ΠΎΠ²Π° REST, Flash, Remote ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅. ΠΠΎΠ³Π΄Π° Π²Ρ ΠΎΠ±ΡΠ°Π΅ΡΠ΅ΡΡ Ρ Ρ
ΠΎΡΡΠΎΠΌ, ΡΡΠΎ REST API. Docker Remote API ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ
ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Ρ
. Π ΠΌΠΎΠ΅ΠΌ Π±Π»ΠΎΠ³Π΅ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Ρ Π΄Π΅ΡΠ°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Ρ Windows Server.
ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ docker system events ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΌΡΠ»ΡΡΠΈΡ ΠΎΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΠΏΠ°Π΄Π΅Π½ΠΈΠΈ Ρ ΠΎΡΡΠ° ΠΈΠ»ΠΈ ΠΏΠ°Π΄Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ Ρ ΠΎΡΡΠ΅, ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈ ΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ. ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ Docker 1.20, Π² Π½Π΅Π³ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ Prometheus, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ endpoints Π² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΡΠ΅ΡΠ΅Π· HTTP ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΈΡ Π½Π° ΠΏΠ°Π½Π΅Π»ΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°.
ΠΡΠ΅ ΠΎΠ΄Π½Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° β ΡΡΠΎ cAdvisor (ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ container Advisor). ΠΠ½ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΠ· Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Prometheus Β«ΠΏΡΡΠΌΠΎ ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈΒ». ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 60 ΡΠ΅ΠΊΡΠ½Π΄. ΠΠΎΡΡΠΎΠΌΡ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΡΡΠΎΠ±Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°. ΠΠ³ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠ΅ΡΡΠΈΠΊ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Grafana ΠΈΠ»ΠΈ Kibana. Π ΠΌΠΎΠ΅ΠΌ Π±Π»ΠΎΠ³Π΅ Π΅ΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ cAdvisor Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°Π½Π΅Π»ΠΈ Kibana.
ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ»Π°ΠΉΠ΄Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ Prometheus endpoint ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ.
Π‘Π»Π΅Π²Π° Π²Π½ΠΈΠ·Ρ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ HTTP-Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΎΡΠ²Π΅ΡΠΎΠ² ΠΈ Ρ.Π΄., ΡΠΏΡΠ°Π²Π° β ΠΈΡ
Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
Kubernetes ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°. ΠΠ° ΡΡΠΎΠΌ ΡΠ»Π°ΠΉΠ΄Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΡΠΈΠΏΠΎΠ²ΠΎΠΉ ΠΊΠ»Π°ΡΡΠ΅Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΎΠ΄ΠΈΠ½ ΠΌΠ°ΡΡΠ΅Ρ ΠΈ ΡΡΠΈ ΡΠ°Π±ΠΎΡΠΈΡ ΡΠ·Π»Π°.
Π ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· ΡΠ°Π±ΠΎΡΠΈΡ
Π½ΠΎΠ΄ΠΎΠ² ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΠΉ cAdvisor. ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, Π·Π΄Π΅ΡΡ ΠΈΠΌΠ΅Π΅ΡΡΡ Heapster β ΡΠΈΡΡΠ΅ΠΌΠ° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΠ±ΠΎΡΠ° ΠΌΠ΅ΡΡΠΈΠΊ, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠ°Ρ Ρ Kubernetes Π²Π΅ΡΡΠΈΠΈ 1.0.6 ΠΈ Π²ΡΡΠ΅. Heapster ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ±ΠΈΡΠ°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΠΈΡ
Π½Π°Π³ΡΡΠ·ΠΎΠΊ, ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², Π½ΠΎ ΠΈ ΡΠΎΠ±ΡΡΠΈΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΠ³Π½Π°Π»Ρ, Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΠ΅Π»ΡΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠΌ. ΠΠ»Ρ ΡΠ±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ
ΠΎΠ½ ΠΎΠ±ΡΠ°Π΅ΡΡΡ Ρ Kubelet ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π°, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
InfluxDB ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ΅ΡΡΠΈΠΊ Π½Π° ΠΏΠ°Π½Π΅Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Grafana. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΡΠΈΡΠ΅ β Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ miniKube, ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Π°, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°Π΄Π΄ΠΎΠ½Ρ. Π’Π°ΠΊ ΡΡΠΎ Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, Π³Π΄Π΅ Π²Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΈ ΠΊΠ°ΠΊΠΈΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π° ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ.
ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ»Π°ΠΉΠ΄Π΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Ρ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Grafana, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠΎΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ². ΠΠ΄Π΅ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Docker ΠΈ Kubernetes, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ SysDig, DataDog, NewRelic. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ ΠΈΠΌΠ΅ΡΡ 30-ΡΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΠΏΡΠΎΠ±Π½ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄, ΡΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°ΡΡ ΡΠ΅Π±Π΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ. ΠΠΈΡΠ½ΠΎ Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ SysDig ΠΈ NewRelic, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΡΡΡΡ Π² Kubernetes. Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Ρ ΠΎΡΠΎΡΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΡΡΡΡ Π² ΠΎΠ±Π΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ β ΠΈ Docker, ΠΈ Kubernetes.
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΠ»Π°ΠΌΡ π
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, ΡΡΠΎ ΠΎΡΡΠ°ΡΡΠ΅ΡΡ Ρ Π½Π°ΠΌΠΈ. ΠΠ°ΠΌ Π½ΡΠ°Π²ΡΡΡΡ Π½Π°ΡΠΈ ΡΡΠ°ΡΡΠΈ? Π₯ΠΎΡΠΈΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ
ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ²? ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΡΠ΅ Π½Π°Ρ, ΠΎΡΠΎΡΠΌΠΈΠ² Π·Π°ΠΊΠ°Π· ΠΈΠ»ΠΈ ΠΏΠΎΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π² Π·Π½Π°ΠΊΠΎΠΌΡΠΌ,
Dell R730xd Π² 2 ΡΠ°Π·Π° Π΄Π΅ΡΠ΅Π²Π»Π΅ Π² Π΄Π°ΡΠ°-ΡΠ΅Π½ΡΡΠ΅ Equinix Tier IV Π² ΠΠΌΡΡΠ΅ΡΠ΄Π°ΠΌΠ΅? Π’ΠΎΠ»ΡΠΊΠΎ Ρ Π½Π°Ρ
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com