Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²

ВСстированиС Π² Openshift: Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

ЗдравствуйтС ΡƒΠ²Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ участники ИВ сообщСства. МСня Π·ΠΎΠ²ΡƒΡ‚ ОлСг, я Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, которая занимаСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ПО. Π― занимаюсь Ρ€ΡƒΡ‡Π½Ρ‹ΠΌ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ тСстированиСм Linux ΠΈ Unix ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΈ я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ тСстирования Π² Openshift Origin.

Π¦Π΅Π»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я ΠΏΡ€Π΅ΡΠ»Π΅Π΄ΡƒΡŽ:

Π’Π΅ΡΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ Π² Ρ‚Ρ€Ρ‘Ρ… ΡΡ‚Π°Ρ‚ΡŒΡΡ…:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ сразу Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠ·Π»Π°Π³Π°Π΅ΠΌΡ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» касаСтся Openshift v3, Π° Π½Π΅ Openshift v2 (ΠΊΠΎΠ³Π΄Π° компания Red Hat Π΅Ρ‰Π΅ Π½Π΅ Π½Π°Ρ‡Π°Π»Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Kubernetes Π² качСствС ядра для своих ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΈ сСрвисов).

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ Openshift Origin:

Π’Π°ΠΊ ΡΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ послС трудоустройства Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ мСсто Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π²Ρ‹ΡΡΠ½ΠΈΠ»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ тСстирования Π½Π΅Ρ‚ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅. ΠŸΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π² нСсколько мСсяцСв Π² Ρ€ΡƒΡ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΎ нСобходимости Π΄Π²ΡƒΡ… Π²Π΅Ρ‰Π΅ΠΉ: инструмСнта для развСртывания ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ тСстируСмых срСд, framework для написания тСстов.

На ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ этапС для развСртывания ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ срСд Π±Ρ‹Π» ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ автоматичСски обновляСмый Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Vagrant (VirtualBox), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обновляСт ΠΈ ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ОБ Π² автоматичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅. Π­Ρ‚ΠΎ стало ΠΏΠΎΠ΄ΡΠΏΠΎΡ€ΡŒΠ΅ΠΌ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для тСстирования, Π½ΠΎ ΠΈ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΠΊΠ°ΠΊ: Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π±Ρ‹Π»ΠΈ сконфигурированы согласно Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΌ трСбованиям; Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π±Ρ‹Π»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹, Π±Ρ‹Π»ΠΈ прСдустановлСны Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ инструмСнты; имСлись сцСнарии Vagrant для развСртывания слоТных ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ. Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ всС срСды Vagrant Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π° Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ… участников Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π° Π½Π΅ Π² Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ IaaS, Ρ‡Ρ‚ΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π»ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… станций.

Π‘Ρ‹Π»ΠΎ Π²Ρ‹ΠΈΠ³Ρ€Π°Π½ΠΎ врСмя, стало ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, появились Π½Π΅ΠΊΠΈΠΉ стандарт ΠΈ ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ, Π½ΠΎ главная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΡΡ‚Π°Π²Π°Π»Π°ΡΡŒ β€” Π΄ΠΎΠ»Π³ΠΎΠ΅ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ тСстируСмых срСд (полная виртуализация, Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ дистрибутивы Linux, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ сСрвисы (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‚ Π² тСстировании)). Π Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ тСстируСмых срСд ΠΌΠΎΠ³Π»ΠΎ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ дСсятки ΠΌΠΈΠ½ΡƒΡ‚, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ сам тСст ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠ» Π·Π° считанныС сСкунды. ΠŸΡ€ΠΈ этом количСство Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… тСстов росло ΠΈ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ всё дольшС.

Π—Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌ стал вопрос ΠΎΠ± ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ обособлСнного IaaS, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ происходили Π±Ρ‹ всС Π·Π°Π΄Π°Ρ‡ΠΈ тСстирования, Π½ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π±Ρ‹Π» Π½Π΅ ΠΈΠ΄Π΅Π°Π»Π΅Π½: всё Ρ‚Π°ΠΊ ΠΆΠ΅ использовалась Π±Ρ‹ полная виртуализация, для построСния IaaS Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΈΡΡŒ Π±Ρ‹ финансовыС влоТСния Π½Π° ΠΏΠΎΠΊΡƒΠΏΠΊΡƒ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния (нСбольшой ΠΏΠ°Ρ€ΠΊ слабых Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… станции присутствовал).

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ этапом стала ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ° быстрого (Π² контСкстС быстродСйствия ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ) CI/CD c ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Π½ΠΎΠ²Ρ‹Ρ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΈ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ (основныС, согласно ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°ΠΌ):

Π― Π½Π΅ Π±ΡƒΠ΄Ρƒ ΡƒΡ‚Ρ€ΡƒΠΆΠ΄Π°Ρ‚ΡŒ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌ пСрСсказом ΠΎ тСрнистом ΠΏΡƒΡ‚ΠΈ поиска подходящих ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ², Π½ΠΎ Ρ…ΠΎΡ‡Ρƒ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒ со списком рассмотрСнного ПО (Ρ„Π΅Π²Ρ€Π°Π»ΡŒ 2016):

Одни инструмСнты ΠΏΠ»ΠΎΡ…ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΠ»ΠΈΡΡŒ ΠΈΠ»ΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΈ слишком ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈ обслуТивания, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ»ΠΎΡ…ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ с Jenkins ΠΈ Π½Π΅ прСдоставляли Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°, Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π»ΠΈ свой ΠΏΡƒΡ‚ΡŒ. ΠžΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹ΠΌ Π»ΠΈΠ΄Π΅Ρ€ΠΎΠΌ Π²Ρ‹Ρ€ΠΈΡΠΎΠ²Ρ‹Π²Π°Π»Π°ΡΡŒ Kubernetes ΠΈ Π΅Ρ‘ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Π΅ (ΠΊΠΎΠΈΡ… Π½Π΅ ΠΌΠ°Π»ΠΎ), Π½ΠΎ Π² чистом Π²ΠΈΠ΄Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΎΡ‚ Google Π±Ρ‹Π»Π° слоТна Π² освоСнии ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠΈ (Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΈΠ»Π°Π³Π°ΡŽΡ‚ большиС усилия для упрощСния использования Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹).

Бвоими словами oб Openshift Origin:

Openshift Origin β€” это Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Open Source ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ПО, которая базируСтся Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ оркСстрации ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Kubernetes. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ возмоТности Kubernetes с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ².

ΠšΠ»Π°ΡΡ‚Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сцСнариСв Ansible. Π’Π½ΡƒΡ‚Ρ€ΠΈ кластСра ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ встроСнный Ρ‚Π°ΠΊ ΠΈ внСшний Docker рСгистр. Π£Π·Π»Ρ‹ кластСра ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½Ρ‹ Π½Π° основС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠΊ Π·Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ. ΠŸΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΠ΅Ρ‚ сборщик мусора ΠΈ настраиваСмый ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ. ΠšΠ»Π°ΡΡ‚Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ Openstack ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ с Π½ΠΈΠΌ с Ρ†Π΅Π»ΡŒΡŽ автоматичСского ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ прСдоставлСния Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π΄Π°Π½Π½Ρ‹Ρ…. Π‘Ρ€Π΅Π΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ освСдомлСны ΠΎΠ± ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… сСрвисах ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΡƒΠ·Π»Π°Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ ΠΈ DNS ΠΈΠΌΠ΅Π½. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° доступности сСрвисов Ρ‡Π΅Ρ€Π΅Π· HTTP/TCP запрос ΠΈ/ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. РСсурсы кластСра ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ²ΠΎΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² (процСссор, ΠΏΠ°ΠΌΡΡ‚ΡŒ, количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Ρ‚.Π΄.). ΠŸΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΠ΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° кластСра Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΡƒΠ·Π»ΠΎΠ².

Π’ качСствС способа харанСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ постоянныС Ρ‚ΠΎΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ нСпосрСдствСнно Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹. Backend для Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΎΠΌΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ: NFS, GlusterFS, OpenStack Cinder, Ceph RBD, AWS Elastic Block Store (EBS), GCE Persistent Disk ΠΈ Ρ‚.Π΄. ΠŸΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΠ΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ (hostPath) монтирования локального ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Ρ‚ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΡƒΠ·Π»Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π·Π°ΠΏΡƒΡ‰Π΅Π½ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ всС ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Open vSwitch, Π½ΠΎ сущСствуСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π΄Ρ€ΡƒΠ³ΠΈΡ… сСтСвых Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· систСму ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Kubernetes. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ всС срСды ΠΌΠΎΠ³Ρƒ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ, Π½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° изоляция Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ DNS ΠΈΠΌΠ΅Π½ сСрвисов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ встроСнной слуТбы SkyDNS. ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ кластСра сСрвисы ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ доступны ΠΈΠ·Π²Π½Π΅. Π’ΡΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎ изоляции ΠΈ функциям NAT Π±Π΅Ρ€Π΅Ρ‚ Π½Π° сСбя Iptables.

Π Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° основС Ρ€ΠΎΠ»Π΅ΠΉ. Π˜Π·ΠΎΠ»ΡΡ†ΠΈΡ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SELinux (ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ). ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сСкрСтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для доступа ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ рСсурсам. ВсС ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌΠΈ ΡƒΠ·Π»Π°ΠΌΠΈ кластСра ΠΈ мастСром осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ соСдинСния (создаСтся CA, Π²Ρ‹Π΄Π°ΡŽΡ‚ΡΡ клиСнтскиС сСртификаты).

Доступны интСрфСйсы API ΠΊΠ°ΠΊ для самого Openshift, Ρ‚Π°ΠΊ ΠΈ для Kubernetes. ДоступСн кроссплатформСнный ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚. ДоступСн Π²Π΅Π±-интСрфСйс, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚: Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΠΈΡ… ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠΉ, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΌΠΈ Π² кластСрС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ, ΠΎΠ±ΠΎΠ·Ρ€Π΅Π²Π°Ρ‚ΡŒ созданныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ события ΠΈ Ρ‚.Π΄.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅:

НСсмотря Π½Π° ΠΎΠ±ΠΈΠ»ΠΈΠ΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прСдставлСны Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅, Π½Π°ΠΉΡ‚ΠΈ подходящий инструмСнт достаточно слоТно. Балансируя ΠΌΠ΅ΠΆΠ΄Ρƒ ΡƒΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠ΅ΠΉ процСссов CI/CD, учитывая ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ сопровоТдСния, отслСТивая Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ задСйствованных Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, всё ΠΆΠ΅ Π±Ρ‹Π»Π° Π½Π°ΠΉΠ΄Π΅Π½Π° Kubernetes, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈ Openshift Origin. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ оркСстрации ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ Kubernetes, Openshift привносит Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ элСмСнты для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΈ эффСктивной Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ИспользованиС OpenShift в Azure

ΠžΠ±Π»Π°ΡΡ‚ΡŒ примСнСния: ✔️ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин Linux ✔️ Π³ΠΈΠ±ΠΊΠΈΡ… ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Π½Π°Π±ΠΎΡ€ΠΎΠ²

OpenShift β€” это открытая ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠ°Ρ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ², которая позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Docker ΠΈ Kubernetes Π½Π° прСдприятии.

OpenShift Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Kubernetes для оркСстрации ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΈ управлСния ΠΈΠΌΠΈ. Π—Π΄Π΅ΡΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ инструмСнты для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅:

БущСствуСт нСсколько доступных вСрсий OpenShift. Из этих вСрсий Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для развСртывания Π² Azure: ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² OpenShift ΠΈ OKD (ΠΏΡ€Π΅ΠΆΠ½Π΅Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ OpenShift Origin).

Azure Red Hat OpenShift

Microsoft Azure Red Hat OpenShift прСдставляСт собой ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ управляСмоС ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ OpenShift, выполняСмоС Π² Azure. Π­Ρ‚Π° слуТба управляСтся ΠΈ поддСрТиваСтся совмСстно ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠ΅ΠΉ ΠœΠ°ΠΉΠΊΡ€ΠΎΡΠΎΡ„Ρ‚ ΠΈ Red Hat. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см. Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ слуТбС Azure Red Hat OpenShift.

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² OpenShift

OpenShift Container Platform β€” это коммСрчСская вСрсия ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ класса, которая разрабатываСтся ΠΈ поддСрТиваСтся ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Red Hat. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту Π²Π΅Ρ€ΡΠΈΡŽ, ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ΅Π½ приобрСсти Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΡ€Π°Π²Π° доступа ΠΊ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ OpenShift Container Platform. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ΠΈ сами ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ всю инфраструктуру.

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°ΠΌΠΈ самой ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π΅ Π² локальном Ρ†Π΅Π½Ρ‚Ρ€Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π² общСдоступном ΠΎΠ±Π»Π°ΠΊΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Azure).

OKD β€” это высокоуровнСвый ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ OpenShift с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ поддСрТиваСтся сообщСством. OKD ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² ОБ CentOS ΠΈΠ»ΠΈ Red Hat Enterprise Linux (RHEL).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ OpenShift (ΠΏΡ€ΠΈΠΌΠ΅Ρ€ развСртывания)

ВступлСниС

/app-root/data). Π Π°Π·Π½ΠΈΡ†Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ содСрТит настроСчныС скрипты (action_hooks, см. Π½ΠΈΠΆΠ΅) ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠ°Ρ‚Ρ‡ΠΈ, etc. Но Π½Π΅ само ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ.

Мини-руководство ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ряд ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ с OpenShift. Π Π°Π±ΠΎΡ‚Π° с github.com, git Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Π½Π΅ разбираСтся, прСдполагаСтся, Ρ‡Ρ‚ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ прСдставлСниС.

Руководство «step-by-step», основанноС Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ

Установка Π½Π° любой PaaS-хостинг(Ρ‚ΠΎΡ‚ ΠΆΠ΅ Redhat Openshift) Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, соблюдСния Π΅Π³ΠΎ спСцификаций:

РСгистрация: здСсь
Установка ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°: здСсь (Π’Ρ‹ ΡƒΠΆΠ΅ зарСгистрированы), Ρ‚Π°ΠΌ ΠΆΠ΅ ΠΈ докумСнтация, Π½ΠΎ Π½Π° вся English
НС Π±Π΅ΡΠΏΠΎΠΊΠΎΠΉΡ‚Π΅ΡΡŒ ΠΎΠ± ОБ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ Π²Π΅Π·Π΄Π΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ. Π”Π° ΠΈ Π’Π°ΡˆΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ Π½ΠΈ ΠΊΡ€ΡƒΡ‚ΠΈ ΠΏΠΎΠ΄ RHEL 6.7.
ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ°Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄ΠΎΠΌΠ΅Π½ (это ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½ 3-Π³ΠΎ уровня, ваши прилоТСния Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ адрСс http://myapp-mydom.rhcloud.com).

ВсС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ хранятся Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния Π²ΠΈΠ΄Π° OPENSHIFT_, справочник.

ΠŸΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Π΅ΠΌ

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ SalesPlatform-6.4.0, ΡΠ°ΠΌΠΎΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉΡΡ LAMP.
БистСма CentOS 7.2 (Π½ΠΎ Ρ€Π°Π·Π½ΠΈΡ†Π° Π² дСталях).
ΠΌΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ example, Π’Π°ΡˆΠ΅ β€” Π½Π° Π’Π°ΡˆΠ΅ усмотрСниС. (Π’ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ латинскиС Π±ΡƒΠΊΠ²Ρ‹ ΠΈ Ρ†ΠΈΡ„Ρ€Ρ‹).
ΠΌΠΎΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° github.com https://github.com/zirf0/example, подсматривайтС, Ссли Ρ‡Ρ‚ΠΎ.

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ «Π·Π°Π³Π»ΡƒΡˆΠΊΡƒ» ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅ΠΌ Π΅Π΅ Π² свой домашний ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.
$rhc app create example php-5.3 mysql-5.5
$cd example

Π‘Ρ‚Ρ€ΠΎΠ³ΠΎ говоря нас ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ action_hooks. Π­Ρ‚ΠΎ Π½Π°Π±ΠΎΡ€ скриптов для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ, Π½ΠΎ для нашСго ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ build ΠΈ deploy, Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΈΠΌΠ΅Π½Π° скриптов ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΠΎΠΌΡƒ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ. Π‘ΡƒΠ΄Π΅ΠΌ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚Π΅Π½ΡŒΠΊΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ:

Π’Ρ‹ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ исходники Π½Π° PaaS-хостинг.

ВнСсти измСнСния (ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ доступа ΠΊ Π‘Π£Π‘Π” Π½Π° встроСнныС OpenShift).

/.ssh/id_rsa.pub. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π΅Π³ΠΎ согласно инструкции Π½Π° github.com.

Π—Π°Π»ΠΈΠ²Π°Π΅ΠΌ наши Ρ‚Ρ€ΡƒΠ΄Ρ‹ Π½Π° github.com
$git push upstream master

Π Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° PaaS Openshift:
$git push
Π§Ρ‚ΠΎ эквивалСнтно $git push origin master.

ВсС, Ρ‡Π΅Ρ€Π΅Π· web Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΡΡ установка.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΡ€ΠΎΡΡ‚ΠΈ, OpenShift, ΠΌΡ‹ нСдостаточно Ρ†Π΅Π½ΠΈΠ»ΠΈ тСбя ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π»ΠΈ ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠ΅

Π­Ρ‚ΠΎΡ‚ пост написан ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρƒ Π½Π°ΡˆΠΈΡ… сотрудников Π±Ρ‹Π»ΠΎ довольно ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ΠΎΠ² с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Kubernetes ΠΈ ΠΎ спСцификС Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° OpenShift.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²

НачинаСм ΠΌΡ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ с тСзиса, Ρ‡Ρ‚ΠΎ Kubernetes – это просто Kubernetes, Π° OpenShift – это ΡƒΠΆΠ΅ Kubernetes-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, ΠΊΠ°ΠΊ Microsoft AKS ΠΈΠ»ΠΈ Amazon EKS. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· этих ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ Π΅ΡΡ‚ΡŒ свои ΠΏΠ»ΡŽΡΡ‹, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π½Π° Ρ‚Ρƒ ΠΈΠ»ΠΈ ΠΈΠ½ΡƒΡŽ Ρ†Π΅Π»Π΅Π²ΡƒΡŽ Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€ΠΈΡŽ. И послС этого Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ ΡƒΠΆΠ΅ ΠΏΠ΅Ρ€Π΅Ρ‚Π΅ΠΊΠ°Π΅Ρ‚ Π² сравнСниС ΡΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈ слабых сторон ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, ΠΌΡ‹ Π΄ΡƒΠΌΠ°Π»ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ этот пост с Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ Ρ‚ΠΈΠΏΠ° Β«Π‘Π»ΡƒΡˆΠ°ΠΉΡ‚Π΅, Π΄Π° Π±Π΅Π· Ρ€Π°Π·Π½ΠΈΡ†Ρ‹, Π³Π΄Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, Π½Π° OpenShift ΠΈΠ»ΠΈ Π½Π° AKS, Π½Π° EKS, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ кастомном Kubernetes, Π΄Π° Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-ΡƒΠ³ΠΎΠ΄Π½ΠΎ-Kubernetes (для краткости Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Π³ΠΎ КУК) – это Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ просто, ΠΈ Ρ‚Π°ΠΌ, ΠΈ Ρ‚Π°ΠΌΒ».

Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Π²Π·ΡΡ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ Β«Hello WorldΒ» ΠΈ Π½Π° Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΈ Π² Ρ‡Π΅ΠΌ различия ΠΌΠ΅ΠΆΠ΄Ρƒ КУК ΠΈ Red Hat OpenShift Container Platform (Π΄Π°Π»Π΅Π΅, OCP ΠΈΠ»ΠΈ просто OpenShift).

Однако ΠΏΠΎ Ρ…ΠΎΠ΄Ρƒ написания этого поста, ΠΌΡ‹ поняли, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊ Π΄Π°Π²Π½ΠΎ ΠΈ сильно ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ OpenShift, Ρ‡Ρ‚ΠΎ просто Π½Π΅ осознаСм, ΠΊΠ°ΠΊ ΠΎΠ½ вырос ΠΈ прСвратился Π² ΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ, которая стала Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС, Ρ‡Π΅ΠΌ просто Kubernetes-дистрибутив. ΠœΡ‹ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π·Ρ€Π΅Π»ΠΎΡΡ‚ΡŒ ΠΈ простоту OpenShift ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠ΅, упуская ΠΈΠ· Π²ΠΈΠ΄Ρƒ Π΅Π³ΠΎ Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠΈΠ΅.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, ΠΏΡ€ΠΈΡˆΠ»Π° ΠΏΠΎΡ€Π° Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ раскаяния, ΠΈ сСйчас ΠΌΡ‹ пошагово сравним Π²Π²ΠΎΠ΄ Π² строй своСго Β«Hello WorldΒ» Π½Π° КУК ΠΈ Π½Π° OpenShift, ΠΈ сдСлаСм это максимально ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ (Π½Ρƒ Ρ€Π°Π·Π²Π΅ Ρ‡Ρ‚ΠΎ выказывая ΠΈΠ½ΠΎΠ³Π΄Π° Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρƒ). Если Π²Π°ΠΌ интСрСсно сугубо ΡΡƒΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅ ΠΏΠΎ этому вопросу, Ρ‚ΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ здСсь (EN). А Π² этом постС ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ Ρ„Π°ΠΊΡ‚ΠΎΠ² ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„Π°ΠΊΡ‚ΠΎΠ².

ΠšΠ»Π°ΡΡ‚Π΅Ρ€Ρ‹

Π˜Ρ‚Π°ΠΊ, для нашСго Β«Hello WorldΒ» Π½ΡƒΠΆΠ½Ρ‹ кластСры. Π‘Ρ€Π°Π·Ρƒ скаТСм Β«Π½Π΅Ρ‚Β» всяким ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΠ±Π»Π°ΠΊΠ°ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ Π·Π° сСрвСра, рССстры, сСти, ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ‚.Π΄. БоотвСтствСнно, ΠΌΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ простой ΠΎΠ΄Π½ΠΎΡƒΠ·Π»ΠΎΠ²ΠΎΠΉ кластСр Π½Π° Minikube (для КУК) ΠΈ Code Ready Containers (для кластСра OpenShift). Оба этих Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ просты Π² установкС, Π½ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ довольно ΠΌΠ½ΠΎΠ³ΠΎ рСсурсов Π½Π° вашСм Π½ΠΎΡƒΡ‚Π΅.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²

Π‘Π±ΠΎΡ€ΠΊΠ° Π½Π° КУК-Π΅

Π¨Π°Π³ 1 – собираСм наш ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π·

НачнСм я с Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Π²Π΅Ρ€Π½Π΅ΠΌ наш Β«Hello WorldΒ» Π½Π° minikube. Для этого потрСбуСтся:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²

Π‘Π°ΠΌΡ‹ΠΉ простой способ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ наш Β«Hello WorldΒ» Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· – ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ quarkus-maven для Docker’а, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°ΡŽΡ‚ всю Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ. Π‘ появлСниСм Quarkus это стало Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΈ просто: добавляСтС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ container-image-docker ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π·Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ maven.

И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, выполняСм сборку нашСго ΠΎΠ±Ρ€Π°Π·Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Maven. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ наш исходный ΠΊΠΎΠ΄ прСвращаСтся Π² Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π·, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π² срСдС исполнСния ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ².

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²

Π’ΠΎΡ‚, собствСнно, ΠΈ всё, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ docker run, ΠΏΠΎΠ΄ΠΌΠ°ΠΏΠΈΠ² наш сСрвис Π½Π° ΠΏΠΎΡ€Ρ‚ 8080, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊ Π½Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Ρ‹ΠΉ инстанс запустился, остаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ curl, Ρ‡Ρ‚ΠΎ наш сСрвис Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²

Π˜Ρ‚Π°ΠΊ, всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΈ это Π±Ρ‹Π»ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΈ просто.

Π¨Π°Π³ 2 – отправляСм наш ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π·ΠΎΠ²

Пока Ρ‡Ρ‚ΠΎ созданный Π½Π°ΠΌΠΈ ΠΎΠ±Ρ€Π°Π· хранится локально, Π² нашСм локальном ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½ΠΎΠΌ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. Если ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΎΠ±Ρ€Π°Π· Π² своСй срСдС КУК, Ρ‚ΠΎ Π΅Π³ΠΎ Π½Π°Π΄ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π’ Kubernetes Π½Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, поэтому ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ dockerhub. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ, Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΎΠ½ бСсплатный, Π° Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, (ΠΏΠΎΡ‡Ρ‚ΠΈ) всС Ρ‚Π°ΠΊ Π΄Π΅Π»Π°ΡŽΡ‚.

Π­Ρ‚ΠΎ Ρ‚ΠΎΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ просто, ΠΈ Π½ΡƒΠΆΠ΅Π½ здСсь Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ Π½Π° dockerhub.

Π˜Ρ‚Π°ΠΊ, ставим dockerhub ΠΈ отправляСм Ρ‚ΡƒΠ΄Π° наш ΠΎΠ±Ρ€Π°Π·.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²

Π¨Π°Π³ 3 – запускаСм Kubernetes

Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ способов ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ kubernetes для запуска нашСго Β«Hello WorldΒ», Π½ΠΎ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΠΈΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΈΠ· Π½ΠΈΡ…, ΡƒΠΆ Ρ‚Π°ΠΊΠΈΠ΅ ΠΌΡ‹ Π»ΡŽΠ΄ΠΈβ€¦

Для Π½Π°Ρ‡Π°Π»Π° запускаСм кластСр minikube:

Π¨Π°Π³ 4 – Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π΅ΠΌ наш ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π·

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°Π΄ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ наш ΠΊΠΎΠ΄ ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ kubernetes. Π˜Π½Π°Ρ‡Π΅ говоря, Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ pod ΠΈ deployment definition с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π½Π° наш ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· Π½Π° dockerhub. Один ΠΈΠ· самых простых способов это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ – Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ create deployment, ΡƒΠΊΠ°Π·Π°Π² Π½Π° наш ΠΎΠ±Ρ€Π°Π·:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²

Π­Ρ‚ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΌΡ‹ сказали нашСй КУК ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ deployment configuration, которая Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ pod’а для нашСго ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π·Π°. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ эту ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ кластСру minikube, ΠΈ создаст deployment, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ скачаСт наш ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· ΠΈ запустит pod Π² кластСрС.

Π¨Π°Π³ 5 – ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ доступ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ сСрвису

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π·, ΠΏΠΎΡ€Π° ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ внСшний доступ ΠΊ этому Restful-сСрвису, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, собствСнно, ΠΈ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ Π² нашСм ΠΊΠΎΠ΄Π΅.

Π’ΡƒΡ‚ Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ способов. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ expose, Ρ‡Ρ‚ΠΎΠ±Ρ‹ автоматичСски ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Kubernetes-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ services ΠΈ endpoints. БобствСнно, Ρ‚Π°ΠΊ ΠΌΡ‹ ΠΈ сдСлаСм, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ expose для нашСго deployment-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°:

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π° ΠΌΠΈΠ½ΡƒΡ‚ΠΊΡƒ остановимся Π½Π° ΠΎΠΏΡ†ΠΈΠΈ Β« β€” typeΒ» ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ expose.

Когда ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ expose ΠΈ создаСм ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для запуска нашСго сСрвиса, Π½Π°ΠΌ, срСди ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ, Π½Π°Π΄ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ снаруТи ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ слуТбС hello-quarkus, которая сидит Π²Π½ΡƒΡ‚Ρ€ΠΈ нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-опрСдСляСмой сСти. И ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ type позволяСт Π½Π°ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠ°ΠΊ балансировщики Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π² эту ΡΠ΅Ρ‚ΡŒ.

НапримСр, прописав type=LoadBalancer, ΠΌΡ‹ автоматичСски ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ балансировщик Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠΌ ΠΎΠ±Π»Π°ΠΊΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ кластСру Kubernetes. Π­Ρ‚ΠΎ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½ΠΎ Π½Π°Π΄ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ такая конфигурация Π±ΡƒΠ΄Π΅Ρ‚ ТСстко привязана ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠΌΡƒ ΠΎΠ±Π»Π°ΠΊΡƒ ΠΈ Π΅Π΅ Π±ΡƒΠ΄Π΅Ρ‚ слоТнСС ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ Kubernetes-инстансам Π² Ρ€Π°Π·Π½Ρ‹Ρ… срСдах.

Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ type=NodePort, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ сСрвису ΠΈΠ΄Π΅Ρ‚ ΠΏΠΎ IP-адрСсу ΡƒΠ·Π»Π° ΠΈ Π½ΠΎΠΌΠ΅Ρ€Ρƒ ΠΏΠΎΡ€Ρ‚Π°. Π’Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ позволяСт Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠ±Π»Π°ΠΊΠ°, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ряд Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… шагов. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π½ΡƒΠΆΠ΅Π½ свой балансировщик Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, поэтому ΠΌΡ‹ Ρ€Π°Π·Π²Π΅Ρ€Π½Π΅ΠΌ Π² своСм кластСрС балансирощик Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ NGINX.

Π¨Π°Π³ 6 – ставим балансировщик Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

Π£ minikube Π΅ΡΡ‚ΡŒ ряд ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰ΠΈΡ… созданиС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для доступа ΠΈΠ·Π²Π½Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Π²Ρ€ΠΎΠ΄Π΅ ingress-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ². Minikube ΠΈΠ΄Π΅Ρ‚ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ с ingress-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ Nginx, ΠΈ Π½Π°ΠΌ остаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ всСго ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ создам ingress-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Nginx, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ нашСго кластСра minikube:

Π¨Π°Π³ 7 – НастраиваСм ingress

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½Π°Π΄ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ingress-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Nginx, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ воспринимал запросы hello-quarkus.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²

И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ эту ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ всС это Π½Π° своСм ΠΊΠΎΠΌΠΏΠ΅, Ρ‚ΠΎ просто добавляСм IP-адрСс своСй Π½ΠΎΠ΄Ρ‹ Π² Ρ„Π°ΠΉΠ» /etc/ hosts, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ http-запросы ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ minikube Π½Π° балансировщик Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ NGINX.

Всё, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ наш сСрвис minikube доступСн снаруТи Ρ‡Π΅Ρ€Π΅Π· ingress-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Nginx.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²

Ну Ρ‡Ρ‚ΠΎ, это ΠΆΠ΅ Π±Ρ‹Π»ΠΎ Π»Π΅Π³ΠΊΠΎ, Π΄Π°? Или Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ?

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²

Запуск Π½Π° OpenShift (Code Ready Containers)

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ посмотрим, ΠΊΠ°ΠΊ это всС дСлаСтся Π½Π° Red Hat OpenShift Container Platform (OCP).

Как Π² случаС с minikube, ΠΌΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ схСму с ΠΎΠ΄Π½ΠΎΡƒΠ·Π»ΠΎΠ²Ρ‹ΠΌ кластСром OpenShift Π² Ρ„ΠΎΡ€ΠΌΠ΅ Code Ready Containers (CRC). РаньшС это Π½Π°Π·Ρ‹Π²Π°Π»ΠΎΡΡŒ minishift ΠΈ Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ OpenShift Origin, Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ это CRC ΠΈ построСно Π½Π° Red Hat’овской OpenShift Container Platform.

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹, ΠΈΠ·Π²ΠΈΠ½ΠΈΡ‚Π΅, Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ: Β«OpenShift прСкрасСн!Β»

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΌΡ‹ Π΄ΡƒΠΌΠ°Π»ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° OpenShift Π½ΠΈΡ‡Π΅ΠΌ Π½Π΅ отличаСтся ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Kubernetes. И ΠΏΠΎ сути Ρ‚Π°ΠΊ ΠΎΠ½ΠΎ ΠΈ Π΅ΡΡ‚ΡŒ. Но Π² процСссС написания этого поста ΠΌΡ‹ вспомнили, сколько Π»ΠΈΡˆΠ½ΠΈΡ… Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ приходится ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρƒ вас Π½Π΅Ρ‚ OpenShift, ΠΈ поэтому ΠΎΠ½, повторимся, прСкрасСн. ΠœΡ‹ любим, ΠΊΠΎΠ³Π΄Π° всё дСлаСтся Π»Π΅Π³ΠΊΠΎ, ΠΈ Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с minikube наш ΠΏΡ€ΠΈΠΌΠ΅Ρ€ развСртываСтся ΠΈ запускаСтся Π½Π° OpenShift, собствСнно, ΠΈ ΠΏΠΎΠ΄Π²ΠΈΠ³Π»ΠΎ нас Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ этот пост.

Π”Π°Π²Π°ΠΉΡ‚Π΅ пробСТимся ΠΏΠΎ процСссу ΠΈ посмотрим, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ потрСбуСтся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

Π˜Ρ‚Π°ΠΊ, Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ с minikube ΠΌΡ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π»ΠΈ с Docker… Π‘Ρ‚ΠΎΠΏ, Π½Π°ΠΌ большС Π½Π΅ Π½Π°Π΄ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π° машинС Π±Ρ‹Π» установлСн Docker.

И Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ git Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ΅Π½.
И Maven Π½Π΅ Π½ΡƒΠΆΠ΅Π½.
И Π½Π΅ Π½Π°Π΄ΠΎ Ρ€ΡƒΠΊΠ°ΠΌΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π·.
И Π½Π΅ Π½Π°Π΄ΠΎ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π·ΠΎΠ².
И Π½Π΅ Π½Π°Π΄ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ingress-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€.
И ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ingress Ρ‚ΠΎΠΆΠ΅ Π½Π΅ Π½Π°Π΄ΠΎ.

Π’Ρ‹ поняли, Π΄Π°? Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° OpenShift, Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΈΠ· Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ. А сам процСсс выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Π¨Π°Π³ 1 – ЗапускаСм свой кластСр OpenShift

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Code Ready Containers ΠΎΡ‚ Red Hat, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ сути Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Minikube, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΌ ΠΎΠ΄Π½ΠΎΡƒΠ·Π»ΠΎΠ²Ρ‹ΠΌ кластСром Openshift.

Π¨Π°Π³ 2 – ВыполняСм сборку ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ прилоТСния Π² кластСрС OpenShift

ИмСнно Π½Π° этом шагС простота ΠΈ удобство OpenShift ΠΏΡ€ΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ всСй красС. Как ΠΈ Π²ΠΎ всСх дистрибутивах Kubernetes, Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ способов Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² кластСрС. И, ΠΊΠ°ΠΊ ΠΈ Π² случаС КУК, ΠΌΡ‹ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ самый Π½Π°ΠΈΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ.

OpenShift всСгда строился ΠΊΠ°ΠΊ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° для создания ΠΈ запуска ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π‘Π±ΠΎΡ€ΠΊΠ° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² всСгда Π±Ρ‹Π»Π° Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ этой ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, поэтому здСсь Π΅ΡΡ‚ΡŒ ΠΊΡƒΡ‡Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Kubernetes-рСсурсов для ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π·Π°Π΄Π°Ρ‡.

ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ OpenShift’овский процСсс Source 2 Image (S2I), Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ нСсколько Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… способов для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π·ΡΡ‚ΡŒ наш исходник (ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹) ΠΈ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π·, запускаСмый Π² кластСрС OpenShift.

Для этого Π½Π°ΠΌ понадобятся Π΄Π²Π΅ Π²Π΅Ρ‰ΠΈ:

Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ S2I-сборку ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΈ ΠΈΠ· графичСской консоли OpenShift Developer, Ρ‚Π°ΠΊ ΠΈ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. ΠœΡ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ new-app, ΡƒΠΊΠ°Π·Π°Π² Π΅ΠΉ, Π³Π΄Π΅ Π±Ρ€Π°Ρ‚ΡŒ builder-ΠΎΠ±Ρ€Π°Π· ΠΈ наш исходный ΠΊΠΎΠ΄.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²

Всё, нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ создано. ΠŸΡ€ΠΈ этом процСсс S2I Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ» ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²Π΅Ρ‰ΠΈ:

Если Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ запуск S2I Π² консоли, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ сборки запускаСтся build pod.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ взглянСм Π»ΠΎΠ³ΠΈ builder pod’а: Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Ρ‚Π°ΠΌ Π²ΠΈΠ΄Π½ΠΎ, ΠΊΠ°ΠΊ maven Π΄Π΅Π»Π°Π΅Ρ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ скачиваСт зависимости для сборки нашСго java-прилоТСния.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π° maven-сборка, запускаСтся сборка ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π·Π°, ΠΈ Π·Π°Ρ‚Π΅ΠΌ этот собранный ΠΎΠ±Ρ€Π°Π· отправляСтся Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²

Всё, процСсс сборки Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½. Π’Π΅ΠΏΠ΅Ρ€ΡŒ убСдимся, Ρ‡Ρ‚ΠΎ Π² кластСрС Π·Π°ΠΏΡƒΡΡ‚ΠΈΠ»ΠΈΡΡŒ pod’ы ΠΈ сСрвисы нашСго прилоТСния.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²

Π’ΠΎΡ‚ ΠΈ всё. И всСго ΠΎΠ΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°. Нам остаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ expose этого сСрвиса для доступа ΠΈΠ·Π²Π½Π΅.

Π¨Π°Π³ 3 – Π΄Π΅Π»Π°Π΅ΠΌ expose сСрвиса для доступа ΠΈΠ·Π²Π½Π΅

Как ΠΈ Π² случаС КУК, Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ OpenShift Π½Π°ΡˆΠ΅ΠΌΡƒ Β«Hello WorldΒ» Ρ‚ΠΎΠΆΠ΅ Π½ΡƒΠΆΠ΅Π½ Ρ€ΠΎΡƒΡ‚Π΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ внСшний Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π½Π° сСрвис Π²Π½ΡƒΡ‚Ρ€ΠΈ кластСра. Π’ OpenShift это Π΄Π΅Π»Π°Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ просто. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π² кластСрС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ установлСн ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ HAProxy (Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π° Ρ‚ΠΎΡ‚ ΠΆΠ΅ NGINX). Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, здСсь Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΠ΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности настройки рСсурсы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Routes ΠΈ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ Ingress-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² старом Π΄ΠΎΠ±Ρ€ΠΎΠΌ Kubernetes (Π½Π° самом Π΄Π΅Π»Π΅ OpenShift’овкиС Routes сильно повлияли Π½Π° Π΄ΠΈΠ·Π°ΠΉΠ½ Ingress-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π² OpenShift), Π½ΠΎ для нашСго Β«Hello WorldΒ», Π΄Π° ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ Π²ΠΎ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… случаях, Π½Π°ΠΌ Ρ…Π²Π°Ρ‚ΠΈΡ‚ стандартного Route Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ настройки.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ для Β«Hello WorldΒ» ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ FQDN (Π΄Π°, Π² OpenShiift Π΅ΡΡ‚ΡŒ свой DNS для ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΈΠΌΠ΅Π½Π°ΠΌ сСрвисов), ΠΌΡ‹ просто Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ expose для нашСго сСрвиса:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²

Если ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ созданный Route, Ρ‚ΠΎ Ρ‚Π°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ FQDN ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ свСдСния ΠΏΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²

И Π½Π°ΠΊΠΎΠ½Π΅Ρ†, обращаСмся ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ сСрвису ΠΈΠ· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ openshift для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²

А Π²ΠΎΡ‚ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ это Π±Ρ‹Π»ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ!

НадССмся, Ρ‡Ρ‚ΠΎ эта ΡΡ‚Π°Ρ‚ΡŒΡΡ Π±Ρ‹Π»Π° для вас интСрСсной ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ. А Π½Π°ΠΉΡ‚ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ рСсурсы, ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ OpenShift Π²Π΅Ρ‰ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π° ΠΏΠΎΡ€Ρ‚Π°Π»Π΅ Red Hat Developers.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Azure Red Hat OpenShift

Π‘Π»ΡƒΠΆΠ±Π° Microsoft Azure Red Hat OpenShift позволяСт Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ управляСмыС кластСры OpenShift.

Azure Red Hat OpenShift Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Kubernetes. Для запуска ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ срСдС с Kubernetes Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ срСдства ΠΈ рСсурсы. Π—Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π² ΠΈΡ… число входят Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ использования рССстров ΠΎΠ±Ρ€Π°Π·ΠΎΠ², управлСния Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ΠΌ, сСтСвых Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ срСдств вСдСния ΠΆΡƒΡ€Π½Π°Π»Π° ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, всС ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ свою Π²Π΅Ρ€ΡΠΈΡŽ ΠΈ Π±Ρ‹Ρ‚ΡŒ совмСстно протСстированы. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄Π°ΠΆΠ΅ большСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠ΅ΠΉ с ПО ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ слоя, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ, Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ срСдствами CI/CD. Π‘Π»ΡƒΠΆΠ±Π° Azure Red Hat OpenShift ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ всС это Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚Π°Ρ†ΠΈΡŽ для ИВ-ΠΎΡ‚Π΄Π΅Π»ΠΎΠ², прСдоставляя ΠΎΡ‚Π΄Π΅Π»Π°ΠΌ ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с прилоТСниями Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ задания, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ.

ΠšΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΡ ΠœΠ°ΠΉΠΊΡ€ΠΎΡΠΎΡ„Ρ‚ ΠΈ Red Hat совмСстно Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, администрирования ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ слуТбы Azure Red Hat OpenShift, обСспСчивая ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ процСсс ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ. На этой ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Π½Π΅Ρ‚ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ, ΠΈ Π½Π΅ трСбуСтся ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ исправлСния. Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ отслСТиваниС Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΡƒΠ·Π»Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ·Π»ΠΎΠ² инфраструктуры ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΡ‚ вашСго ΠΈΠΌΠ΅Π½ΠΈ осущСствляСтся ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Red Hat ΠΈ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠ΅ΠΉ ΠœΠ°ΠΉΠΊΡ€ΠΎΡΠΎΡ„Ρ‚. ΠšΠ»Π°ΡΡ‚Π΅Ρ€Ρ‹ Azure Red Hat OpenShift Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² подпискС Azure ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² счСт Azure.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ собствСнный рССстр, ΡΠ΅Ρ‚ΡŒ, Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ CI/CD ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнныС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для автоматичСского управлСния исходным ΠΊΠΎΠ΄ΠΎΠΌ, создания ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡ… развСртывания, ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, управлСния состояниСм работоспособности ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ. Π‘Π»ΡƒΠΆΠ±Π° Azure Red Hat OpenShift прСдоставляСт возмоТности ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ Π²Ρ…ΠΎΠ΄Π° Ρ‡Π΅Ρ€Π΅Π· Azure Active Directory.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ дСйствия ΠΈΠ· руководства ΠΏΠΎ созданию кластСра Azure Red Hat OpenShift.

Доступ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³

Для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ бСзопасности ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ управлСния Azure Red Hat OpenShift позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ с Azure Active Directory ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ доступом Π½Π° основС Ρ€ΠΎΠ»Π΅ΠΉ Kubernetes (Kubernetes RBAC). Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ кластСра ΠΈ рСсурсов.

ΠšΠ»Π°ΡΡ‚Π΅Ρ€ ΠΈ ΡƒΠ·Π΅Π»

Π£Π·Π»Ρ‹ Azure Red Hat OpenShift Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ… Azure. МоТно ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΊ ΡƒΠ·Π»Π°ΠΌ ΠΈ pod ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ кластСра.

БоглашСниС ΠΎΠ± ΡƒΡ€ΠΎΠ²Π½Π΅ обслуТивания

Azure Red Hat OpenShift ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ соглашСниС ΠΎΠ± ΡƒΡ€ΠΎΠ²Π½Π΅ обслуТивания с Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠ΅ΠΉ доступности слуТбы Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ 99,95 %. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎ соглашСнии ΠΎΠ± ΡƒΡ€ΠΎΠ²Π½Π΅ обслуТивания для Azure Red Hat OpenShift см. Π½Π° этой страницС.

Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΠ΅ дСйствия

ΠžΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ условиями для Azure Red Hat OpenShift:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *