Π£ Π½Π°Ρ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ Docker ΠΈ Kubernetes Π³Π»Π°Π·Π°ΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈΠ»ΠΈ ΡΠΊΠ°ΡΠ°ΡΡ Π² ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅, Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ»ΠΎ Π·Π°Π³ΡΡΠΆΠ΅Π½ΠΎ Π½Π° ΡΡΡΠ±. ΠΠ»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΠ· ΡΠΎΡΠΌΡ Π½ΠΈΠΆΠ΅:
ΠΡΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ Π½Π΅
Π·Π°Π³ΡΡΠ·ΠΈΠ»ΠΈΡΡ
ΠΠΠΠΠΠ’Π ΠΠΠΠ‘Π¬ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ
ΠΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠΎ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΠΈΠ΄Π΅ΠΎ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° Π½Π°ΠΏΠΈΡΠΈΡΠ΅ Π² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ Π²Π½ΠΈΠ·Ρ
ΡΡΡΠ°Π½ΠΈΡΡ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ° ClipSaver.ru
Π Π΄Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎΠΊΡΡΡΠ΅ ΠΌΡ ΠΈΠ·ΡΡΠΈΠΌ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Ρ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π½Π°Π²ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΡ Ρ Docker ΠΈ Kubernetes ΠΡΡΠΆΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ: https://t.me/pse_club ΠΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²: https://proselyte.net/ ΠΠΎΡΡΠ° Π΄Π»Ρ ΡΠ²ΡΠ·ΠΈ: [email protected] Π‘ΡΡΠ»ΠΊΠ° Π½Π° Github ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ nodeapp: https://github.com/proselytear/nodeapp Π‘ΡΡΠ»ΠΊΠ° Π½Π° Github ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ user-api: https://github.com/proselytear/user-api Π‘ΡΡΠ»ΠΊΠ° Π½Π° Github ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ fileservice: https://github.com/proselytear/filese... Π‘ΡΡΠ»ΠΊΠ° Π½Π° Github ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ country: https://github.com/proselytear/country Π‘ΡΡΠ»ΠΊΠ° Π½Π° Github ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ persons: https://github.com/proselytear/persons Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡ: https://docs.google.com/presentation/... Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Docker Mac: https://docs.docker.com/desktop/insta... Windows: https://docs.docker.com/desktop/insta... Linux: https://docs.docker.com/desktop/insta... ΠΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ»ΠΎΠ΅Π² Docker ΠΎΠ±ΡΠ°Π·Π°: https://docs.docker.com/build/cache/ DockerHub: https://hub.docker.com/ Π‘Π΅ΡΠ΅Π²ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Docker: https://docs.docker.com/desktop/netwo... AWS Console EC2: https://us-east-1.console.aws.amazon.... Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° minikube https://kubernetes.io/ru/docs/tasks/t... Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° kubectl (Mac OS) https://kubernetes.io/docs/tasks/tool... k8s Π΄Π΅ΠΏΠ»ΠΎΠΉΠΌΠ΅Π½Ρ: https://kubernetes.io/docs/concepts/w... k8s ΡΠ΅ΡΠ²ΠΈΡ: https://kubernetes.io/docs/concepts/s... k8s volumes (ΡΠΎΠΌΠ°): https://kubernetes.io/docs/concepts/s... k8s persistent volumes: https://kubernetes.io/docs/concepts/s... 00:00:00 ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ 00:03:55 Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Docker? 00:05:05 Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ ΠΈ Docker 00:10:21 ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Docker 00:11:09 Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Docker 00:12:38 Docker ΠΎΠ±ΡΠ°Π·Ρ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ 00:15:00 Π Π°Π·Π±ΠΎΡ ΠΈ Π·Π°ΠΏΡΡΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ nodeapp (STEP1) 00:23:40 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π·Π° ΠΈ Π·Π°ΠΏΡΡΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° (nodeapp STEP2) 00:27:05 "ΠΠ½Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ" Π² ΠΎΠ±ΡΠ°Π· 00:30:26 Π‘Π»ΠΎΠΈ ΠΎΠ±ΡΠ°Π·Π° 00:32:30 Π Π°Π±ΠΎΡΠ° Ρ ΡΡΠΈΠ»ΠΈΡΠ½ΡΠΌΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ 00:34:30 ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Docker 00:41:58 ΠΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ Docker ΠΎΠ±ΡΠ°Π·Π° (ΡΠ΅ΡΠ²ΠΈΡ user-api) 00:50:20 Π Π°Π±ΠΎΡΠ° Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΡΡΠ΅Π΄Ρ 00:52:55 Π‘Π°ΠΌΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Ρ 00:53:35 Π Π°Π±ΠΎΡΠ° Ρ Π΄Π°Π½Π½ΡΠΌΠΈ 00:56:33 ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠΎΠΌΠ°ΠΌΠΈ (ΡΠ΅ΡΠ²ΠΈΡ filesservice) 01:07:05 Π‘Π΅ΡΠ΅Π²ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ 01:08:39 ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΡΠ΅ΡΠ΅Π²ΠΎΠΌΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ (ΡΠ΅ΡΠ²ΠΈΡ country) 01:23:20 docker-compose 01:24:36 ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°Π±ΠΎΡΠ° Ρ docker-compose (ΡΠ΅ΡΠ²ΠΈΡ country STEP4) 01:28:26 ΠΠ΅ΠΏΠ»ΠΎΠΉΠΌΠ΅Π½Ρ Π΄ΠΎΠΊΠ΅ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° AWS EC2 01:43:04 ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² k8s 01:46:24 ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ k8s 01:51:10 Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° minikube ΠΈ kubectl 01:54:24 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π΅ΠΏΠ»ΠΎΠΉΠΌΠ΅Π½ΡΠ° (ΡΠ΅ΡΠ²ΠΈΡ nodeapp) 01:57:14 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ° (ΡΠ΅ΡΠ²ΠΈΡ nodeapp) 02:02:45 ΠΠ½Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π΄Π΅ΠΏΠ»ΠΎΠΉΠΌΠ΅Π½Ρ 02:05:37 ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ (IaC) 02:14:08 Π Π°Π±ΠΎΡΠ° Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π² k8s (ΡΠ΅ΡΠ²ΠΈΡ fileservice) 02:20:01 ΠΠ΅ΡΡΠΈΡΡΠ΅Π½ΡΠ½ΡΠ΅ ΡΠΎΠΌΠ° k8s 02:20:36 ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ΅ΡΡΠΈΡΡΠ΅Π½ΡΠ½ΡΠΌΠΈ ΡΠΎΠΌΠ°ΠΌΠΈ Π² k8s 02:24:00 CongigMap Π² k8s 02:27:04 Secret Π² k8s 02:30:57 Π‘Π΅ΡΠ΅Π²ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π² k8s 02:31:53 ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΡΠ΅ΡΠ΅Π²ΠΎΠΌΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² k8s (ΡΠ΅ΡΠ²ΠΈΡ person) 02:44:38 ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅