БъТалявам, OpenShift, Π½Π΅ Π²ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ…ΠΌΠ΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ ΠΈ Π²ΠΈ ΠΏΡ€ΠΈΠ΅Ρ…ΠΌΠ΅ Π·Π° дадСност

Π’Π°Π·ΠΈ публикация бСшС написана, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π½Π°ΡˆΠΈΡ‚Π΅ слуТитСли ΠΈΠΌΠ°Ρ…Π° доста Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ΠΈ с ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ относно Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° прилоТСния Π½Π° Kubernetes ΠΈ спСцификата Π½Π° Ρ‚Π°ΠΊΠΎΠ²Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ Π½Π° OpenShift.

БъТалявам, OpenShift, Π½Π΅ Π²ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ…ΠΌΠ΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ ΠΈ Π²ΠΈ ΠΏΡ€ΠΈΠ΅Ρ…ΠΌΠ΅ Π·Π° дадСност

ОбикновСно Π·Π°ΠΏΠΎΡ‡Π²Π°ΠΌΠ΅ с Ρ‚Π΅Π·Π°Ρ‚Π°, Ρ‡Π΅ Kubernetes Π΅ просто Kubernetes, Π° OpenShift Π²Π΅Ρ‡Π΅ Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π½Π° Kubernetes, ΠΊΠ°Ρ‚ΠΎ Microsoft AKS ΠΈΠ»ΠΈ Amazon EKS. Всяка ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ ΠΈΠΌΠ° своитС прСдимства, насочСни към ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Ρ†Π΅Π»Π΅Π²Π° аудитория. И слСд Ρ‚ΠΎΠ²Π° Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ΡŠΡ‚ Π²Π΅Ρ‡Π΅ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π° Π² сравнСниС Π½Π° силнитС ΠΈ слабитС страни Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ.

ΠšΠ°Ρ‚ΠΎ цяло мислСхмС Π΄Π° напишСм Ρ‚Π°Π·ΠΈ публикация с ΠΈΠ·Ρ…ΠΎΠ΄ ΠΊΠ°Ρ‚ΠΎ β€žΠ‘Π»ΡƒΡˆΠ°ΠΉΡ‚Π΅, няма Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ къдС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚Π΅ ΠΊΠΎΠ΄Π°, Π½Π° OpenShift ΠΈΠ»ΠΈ Π½Π° AKS, Π½Π° EKS, Π½Π° някои пСрсонализирани Kubernetes, Π΄Π° Π½Π° всСки Kubernetes (Π΄Π° Π³ΠΎ Π½Π°Ρ€Π΅Ρ‡Π΅ΠΌ Π½Π°ΠΊΡ€Π°Ρ‚ΠΊΠΎ КУК) β€žΠΠ°ΠΈΡΡ‚ΠΈΠ½Π° Π΅ просто, ΠΊΠ°ΠΊΡ‚ΠΎ Ρ‚Π°ΠΌ, Ρ‚Π°ΠΊΠ° ΠΈ Ρ‚Π°ΠΌ.β€œ

Π’ΠΎΠ³Π°Π²Π° ΠΏΠ»Π°Π½ΠΈΡ€Π°Ρ…ΠΌΠ΅ Π΄Π° Π²Π·Π΅ΠΌΠ΅ΠΌ Π½Π°ΠΉ-простия β€žHello Worldβ€œ ΠΈ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅, Π·Π° Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ ΠΎΠ±Ρ‰ΠΎΡ‚ΠΎ ΠΈ ΠΊΠ°ΠΊΠ²ΠΈ са Ρ€Π°Π·Π»ΠΈΠΊΠΈΡ‚Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ CMC ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Red Hat OpenShift (Π½Π°Ρ€ΠΈΡ‡Π°Π½Π° ΠΏΠΎ-Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ OCP ΠΈΠ»ΠΈ просто OpenShift).

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, Π² процСса Π½Π° писанС Π½Π° Ρ‚Π°Π·ΠΈ публикация, ΠΎΡΡŠΠ·Π½Π°Ρ…ΠΌΠ΅, Ρ‡Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° смС свикнали Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ OpenShift, Ρ‡Π΅ просто Π½Π΅ осъзнавамС ΠΊΠ°ΠΊ Ρ‚ΠΎΠΉ сС разрасна ΠΈ ΠΏΡ€Π΅Π²ΡŠΡ€Π½Π° Π² нСвСроятна ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, която сС ΠΏΡ€Π΅Π²ΡŠΡ€Π½Π° Π² ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ просто дистрибуция Π½Π° Kubernetes. Π‘ΠΊΠ»ΠΎΠ½Π½ΠΈ смС Π΄Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ°ΠΌΠ΅ зрСлостта ΠΈ простотата Π½Π° OpenShift Π·Π° дадСност, ΠΊΠ°Ρ‚ΠΎ ΡΡŠΡ‰Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€Π΅Π½Π΅Π±Ρ€Π΅Π³Π²Π°ΠΌΠ΅ Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠΈΠ΅.

ΠšΠ°Ρ‚ΠΎ цяло Π΄ΠΎΠΉΠ΄Π΅ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ покаяниС ΠΈ сСга Ρ‰Π΅ сравним ΡΡ‚ΡŠΠΏΠΊΠ° ΠΏΠΎ ΡΡ‚ΡŠΠΏΠΊΠ° пусканСто Π² Сксплоатация Π½Π° нашия β€žΠ—Π΄Ρ€Π°Π²Π΅ΠΉ ΡΠ²ΡΡ‚β€œ Π½Π° KUK ΠΈ Π½Π° OpenShift ΠΈ Ρ‰Π΅ Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ възмоТно Π½Π°ΠΉ-ΠΎΠ±Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ (Π΅, освСн понякога Π΄Π° ΠΏΠΎΠΊΠ°Π·Π²Π°ΠΌΠ΅ Π»ΠΈΡ‡Π½ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ към Ρ‚Π΅ΠΌΠ°Ρ‚Π°). Ако сС интСрСсуватС ΠΎΡ‚ чисто субСктивно ΠΌΠ½Π΅Π½ΠΈΠ΅ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π²ΡŠΠΏΡ€ΠΎΡ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ Ρ‚ΡƒΠΊ (EN). И Π² Ρ‚Π°Π·ΠΈ публикация Ρ‰Π΅ сС ΠΏΡ€ΠΈΠ΄ΡŠΡ€ΠΆΠ°ΠΌΠ΅ към Ρ„Π°ΠΊΡ‚ΠΈΡ‚Π΅ ΠΈ само към Ρ„Π°ΠΊΡ‚ΠΈΡ‚Π΅.

ΠšΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ

И Ρ‚Π°ΠΊΠ°, Π½Π°ΡˆΠΈΡΡ‚ "Hello World" сС Π½ΡƒΠΆΠ΄Π°Π΅ ΠΎΡ‚ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ. НСка просто ΠΊΠ°ΠΆΠ΅ΠΌ "Π½Π΅" Π½Π° всякакви ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΈ ΠΎΠ±Π»Π°Ρ†ΠΈ, Π·Π° Π΄Π° Π½Π΅ ΠΏΠ»Π°Ρ‰Π°ΠΌΠ΅ Π·Π° ΡΡŠΡ€Π²ΡŠΡ€ΠΈ, рСгистри, ΠΌΡ€Π΅ΠΆΠΈ, трансфСр Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ Ρ‚.Π½. Π‘ΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ, Π½ΠΈΠ΅ ΠΈΠ·Π±ΠΈΡ€Π°ΠΌΠ΅ прост ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ с Π΅Π΄ΠΈΠ½ възСл ΠœΠΈΠ½ΠΈΠΊΡƒΠ±Π΅ (Π·Π° КУК) ΠΈ ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, Π³ΠΎΡ‚ΠΎΠ²ΠΈ Π·Π° ΠΊΠΎΠ΄ (Π·Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ OpenShift). И Π΄Π²Π΅Ρ‚Π΅ ΠΎΠΏΡ†ΠΈΠΈ са наистина лСсни Π·Π° инсталиранС, Π½ΠΎ изискват доста рСсурси Π½Π° вашия Π»Π°ΠΏΡ‚ΠΎΠΏ.

БъТалявам, OpenShift, Π½Π΅ Π²ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ…ΠΌΠ΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ ΠΈ Π²ΠΈ ΠΏΡ€ΠΈΠ΅Ρ…ΠΌΠ΅ Π·Π° дадСност

ΠœΠΎΠ½Ρ‚Π°ΠΆ Π½Π° КУК-Π΅

Π’Π°ΠΊΠ° Ρ‡Π΅ Π΄Π° Π²ΡŠΡ€Π²ΠΈΠΌ.

Π‘Ρ‚ΡŠΠΏΠΊΠ° 1 - Π˜Π·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€

НСка Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ с внСдряванСто Π½Π° нашия β€žHello Worldβ€œ Π² minikube. Π’ΠΎΠ²Π° Ρ‰Π΅ изисква:

  1. 1. Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Π½ Docker.
  2. 2. Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Π½ Git.
  3. 3. Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Π½ Maven (Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΄Π²ΠΎΠΈΡ‡Π΅Π½ Ρ„Π°ΠΉΠ» mvnw, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π±Π΅Π· Π½Π΅Π³ΠΎ).
  4. 4. Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚ самият ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ, Ρ‚.Π΅. ΠΊΠ»ΠΎΠ½ΠΈΠ½Π³ Π½Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ github.com/gcolman/quarkus-hello-world.git

ΠŸΡŠΡ€Π²Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ° Π΅ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Quarkus. НС сС страхувайтС, Π°ΠΊΠΎ Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ стС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π»ΠΈ Quarkus.io - лСсно Π΅. Π’ΠΈΠ΅ просто ΠΈΠ·Π±ΠΈΡ€Π°Ρ‚Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ искатС Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (RestEasy, Hibernate, Amazon SQS, Camel ΠΈ Ρ‚.Π½.), Π° слСд Ρ‚ΠΎΠ²Π° самият Quarkus, Π±Π΅Π· Π²Π°ΡˆΠ΅Ρ‚ΠΎ участиС, настройва maven Π°Ρ€Ρ…Π΅Ρ‚ΠΈΠΏΠ° ΠΈ поставя всичко Π² github. ВоСст, Π±ΡƒΠΊΠ²Π°Π»Π½ΠΎ Π΅Π΄Π½ΠΎ Ρ‰Ρ€Π°ΠΊΠ²Π°Π½Π΅ Π½Π° ΠΌΠΈΡˆΠΊΠ°Ρ‚Π° - ΠΈ стС Π³ΠΎΡ‚ΠΎΠ²ΠΈ. Π•Ρ‚ΠΎ Π·Π°Ρ‰ΠΎ ΠΎΠ±ΠΈΡ‡Π°ΠΌΠ΅ Quarkus.

БъТалявам, OpenShift, Π½Π΅ Π²ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ…ΠΌΠ΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ ΠΈ Π²ΠΈ ΠΏΡ€ΠΈΠ΅Ρ…ΠΌΠ΅ Π·Π° дадСност

Най-лСсният Π½Π°Ρ‡ΠΈΠ½ Π΄Π° ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΠΌ нашия β€žHello Worldβ€œ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡΡ‚Π° quarkus-maven Π·Π° Docker, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ ΡΠ²ΡŠΡ€ΡˆΠ°Ρ‚ цялата Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°. Π‘ появата Π½Π° Quarkus Ρ‚ΠΎΠ²Π° стана наистина лСсно ΠΈ просто: Π΄ΠΎΠ±Π°Π²Π΅Ρ‚Π΅ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅Ρ‚ΠΎ container-image-docker ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ изобраТСния с maven ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ.

./mvnw quarkus:add-extension -Dextensions=”container-image-docker”

И накрая, Π½ΠΈΠ΅ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°ΠΌΠ΅ нашия ΠΈΠΌΠΈΠ΄ΠΆ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Maven. Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° Π½Π°ΡˆΠΈΡΡ‚ ΠΈΠ·Ρ…ΠΎΠ΄Π΅Π½ ΠΊΠΎΠ΄ сС ΠΏΡ€Π΅Π²Ρ€ΡŠΡ‰Π° Π² Π³ΠΎΡ‚ΠΎΠ²ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²Π΅Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС изпълнява във Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

БъТалявам, OpenShift, Π½Π΅ Π²ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ…ΠΌΠ΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ ΠΈ Π²ΠΈ ΠΏΡ€ΠΈΠ΅Ρ…ΠΌΠ΅ Π·Π° дадСност

./mvnw -X clean package -Dquarkus.container-image.build=true

Π’ΠΎΠ²Π° Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ Π΅ всичко, сСга ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° стартиратС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° с ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° docker run, слСд ΠΊΠ°Ρ‚ΠΎ стС настроили Π½Π°ΡˆΠ°Ρ‚Π° услуга към ΠΏΠΎΡ€Ρ‚ 8080, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π΄ΠΎΡΡ‚ΡŠΠΏΠ΅Π½.

docker run -i β€” rm -p 8080:8080 gcolman/quarkus-hello-world

БъТалявам, OpenShift, Π½Π΅ Π²ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ…ΠΌΠ΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ ΠΈ Π²ΠΈ ΠΏΡ€ΠΈΠ΅Ρ…ΠΌΠ΅ Π·Π° дадСност

Π‘Π»Π΅Π΄ стартиранС Π½Π° СкзСмпляра Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° остава само Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ с ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° curl Π΄Π°Π»ΠΈ Π½Π°ΡˆΠ°Ρ‚Π° услуга Ρ€Π°Π±ΠΎΡ‚ΠΈ:

БъТалявам, OpenShift, Π½Π΅ Π²ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ…ΠΌΠ΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ ΠΈ Π²ΠΈ ΠΏΡ€ΠΈΠ΅Ρ…ΠΌΠ΅ Π·Π° дадСност

И Ρ‚Π°ΠΊΠ°, всичко Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΈ бСшС наистина лСсно ΠΈ просто.

Π‘Ρ‚ΡŠΠΏΠΊΠ° 2 - Π˜Π·ΠΏΡ€Π°Ρ‚Π΅Ρ‚Π΅ нашия ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π·Π° изобраТСния Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ

ЗасСга ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ ΡΡŠΠ·Π΄Π°Π΄ΠΎΡ…ΠΌΠ΅, сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° Π»ΠΎΠΊΠ°Π»Π½ΠΎ Π² Π½Π°ΡˆΠ΅Ρ‚ΠΎ Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. Ако искамС Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ρ‚ΠΎΠ²Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π½Π°ΡˆΠ°Ρ‚Π° KUK срСда, Ρ‚ΠΎΠ³Π°Π²Π° трябва Π΄Π° Π³ΠΎ поставим Π² Π΄Ρ€ΡƒΠ³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. Kubernetes няма Ρ‚Π΅Π·ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ dockerhub. Π—Π°Ρ‰ΠΎΡ‚ΠΎ, ΠΏΡŠΡ€Π²ΠΎ, Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½ΠΎ Π΅, ΠΈ Π²Ρ‚ΠΎΡ€ΠΎ, (ΠΏΠΎΡ‡Ρ‚ΠΈ) всички Π³ΠΎ правят.

Π’ΠΎΠ²Π° ΡΡŠΡ‰ΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ просто ΠΈ Ρ‚ΡƒΠΊ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ само Π°ΠΊΠ°ΡƒΠ½Ρ‚ Π² dockerhub.

И Ρ‚Π°ΠΊΠ°, инсталирамС dockerhub ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°ΠΌΠ΅ Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π°ΠΌ.

БъТалявам, OpenShift, Π½Π΅ Π²ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ…ΠΌΠ΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ ΠΈ Π²ΠΈ ΠΏΡ€ΠΈΠ΅Ρ…ΠΌΠ΅ Π·Π° дадСност

Π‘Ρ‚ΡŠΠΏΠΊΠ° 3 - Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΠΉΡ‚Π΅ Kubernetes

Има ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°Ρ‡ΠΈΠ½ΠΈ Π΄Π° ΡΡŠΡΡ‚Π°Π²ΠΈΠΌ конфигурация Π½Π° kubernetes, Π·Π° Π΄Π° стартирамС нашия β€žHello Worldβ€œ, Π½ΠΎ Π½ΠΈΠ΅ Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π½Π°ΠΉ-простия ΠΎΡ‚ тях, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π½ΠΈΠ΅ смС Ρ‚Π°ΠΊΠΈΠ²Π° Ρ…ΠΎΡ€Π° ...

ΠŸΡŠΡ€Π²ΠΎ стартирамС ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° minikube:

minikube start

Π‘Ρ‚ΡŠΠΏΠΊΠ° 4 - ВнСдряванС Π½Π° Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€

Π‘Π΅Π³Π° трябва Π΄Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°ΠΌΠ΅ нашия ΠΊΠΎΠ΄ ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π² конфигурация Π½Π° kubernetes. Π‘ Π΄Ρ€ΡƒΠ³ΠΈ Π΄ΡƒΠΌΠΈ, ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ pod ΠΈ дСфиниция Π·Π° внСдряванС, сочСща към Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π² dockerhub. Π•Π΄ΠΈΠ½ ΠΎΡ‚ Π½Π°ΠΉ-лСснитС Π½Π°Ρ‡ΠΈΠ½ΠΈ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π° Π΅ Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° create deployment, сочСща към Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅:

БъТалявам, OpenShift, Π½Π΅ Π²ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ…ΠΌΠ΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ ΠΈ Π²ΠΈ ΠΏΡ€ΠΈΠ΅Ρ…ΠΌΠ΅ Π·Π° дадСност

kubectl create deployment hello-quarkus β€” image =gcolman/quarkus-hello-world:1.0.0-SNAPSHOT

Π‘ Ρ‚Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΊΠ°Π·Π°Ρ…ΠΌΠ΅ Π½Π° нашия COOK Π΄Π° създадС конфигурация Π·Π° внСдряванС, която трябва Π΄Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° спСцификацията Π½Π° pod Π·Π° Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€. Π’Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Ρ‰Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈ Ρ‚Π°Π·ΠΈ конфигурация към нашия ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ minikube ΠΈ Ρ‰Π΅ създадС внСдряванС, ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‰Π΅ ΠΈΠ·Ρ‚Π΅Π³Π»ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° нашия ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈ Ρ‰Π΅ стартира pod Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°.

Π‘Ρ‚ΡŠΠΏΠΊΠ° 5 - ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π½Π°ΡˆΠ°Ρ‚Π° услуга

Π‘Π΅Π³Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Ρ€Π°Π·Π³ΡŠΡ€Π½Π°Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, Π΅ Π²Ρ€Π΅ΠΌΠ΅ Π΄Π° помислим ΠΊΠ°ΠΊ Π΄Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°ΠΌΠ΅ външСн Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Ρ‚Π°Π·ΠΈ услуга Restful, която Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π° Π² нашия ΠΊΠΎΠ΄.

Π’ΡƒΠΊ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°Ρ‡ΠΈΠ½ΠΈ. НапримСр, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° expose Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ създаванС Π½Π° подходящи ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° Kubernetes, ΠΊΠ°Ρ‚ΠΎ услуги ΠΈ ΠΊΡ€Π°ΠΉΠ½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ. Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚ Ρ‚ΠΎΠ²Π° Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‰Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ, ΠΊΠ°Ρ‚ΠΎ изпълним ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° expose Π·Π° нашия ΠΎΠ±Π΅ΠΊΡ‚ Π·Π° Ρ€Π°Π·ΠΏΠΎΠ»Π°Π³Π°Π½Π΅:

kubectl expose deployment hello-quarkus β€” type=NodePort β€” port=8080

НСка сС спрСм Π·Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π° опцията "-type" Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° expose.

ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·Π»ΠΎΠΆΠΈΠΌ ΠΈ създадСм ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° изпълнСниС Π½Π° Π½Π°ΡˆΠ°Ρ‚Π° услуга, трябва, Π½Π°Ρ€Π΅Π΄ с Π΄Ρ€ΡƒΠ³ΠΈ Π½Π΅Ρ‰Π°, Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° сС ΡΠ²ΡŠΡ€ΠΆΠ΅ΠΌ ΠΎΡ‚Π²ΡŠΠ½ с услугата hello-quarkus, която сС Π½Π°ΠΌΠΈΡ€Π° Π² Π½Π°ΡˆΠ°Ρ‚Π° софтуСрно Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½Π° ΠΌΡ€Π΅ΠΆΠ°. И ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ Ρ‚ΠΈΠΏ Π½ΠΈ позволява Π΄Π° създавамС ΠΈ ΡΠ²ΡŠΡ€Π·Π²Π°ΠΌΠ΅ Π½Π΅Ρ‰Π° ΠΊΠ°Ρ‚ΠΎ Π±Π°Π»Π°Π½ΡΡŒΠΎΡ€ΠΈ Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ, Π·Π° Π΄Π° насочвамС Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° към Ρ‚Π°Π·ΠΈ ΠΌΡ€Π΅ΠΆΠ°.

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

Π’ нашия ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΈΠΏ=NodePort, тоСст ΠΎΠ±Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π΄ΠΎ Π½Π°ΡˆΠ°Ρ‚Π° услуга ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π° ΠΏΡ€Π΅Π· IP адрСса Π½Π° възСла ΠΈ Π½ΠΎΠΌΠ΅Ρ€Π° Π½Π° ΠΏΠΎΡ€Ρ‚Π°. Π’Π°Π·ΠΈ опция Π²ΠΈ позволява Π΄Π° Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΈ ΠΎΠ±Π»Π°Ρ†ΠΈ, Π½ΠΎ изисква Ρ€Π΅Π΄ΠΈΡ†Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΡΡ‚ΡŠΠΏΠΊΠΈ. ΠŸΡŠΡ€Π²ΠΎ, ΠΈΠΌΠ°Ρ‚Π΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ собствСн Π±Π°Π»Π°Π½ΡΡŒΠΎΡ€ Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π½ΠΈΠ΅ Ρ‰Π΅ Π²Π½Π΅Π΄Ρ€ΠΈΠΌ балансиращото Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ NGINX Π² нашия ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€.

Π‘Ρ‚ΡŠΠΏΠΊΠ° 6 - НастройтС Π±Π°Π»Π°Π½ΡΡŒΠΎΡ€ Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ

minikube ΠΈΠΌΠ° Ρ€Π΅Π΄ΠΈΡ†Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°, ΠΊΠΎΠΈΡ‚ΠΎ улСсняват ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π·Π° външСн Π΄ΠΎΡΡ‚ΡŠΠΏ, ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈ Π·Π° Π²Ρ…ΠΎΠ΄. Minikube ΠΈΠ΄Π²Π° Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ с входния ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ Nginx ΠΈ всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ трябва Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ, Π΅ Π΄Π° Π³ΠΎ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°ΠΌΠ΅ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°ΠΌΠ΅.

minikube addons enable ingress

Π‘Π΅Π³Π°, само с Π΅Π΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°, Ρ‰Π΅ създадСм Nginx ingress ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² нашия ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ minikube:

ingress-nginx-controller-69ccf5d9d8-j5gs9 1/1 Running 1 33m

Π‘Ρ‚ΡŠΠΏΠΊΠ° 7 - НастройтС Π²Ρ…ΠΎΠ΄Π°

Π‘Π΅Π³Π° трябва Π΄Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°ΠΌΠ΅ входния ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ Π½Π° Nginx Π΄Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ° hello-quarkus заявки.

БъТалявам, OpenShift, Π½Π΅ Π²ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ…ΠΌΠ΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ ΠΈ Π²ΠΈ ΠΏΡ€ΠΈΠ΅Ρ…ΠΌΠ΅ Π·Π° дадСност

БъТалявам, OpenShift, Π½Π΅ Π²ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ…ΠΌΠ΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ ΠΈ Π²ΠΈ ΠΏΡ€ΠΈΠ΅Ρ…ΠΌΠ΅ Π·Π° дадСност

И накрая, трябва Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠΌ Ρ‚Π°Π·ΠΈ конфигурация.

БъТалявам, OpenShift, Π½Π΅ Π²ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ…ΠΌΠ΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ ΠΈ Π²ΠΈ ΠΏΡ€ΠΈΠ΅Ρ…ΠΌΠ΅ Π·Π° дадСност

kubectl apply -f ingress.yml

БъТалявам, OpenShift, Π½Π΅ Π²ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ…ΠΌΠ΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ ΠΈ Π²ΠΈ ΠΏΡ€ΠΈΠ΅Ρ…ΠΌΠ΅ Π·Π° дадСност

Въй ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠΌ всичко Ρ‚ΠΎΠ²Π° Π½Π° Π½Π°ΡˆΠ°Ρ‚Π° собствСна машина, Π½ΠΈΠ΅ просто добавямС IP адрСса Π½Π° нашия възСл към Ρ„Π°ΠΉΠ»Π° /etc/hosts, Π·Π° Π΄Π° насочвамС http заявкитС към нашия minikube към NGINX load balancer.

192.168.99.100 hello-quarkus.info

Π’ΠΎΠ²Π° Π΅ всичко, сСга Π½Π°ΡˆΠ°Ρ‚Π° услуга minikube Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½Π° ΠΎΡ‚Π²ΡŠΠ½ Ρ‡Ρ€Π΅Π· входния ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ Nginx.

БъТалявам, OpenShift, Π½Π΅ Π²ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ…ΠΌΠ΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ ΠΈ Π²ΠΈ ΠΏΡ€ΠΈΠ΅Ρ…ΠΌΠ΅ Π·Π° дадСност

Π•, Ρ‚ΠΎΠ²Π° бСшС лСсно, Π½Π°Π»ΠΈ? Или Π½Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π°?

БъТалявам, OpenShift, Π½Π΅ Π²ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ…ΠΌΠ΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ ΠΈ Π²ΠΈ ΠΏΡ€ΠΈΠ΅Ρ…ΠΌΠ΅ Π·Π° дадСност

ИзпълнСниС Π½Π° OpenShift (Π³ΠΎΡ‚ΠΎΠ²ΠΈ Π·Π° ΠΊΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ)

А сСга Π½Π΅ΠΊΠ° Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ всичко сС ΠΏΡ€Π°Π²ΠΈ Π½Π° Red Hat OpenShift Container Platform (OCP).

ΠšΠ°ΠΊΡ‚ΠΎ Π² случая с minikube, ΠΈΠ·Π±ΠΈΡ€Π°ΠΌΠ΅ схСма с ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ OpenShift с Π΅Π΄ΠΈΠ½ възСл ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° Π³ΠΎΡ‚ΠΎΠ²ΠΈ Π·Π° ΠΊΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ (CRC). ΠŸΡ€Π΅Π΄ΠΈ сС Π½Π°Ρ€ΠΈΡ‡Π°ΡˆΠ΅ minishift ΠΈ бСшС Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° OpenShift Origin, Π½ΠΎ сСга Π΅ CRC ΠΈ Π΅ ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ Π²ΡŠΡ€Ρ…Ρƒ OpenShift Container Platform Π½Π° Red Hat.

Π’ΡƒΠΊ, съТалявам, Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π΅ ΠΊΠ°ΠΆΠ΅ΠΌ: "OpenShift Π΅ страхотСн!"

ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ мислСхмС Π΄Π° напишСм, Ρ‡Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° OpenShift Π½Π΅ сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π° ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Kubernetes. И Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ Ρ‚ΠΎΠ²Π° Π΅ Ρ‚Π°ΠΊΠ°. Но Π² процСса Π½Π° писанС Π½Π° Ρ‚Π°Π·ΠΈ публикация си спомнихмС ΠΊΠΎΠ»ΠΊΠΎ Π½Π΅Π½ΡƒΠΆΠ½ΠΈ двиТСния трябва Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅, ΠΊΠΎΠ³Π°Ρ‚ΠΎ няматС OpenShift, ΠΈ Π·Π°Ρ‚ΠΎΠ²Π° ΠΎΡ‚Π½ΠΎΠ²ΠΎ Π΅ красиво. ΠžΠ±ΠΈΡ‡Π°ΠΌΠ΅ Π½Π΅Ρ‰Π°Ρ‚Π° Π΄Π° са лСсни ΠΈ Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ Π½ΠΈ Π²Π΄ΡŠΡ…Π½ΠΎΠ²ΠΈ Π΄Π° напишСм Ρ‚Π°Π·ΠΈ публикация, Π΅ ΠΊΠΎΠ»ΠΊΠΎ лСсно Π΅ внСдряванСто ΠΈ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° нашия ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° OpenShift Π² сравнСниС с minikube.

НСка ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ ΠΏΡ€Π΅Π· процСса ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΎ трябва Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ.

Π’Π°ΠΊΠ° Ρ‡Π΅ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° с minikube Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ с Docker… Π§Π°ΠΊΠ°ΠΉΡ‚Π΅, Π²Π΅Ρ‡Π΅ Π½Π΅ сС Π½ΡƒΠΆΠ΄Π°Π΅ΠΌ ΠΎΡ‚ инсталиран Docker Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π°Ρ‚Π°.

И нямамС Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ мСстСн git.
И МСйвън Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ.
И Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π½Π° Ρ€ΡŠΠΊΠ°.
И Π½Π΅ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° Ρ‚ΡŠΡ€ΡΠΈΡ‚Π΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π½Π° изобраТСния Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ.
И Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° инсталиратС Π²Ρ…ΠΎΠ΄Π΅Π½ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€.
ОсвСн Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Ρ‚Π΅ ingress.

Π Π°Π·Π±ΠΈΡ€Π°Ρˆ Π»ΠΈ? Π—Π° Π΄Π° Π²Π½Π΅Π΄Ρ€ΠΈΠΌ ΠΈ стартирамС Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° OpenShift, Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½ΠΈΡ‰ΠΎ ΠΎΡ‚ ΠΈΠ·Π±Ρ€ΠΎΠ΅Π½ΠΎΡ‚ΠΎ ΠΏΠΎ-Π³ΠΎΡ€Π΅. А самият процСс Π΅ слСдният.

Π‘Ρ‚ΡŠΠΏΠΊΠ° 1 – Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° вашия ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ OpenShift

ИзползвамС Π³ΠΎΡ‚ΠΎΠ²ΠΈ Π·Π° ΠΊΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΎΡ‚ Red Hat, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΠΎ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΠΎ Π΅ ΡΡŠΡ‰ΠΈΡΡ‚ Minikube, Π½ΠΎ само с пълСн Openshift ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ с Π΅Π΄ΠΈΠ½ възСл.

crc start

Π‘Ρ‚ΡŠΠΏΠΊΠ° 2 - Π˜Π·Π³Ρ€Π°Π΄Π΅Ρ‚Π΅ ΠΈ Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° OpenShift

ИмСнно Π½Π° Ρ‚Π°Π·ΠΈ ΡΡ‚ΡŠΠΏΠΊΠ° простотата ΠΈ удобството Π½Π° OpenShift сС проявяват Π² цСлия си блясък. ΠšΠ°ΠΊΡ‚ΠΎ ΠΏΡ€ΠΈ всички дистрибуции Π½Π° Kubernetes, ΠΈΠΌΠ°ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°Ρ‡ΠΈΠ½ΠΈ Π΄Π° стартирамС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€. И ΠΊΠ°ΠΊΡ‚ΠΎ Π² случая с KUK, Π½ΠΈΠ΅ спСциално ΠΈΠ·Π±ΠΈΡ€Π°ΠΌΠ΅ Π½Π°ΠΉ-простия.

OpenShift Π²ΠΈΠ½Π°Π³ΠΈ Π΅ Π±ΠΈΠ» ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½ ΠΊΠ°Ρ‚ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ ΠΈ изпълнСниС Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½ΠΈ прилоТСния. Π˜Π·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Π²ΠΈΠ½Π°Π³ΠΈ Π΅ Π±ΠΈΠ»ΠΎ Π½Π΅Ρ€Π°Π·Π΄Π΅Π»Π½Π° част ΠΎΡ‚ Ρ‚Π°Π·ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΈΠΌΠ° ΠΊΡƒΠΏ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ рСсурси Π½Π° Kubernetes Π·Π° ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡ‚Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ.

Π©Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ процСса Source 2 Image (S2I) Π½Π° OpenShift, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠΌΠ° няколко Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π½Π°Ρ‡ΠΈΠ½Π° Π΄Π° Π²Π·Π΅ΠΌΠ΅ΠΌ нашия ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ (ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΈΡ‡Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅) ΠΈ Π΄Π° Π³ΠΎ ΠΏΡ€Π΅Π²ΡŠΡ€Π½Π΅ΠΌ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ OpenShift.

Π—Π° Ρ‚ΠΎΠ²Π° ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ Π΄Π²Π΅ Π½Π΅Ρ‰Π°:

  • ΠΠ°ΡˆΠΈΡΡ‚ ΠΈΠ·Ρ…ΠΎΠ΄Π΅Π½ ΠΊΠΎΠ΄ Π² git Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ
  • Builder-ΠΎΠ±Ρ€Π°Π·, въз основа Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈ сглобяванСто.

Има ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚Π°ΠΊΠΈΠ²Π° изобраТСния, ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ΠΈ ΠΊΠ°ΠΊΡ‚ΠΎ ΠΎΡ‚ Red Hat, Ρ‚Π°ΠΊΠ° ΠΈ ΠΎΡ‚ общността, ΠΈ Π½ΠΈΠ΅ Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° OpenJDK, Π΄ΠΎΠ±Ρ€Π΅, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ създавам Java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° стартиратС S2I компилация ΠΊΠ°ΠΊΡ‚ΠΎ ΠΎΡ‚ Π³Ρ€Π°Ρ„ΠΈΡ‡Π½Π°Ρ‚Π° ΠΊΠΎΠ½Π·ΠΎΠ»Π° Π½Π° OpenShift Developer, Ρ‚Π°ΠΊΠ° ΠΈ ΠΎΡ‚ командния Ρ€Π΅Π΄. Π©Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° new-app, ΠΊΠ°Ρ‚ΠΎ ΠΉ ΠΊΠ°ΠΆΠ΅ΠΌ ΠΎΡ‚ΠΊΡŠΠ΄Π΅ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° ΠΈ нашия ΠΈΠ·Ρ…ΠΎΠ΄Π΅Π½ ΠΊΠΎΠ΄.

БъТалявам, OpenShift, Π½Π΅ Π²ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ…ΠΌΠ΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ ΠΈ Π²ΠΈ ΠΏΡ€ΠΈΠ΅Ρ…ΠΌΠ΅ Π·Π° дадСност

oc new-app registry.access.redhat.com/ubi8/openjdk-11:latest~https://github.com/gcolman/quarkus-hello-world.git

Π’ΠΎΠ²Π° Π΅ всичко, Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΅ създадСно. ΠŸΡ€ΠΈ Ρ‚ΠΎΠ²Π° ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ S2I Π½Π°ΠΏΡ€Π°Π²ΠΈ слСднитС Π½Π΅Ρ‰Π°:

  • БъздадСн ΠΏΠ°ΠΊΠ΅Ρ‚ Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° услуги Π·Π° всякакви Π½Π΅Ρ‰Π°, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ.
  • БъздадСна конфигурация Π½Π° OpenShift Build.
  • Π˜Π·Ρ‚Π΅Π³Π»ΠΈΡ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° във Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈΡ Π΄ΠΎΠΊΠ΅Ρ€ Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€ Π½Π° OpenShift.
  • ΠšΠ»ΠΎΠ½ΠΈΡ€Π°Π½ β€žHello Worldβ€œ Π² Π»ΠΎΠΊΠ°Π»Π½ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.
  • Видях, Ρ‡Π΅ Ρ‚Π°ΠΌ ΠΈΠΌΠ° maven pom ΠΈ Ρ‚Π°ΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ с maven.
  • БъздадСно Π½ΠΎΠ²ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½ΠΎΡ‚ΠΎ Java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈ постави Ρ‚ΠΎΠ²Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ във Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈΡ Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.
  • БъздадС внСдряванС Π½Π° Kubernetes със спСцификации Π·Π° ΠΏΠΎΠ΄, услуга ΠΈ Ρ‚.Π½.
  • Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π·Π° Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅.
  • ΠŸΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚Π° сСрвизна компилация.

Има ΠΌΠ½ΠΎΠ³ΠΎ Π² Ρ‚ΠΎΠ·ΠΈ списък, Π½ΠΎ основното Π΅, Ρ‡Π΅ цялото ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π² OpenShift, Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈΡΡ‚ Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€ Π½Π° Docker Π΅ Π² OpenShift ΠΈ ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ Π½Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ създава всички ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° Kubernetes ΠΈ Π³ΠΈ изпълнява Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°.

Ако Π²ΠΈΠ·ΡƒΠ°Π»Π½ΠΎ Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°Ρ‚Π΅ стартиранСто Π½Π° S2I Π² ΠΊΠΎΠ½Π·ΠΎΠ»Π°Ρ‚Π°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΡƒΠ»ΡŠΡ‚ Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ сС стартира ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ.

БъТалявам, OpenShift, Π½Π΅ Π²ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ…ΠΌΠ΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ ΠΈ Π²ΠΈ ΠΏΡ€ΠΈΠ΅Ρ…ΠΌΠ΅ Π·Π° дадСност

А сСга Π½Π΅ΠΊΠ° Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ рСгистрационнитС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° builder pod: ΠΏΡŠΡ€Π²ΠΎ, Ρ‚Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ maven Π²ΡŠΡ€ΡˆΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° си ΠΈ изтСгля зависимости, Π·Π° Π΄Π° ΠΈΠ·Π³Ρ€Π°Π΄ΠΈ Π½Π°ΡˆΠ΅Ρ‚ΠΎ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

БъТалявам, OpenShift, Π½Π΅ Π²ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ…ΠΌΠ΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ ΠΈ Π²ΠΈ ΠΏΡ€ΠΈΠ΅Ρ…ΠΌΠ΅ Π·Π° дадСност

Π‘Π»Π΅Π΄ Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° maven сС стартира ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΈ слСд Ρ‚ΠΎΠ²Π° ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΎΡ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ сС ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° във Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.

БъТалявам, OpenShift, Π½Π΅ Π²ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ…ΠΌΠ΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ ΠΈ Π²ΠΈ ΠΏΡ€ΠΈΠ΅Ρ…ΠΌΠ΅ Π·Π° дадСност

Всичко, ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ Π½Π° сглобяванС Π΅ Π·Π°Π²ΡŠΡ€ΡˆΠ΅Π½. Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° сС ΡƒΠ²Π΅Ρ€ΠΈΠΌ, Ρ‡Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ ΠΈ услугитС Π½Π° Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ са стартирали Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°.

oc get service

БъТалявам, OpenShift, Π½Π΅ Π²ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ…ΠΌΠ΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ ΠΈ Π²ΠΈ ΠΏΡ€ΠΈΠ΅Ρ…ΠΌΠ΅ Π·Π° дадСност

Π’ΠΎΠ²Π° Π΅ всичко. И ΠΈΠΌΠ° само Π΅Π΄ΠΈΠ½ ΠΎΡ‚Π±ΠΎΡ€. Всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ трябва Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ, Π΅ Π΄Π° ΠΈΠ·Π»ΠΎΠΆΠΈΠΌ Ρ‚Π°Π·ΠΈ услуга Π·Π° външСн Π΄ΠΎΡΡ‚ΡŠΠΏ.

Π‘Ρ‚ΡŠΠΏΠΊΠ° 3 - ΠΈΠ·Π»ΠΎΠΆΠ΅Ρ‚Π΅ услугата Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ ΠΎΡ‚Π²ΡŠΠ½

ΠšΠ°ΠΊΡ‚ΠΎ Π² случая с KUK, Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° OpenShift, Π½Π°ΡˆΠΈΡΡ‚ β€žHello Worldβ€œ ΡΡŠΡ‰ΠΎ сС Π½ΡƒΠΆΠ΄Π°Π΅ ΠΎΡ‚ Ρ€ΡƒΡ‚Π΅Ρ€ Π·Π° насочванС Π½Π° външСн Ρ‚Ρ€Π°Ρ„ΠΈΠΊ към услуга Π²ΡŠΡ‚Ρ€Π΅ Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°. Π’ OpenShift Ρ‚ΠΎΠ²Π° Π³ΠΎ ΠΏΡ€Π°Π²ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ лСсно. ΠŸΡŠΡ€Π²ΠΎ, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΡŠΡ‚ Π·Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ HAProxy Π΅ инсталиран Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ (ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½ Π½Π° ΡΡŠΡ‰ΠΈΡ NGINX). Π’Ρ‚ΠΎΡ€ΠΎ, ΠΈΠΌΠ° спСциални ΠΈ силно ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌΠΈ рСсурси, Π½Π°Ρ€Π΅Ρ‡Π΅Π½ΠΈ Routes, ΠΊΠΎΠΈΡ‚ΠΎ напомнят Π½Π° Ingress ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Π² добрия стар Kubernetes (Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ Routes Π½Π° OpenShift силно повлияха Π½Π° Π΄ΠΈΠ·Π°ΠΉΠ½Π° Π½Π° Ingress ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ сСга ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π² OpenShift), Π½ΠΎ Π·Π° нашия "Π—Π΄Ρ€Π°Π²Π΅ΠΉ Бвят", Π° Π² ΠΏΠΎΡ‡Ρ‚ΠΈ всички останали случаи стандартният ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π΅Π½ Π·Π° нас Π±Π΅Π· Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° конфигурация.

Π—Π° Π΄Π° създадСм FQDN Π·Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π·Π° β€žHello Worldβ€œ (Π΄Π°, OpenShiift ΠΈΠΌΠ° собствСн DNS Π·Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ ΠΏΠΎ ΠΈΠΌΠ΅Π½Π° Π½Π° услуги), Π½ΠΈΠ΅ просто ΠΈΠ·Π»Π°Π³Π°ΠΌΠ΅ Π½Π°ΡˆΠ°Ρ‚Π° услуга:

БъТалявам, OpenShift, Π½Π΅ Π²ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ…ΠΌΠ΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ ΠΈ Π²ΠΈ ΠΏΡ€ΠΈΠ΅Ρ…ΠΌΠ΅ Π·Π° дадСност

oc expose service quarkus-hello-world

Ако ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅ новосъздадСния ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚, Ρ‚ΠΎΠ³Π°Π²Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ FQDN ΠΈ Π΄Ρ€ΡƒΠ³Π° информация Π·Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Ρ‚Π°ΠΌ:

oc get route

БъТалявам, OpenShift, Π½Π΅ Π²ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ…ΠΌΠ΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ ΠΈ Π²ΠΈ ΠΏΡ€ΠΈΠ΅Ρ…ΠΌΠ΅ Π·Π° дадСност

И накрая, Π½ΠΈΠ΅ ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²ΡΠ²Π°ΠΌΠ΅ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π½Π°ΡˆΠ°Ρ‚Π° услуга ΠΎΡ‚ Π±Ρ€Π°ΡƒΠ·ΡŠΡ€Π°:

БъТалявам, OpenShift, Π½Π΅ Π²ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ…ΠΌΠ΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ ΠΈ Π²ΠΈ ΠΏΡ€ΠΈΠ΅Ρ…ΠΌΠ΅ Π·Π° дадСност

Но сСга бСшС наистина лСсно!

ΠžΠ±ΠΈΡ‡Π°ΠΌΠ΅ Kubernetes ΠΈ всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‚Π°Π·ΠΈ тСхнология Π²ΠΈ позволява Π΄Π° ΠΏΡ€Π°Π²ΠΈΡ‚Π΅, ΠΈ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΎΠ±ΠΈΡ‡Π°ΠΌΠ΅ простотата ΠΈ Π»Π΅ΠΊΠΎΡ‚Π°Ρ‚Π°. Kubernetes Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ‚Π΅, ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ нСвСроятно лСсни Π·Π° Ρ€Π°Π±ΠΎΡ‚Π°, Π½ΠΎ Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° простота Π²Π΅Ρ‡Π΅ Π½Π΅ Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½Π°, Π·Π° Π΄Π° въвСдС прилоТСнията Π² производство днСс. Π’ΠΎΠ²Π° Π΅ мястото, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ OpenShift Π²Π»ΠΈΠ·Π° Π² ΠΈΠ³Ρ€Π°, ΠΊΠ°Ρ‚ΠΎ Π΅ Π² ΠΊΡ€Π°ΠΊ с Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Kubernetes, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ към Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅. Бяха ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ усилия, Π·Π° Π΄Π° сС Π°Π΄Π°ΠΏΡ‚ΠΈΡ€Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° OpenShift спСциално Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° инструмСнти ΠΊΠ°Ρ‚ΠΎ S2I, ODI, ΠΏΠΎΡ€Ρ‚Π°Π» Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ, OpenShift Operator Framework, IDE интСграция, ΠΊΠ°Ρ‚Π°Π»ΠΎΠ·ΠΈ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ, интСграция Π½Π° Helm, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ.

НадявамС сС, Ρ‡Π΅ Ρ‚Π°Π·ΠΈ статия Π΅ Π±ΠΈΠ»Π° интСрСсна ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Π° Π·Π° вас. И ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ рСсурси, ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ Π½Π΅Ρ‰Π°, ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° OpenShift Π½Π° ΠΏΠΎΡ€Ρ‚Π°Π»Π° Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π½Π° Red Hat.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€