ይቅርታ፣ OpenShift፣ በበቂ ሁኔታ አላደነቅንዎትም እና እንደ እውነት ወሰድን።

ይህ ልጥፍ የተጻፈው ሰራተኞቻችን በኩበርኔትስ ላይ አፕሊኬሽኖችን ስለማዘጋጀት እና በOpenShift ላይ ስላለው የእንደዚህ አይነት ልማት ዝርዝሮች ከደንበኞቻቸው ጋር ጥቂት ውይይቶችን ስላደረጉ ነው።

ይቅርታ፣ OpenShift፣ በበቂ ሁኔታ አላደነቅንዎትም እና እንደ እውነት ወሰድን።

እኛ ብዙውን ጊዜ ኩበርኔትስ ኩበርኔትስ ብቻ ነው በሚለው ተሲስ እንጀምራለን፣ እና OpenShift እንደ Microsoft AKS ወይም Amazon EKS አስቀድሞ የኩበርኔትስ መድረክ ነው። እነዚህ መድረኮች እያንዳንዳቸው በአንድ የተወሰነ ዒላማ ታዳሚ ላይ ያተኮሩ የራሱ ጥቅሞች አሏቸው። እና ከዚያ በኋላ, ውይይቱ ቀድሞውኑ የተወሰኑ መድረኮችን ጥንካሬ እና ድክመቶች ወደ ንፅፅር ይፈስሳል.

ባጠቃላይ፣ ይህን ልጥፍ ለመጻፍ አስበን እንደ “አዳምጥ፣ ኮዱን የት ቢያሄዱ ምንም ለውጥ የለውም፣ በOpenShift ወይም በ AKS፣ በ EKS፣ በአንዳንድ ብጁ Kubernetes ላይ፣ አዎ በማንኛውም Kubernetes ላይ (በአጭሩ KUK እንበለው) "እዚያም እዚያም በጣም ቀላል ነው."

ከዚያም በጣም ቀላሉን "ሄሎ አለም" ወስደን የተለመደውን እና በሲኤምሲ እና በቀይ ኮፍያ OpenShift ኮንቴይነር መድረክ (ከዚህ በኋላ OCP ወይም በቀላሉ OpenShift) መካከል ያለውን ልዩነት ለማሳየት ልንጠቀምበት አቅደናል።

ነገር ግን፣ ይህን ልጥፍ በምንጽፍበት ወቅት፣ እንዴት እንዳደገ እና የኩበርኔትስ ስርጭት ብቻ ሳይሆን ወደ አንድ አስደናቂ መድረክነት እንደተለወጠ እስካልተገነዘብን ድረስ OpenShiftን መጠቀም በጣም እንደለመድን ተገነዘብን። የOpenShiftን ብስለት እና ቀላልነት በቁም ነገር እንይዛለን፣ ግርማ ሞገስን እያየን ነው።

በአጠቃላይ፣ ንቁ የንስሓ ጊዜ ደርሷል፣ እና አሁን የኛን “ሄሎ አለም” በ KUK እና በ OpenShift ላይ የተሰጠውን አገልግሎት ደረጃ በደረጃ እናነፃፅራለን፣ እና በተቻለ መጠን በተጨባጭ እናደርገዋለን (መልካም ፣ ምናልባት አንዳንድ ጊዜ የግል እናሳያለን። ለጉዳዩ ያለው አመለካከት). በዚህ ጉዳይ ላይ ሙሉ ለሙሉ ተጨባጭ አስተያየት ከፈለጉ, ከዚያ ሊያነቡት ይችላሉ እዚህ (EN). እና በዚህ ጽሁፍ ውስጥ በተጨባጭ እውነታዎች እና በእውነታዎች ላይ ብቻ እንቀጥላለን.

ዘለላዎች

ስለዚህ የእኛ "ሄሎ አለም" ዘለላ ያስፈልገዋል። ለአገልጋዮች፣ መዝገብ ቤቶች፣ ኔትዎርኮች፣ ዳታ ማስተላለፍ ወዘተ እንዳይከፍል ለማንኛውም የህዝብ ደመና "አይ" እንበል። በዚህ መሠረት ቀላል ባለ አንድ-ኖድ ክላስተር እንመርጣለን ሚኒኩቤ (ለ KUK) እና የኮድ ዝግጁ መያዣዎች (ለOpenShift ክላስተር)። እነዚህ ሁለቱም አማራጮች ለመጫን በጣም ቀላል ናቸው, ነገር ግን በላፕቶፕዎ ላይ ብዙ ሀብቶችን ይፈልጋሉ.

ይቅርታ፣ OpenShift፣ በበቂ ሁኔታ አላደነቅንዎትም እና እንደ እውነት ወሰድን።

KUK-e ላይ ስብሰባ

ስለዚህ እንሂድ ፡፡

ደረጃ 1 - የእኛን የመያዣ ምስል መገንባት

የኛን "ሄሎ አለም" ወደ ሚኒኩቤ በማሰማራት እንጀምር። ይህ ያስፈልገዋል፡-

  1. 1. የተጫነ Docker.
  2. 2. ተጭኗል Git.
  3. 3. ተጭኗል Maven (በእውነቱ ይህ ፕሮጀክት mvnw binary ይጠቀማል, ስለዚህ ያለሱ ማድረግ ይችላሉ).
  4. 4. በእውነቱ, ምንጩ ራሱ, ማለትም. የማጠራቀሚያ ክሎሎን github.com/gcolman/quarkus-ሠላም-world.git

የመጀመሪያው እርምጃ የኳርኩስ ፕሮጀክት መፍጠር ነው. Quarkus.io በጭራሽ ካልተጠቀሙበት አይፍሩ - ቀላል ነው። በፕሮጀክቱ ውስጥ ሊጠቀሙባቸው የሚፈልጓቸውን ክፍሎች (ReestEasy, Hibernate, Amazon SQS, Camel, ወዘተ) ብቻ ይምረጡ እና ከዚያ ኳርኩስ እራሱ ምንም አይነት ተሳትፎ ሳይኖርዎ maven archetype አዘጋጀ እና ሁሉንም ነገር በ github ላይ ያስቀምጣል. ያ ማለት በጥሬው የመዳፊት አንድ ጠቅታ - እና ጨርሰዋል። ኳርኩስን የምንወደው ለዚህ ነው።

ይቅርታ፣ OpenShift፣ በበቂ ሁኔታ አላደነቅንዎትም እና እንደ እውነት ወሰድን።

የእኛን "ሄሎ አለም" ወደ ኮንቴይነር ምስል ለመገንባት ቀላሉ መንገድ የኳርኩስ-ማቨን ቅጥያዎችን ለዶከር መጠቀም ነው, ይህም ሁሉንም አስፈላጊ ስራዎችን ይሰራል. ከኳርኩስ መምጣት ጋር ይህ በእውነት ቀላል እና ቀላል ሆኗል፡ የመያዣ-ምስል-ዶከር ቅጥያውን ይጨምሩ እና ምስሎችን ከ maven ትዕዛዞች ጋር መፍጠር ይችላሉ።

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

እና በመጨረሻም, Mavenን በመጠቀም ምስላችንን እንገነባለን. በውጤቱም, የእኛ የምንጭ ኮድ ወደ ዝግጁ-የተሰራ መያዣ ምስል ይቀየራል, ይህም ቀድሞውኑ በእቃ መጫኛው ውስጥ ሊሰራ ይችላል.

ይቅርታ፣ OpenShift፣ በበቂ ሁኔታ አላደነቅንዎትም እና እንደ እውነት ወሰድን።

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

ያ፣ ያ ብቻ ነው፣ አሁን አገልግሎታችንን ወደብ 8080 በመገልበጥ ዕቃውን በዶክተር አሂድ ትዕዛዝ ማስኬድ ይችላሉ።

docker run -i — rm -p 8080:8080 gcolman/quarkus-hello-world

ይቅርታ፣ OpenShift፣ በበቂ ሁኔታ አላደነቅንዎትም እና እንደ እውነት ወሰድን።

የእቃ መያዣው ምሳሌ ከጀመረ በኋላ፣ የሚቀረው አገልግሎታችን እየሰራ መሆኑን በ curl ትዕዛዙ ማረጋገጥ ብቻ ነው፡-

ይቅርታ፣ OpenShift፣ በበቂ ሁኔታ አላደነቅንዎትም እና እንደ እውነት ወሰድን።

ስለዚህ, ሁሉም ነገር ይሰራል, እና በእርግጥ ቀላል እና ቀላል ነበር.

ደረጃ 2 - እቃችንን ወደ መያዣው ምስል ማከማቻ አስረክብ

ለአሁን፣ የፈጠርነው ምስል በአገር ውስጥ፣ በአካባቢያችን የእቃ ማከማቻ ማከማቻ ውስጥ ተከማችቷል። ይህንን ምስል በእኛ KUK አካባቢ ለመጠቀም ከፈለግን ወደ ሌላ ማከማቻ ውስጥ ማስገባት አለብን። ኩበርኔትስ እነዚህ ባህሪያት የሉትም፣ ስለዚህ dockerhub እንጠቀማለን። ምክንያቱም፣ በመጀመሪያ፣ ነፃ ነው፣ ሁለተኛም፣ (ከሞላ ጎደል) ሁሉም ሰው ያደርገዋል።

ይህ ደግሞ በጣም ቀላል ነው፣ እና እዚህ dockerhub መለያ ብቻ ያስፈልጋል።

ስለዚህ, dockerhub ን ጫን እና ምስላችንን ወደዚያ እንልካለን.

ይቅርታ፣ OpenShift፣ በበቂ ሁኔታ አላደነቅንዎትም እና እንደ እውነት ወሰድን።

ደረጃ 3 - Kubernetes ይጀምሩ

የእኛን "ሄሎ አለም" ለማስኬድ የ kubernetes ውቅረትን ለማቀናጀት ብዙ መንገዶች አሉ ነገር ግን በጣም ቀላሉን እንጠቀማለን, ምክንያቱም እኛ እንደዚህ አይነት ሰዎች ነን ...

በመጀመሪያ፣ የሚኒኩቤ ክላስተር እንጀምራለን፡-

minikube start

ደረጃ 4 - የእኛን የመያዣ ምስል መዘርጋት

አሁን የእኛን ኮድ እና መያዣ ምስል ወደ kubernetes ውቅር መለወጥ አለብን። በሌላ አነጋገር፣ በዶከርሁብ ላይ ያለውን የእቃ መያዛችን ምስል የሚያመለክት ፖድ እና የማሰማራት ፍቺ እንፈልጋለን። ይህንን ለማድረግ ቀላሉ መንገዶች አንዱ ወደ ምስላችን የሚያመለክት የፍጠር ማሰማራት ትዕዛዙን ማስኬድ ነው፡-

ይቅርታ፣ OpenShift፣ በበቂ ሁኔታ አላደነቅንዎትም እና እንደ እውነት ወሰድን።

kubectl create deployment hello-quarkus — image =gcolman/quarkus-hello-world:1.0.0-SNAPSHOT

በዚህ ትእዛዝ፣የእኛን COOK የማሰማራት ውቅረት እንዲፈጥር ነግረነዋል፣የእኛ የመያዣ ምስል የፖድ ስፔስፊኬሽን መያዝ አለበት። ይህ ትእዛዝ ይህንን ውቅር በእኛ ሚኒኩቤ ክላስተር ላይ ይተገበራል፣ እና የእቃ መያዛችንን ምስል የሚያወርድ እና ክላስተር ላይ ፖድ የሚያስኬድ ማሰማራት ይፈጥራል።

ደረጃ 5 - የአገልግሎታችንን መዳረሻ ይክፈቱ

አሁን የተዘረጋ የእቃ መያዢያ ምስል ስላለን፣ ወደዚህ Restful አገልግሎት የውጭ መዳረሻን እንዴት ማዋቀር እንደምንችል ለማሰብ ጊዜው አሁን ነው፣ ይህም በእውነቱ፣ በኮዳችን ውስጥ ፕሮግራም ተደርጎለታል።

እዚህ ብዙ መንገዶች አሉ. ለምሳሌ፣ እንደ አገልግሎቶች እና የመጨረሻ ነጥቦች ያሉ ተገቢ የ Kubernetes ክፍሎችን በራስ-ሰር ለመፍጠር የማጋለጥ ትዕዛዙን መጠቀም ይችላሉ። በእውነቱ፣ የእኛን የማሰማራት እቃ የማጋለጥ ትዕዛዙን በመፈጸም የምናደርገው ይህ ነው፡-

kubectl expose deployment hello-quarkus — type=NodePort — port=8080

ለአፍታ ያህል በማጋለጥ ትዕዛዙ "-አይነት" አማራጭ ላይ እንቆይ።

አገልግሎታችንን ለማስኬድ የሚያስፈልጉትን አካላት ስናጋልጥ እና ስንፈጥር ከሌሎች ነገሮች በተጨማሪ በሶፍትዌር-የተለየ ኔትወርክ ውስጥ ከሚገኘው ሄሎ-ኳርኩስ አገልግሎት ጋር ከውጪ መገናኘት መቻል አለብን። እና መለኪያ ዓይነት ትራፊክን ወደዚያ አውታረመረብ ለመምራት እንደ ጭነት ሚዛን ያሉ ነገሮችን ለመፍጠር እና ለማገናኘት ያስችለናል።

ለምሳሌ, መጻፍ አይነት=LoadBalancerከኩበርኔትስ ክላስተር ጋር ለመገናኘት የወል ደመና ሎድ ሚዛንን በራስ ሰር እናስጀምረዋለን። ይህ በእርግጥ በጣም ጥሩ ነው, ነገር ግን እንዲህ ዓይነቱ ውቅር ከአንድ የተወሰነ ህዝባዊ ደመና ጋር በጥብቅ የተቆራኘ እና በተለያዩ አካባቢዎች በ Kubernetes መካከል ለማስተላለፍ የበለጠ አስቸጋሪ እንደሚሆን መረዳት አለብዎት.

በእኛ ምሳሌ ዓይነት=NodePort, ማለትም ወደ አገልግሎታችን የሚደረገው ጥሪ በመስቀለኛ መንገድ እና በወደብ ቁጥር IP አድራሻ ነው. ይህ አማራጭ ምንም አይነት ህዝባዊ ደመናን እንዳይጠቀሙ ይፈቅድልዎታል, ነገር ግን በርካታ ተጨማሪ እርምጃዎችን ይፈልጋል. በመጀመሪያ የእራስዎን የጭነት ማመሳከሪያ ያስፈልግዎታል, ስለዚህ የ NGINX ሎድ ሚዛን በእኛ ክላስተር ውስጥ እናሰማራለን.

ደረጃ 6 - የጭነት ሚዛን ያዘጋጁ

ሚኒኩቤ ለውጭ መዳረሻ የሚያስፈልጉትን እንደ መግቢያ መቆጣጠሪያዎች ያሉ ክፍሎችን ለመፍጠር ቀላል የሚያደርጉ በርካታ የመድረክ ባህሪያት አሉት። ሚኒኩቤ ከNginx ingress መቆጣጠሪያ ጋር አብሮ ይመጣል፣ እና እኛ ማድረግ ያለብን እሱን ማንቃት እና ማዋቀር ነው።

minikube addons enable ingress

አሁን፣ በአንድ ትዕዛዝ ብቻ፣ በእኛ ሚኒኩቤ ክላስተር ውስጥ የሚሰራ የNginx ingress መቆጣጠሪያ እንፈጥራለን፡

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

ደረጃ 7 - መግቢያውን ያዘጋጁ

አሁን የሄሎ-ኳርኩስ ጥያቄዎችን ለመቀበል የ Nginx ingress መቆጣጠሪያውን ማዋቀር አለብን።

ይቅርታ፣ OpenShift፣ በበቂ ሁኔታ አላደነቅንዎትም እና እንደ እውነት ወሰድን።

ይቅርታ፣ OpenShift፣ በበቂ ሁኔታ አላደነቅንዎትም እና እንደ እውነት ወሰድን።

እና በመጨረሻም, ይህንን ውቅር መተግበር አለብን.

ይቅርታ፣ OpenShift፣ በበቂ ሁኔታ አላደነቅንዎትም እና እንደ እውነት ወሰድን።

kubectl apply -f ingress.yml

ይቅርታ፣ OpenShift፣ በበቂ ሁኔታ አላደነቅንዎትም እና እንደ እውነት ወሰድን።

ይህን ሁሉ የምንሰራው በራሳችን ማሽን ስለሆነ በቀላሉ የ http ጥያቄዎችን ወደ ሚኒኩቤ ወደ NGINX ሎድ ሚዛን ለመምራት የኛን መስቀለኛ መንገድ IP አድራሻ ወደ /etc/hosts ፋይል እንጨምረዋለን።

192.168.99.100 hello-quarkus.info

ያ ብቻ ነው፣ አሁን የኛ ሚኒኩቤ አገልግሎት ከውጪ የሚገኘው በNginx ingress መቆጣጠሪያ በኩል ነው።

ይቅርታ፣ OpenShift፣ በበቂ ሁኔታ አላደነቅንዎትም እና እንደ እውነት ወሰድን።

ደህና ፣ ያ ቀላል ነበር ፣ ትክክል? ወይስ ብዙ አይደለም?

ይቅርታ፣ OpenShift፣ በበቂ ሁኔታ አላደነቅንዎትም እና እንደ እውነት ወሰድን።

በOpenShift (ኮድ ዝግጁ ኮንቴይነሮች) ላይ ያሂዱ

እና አሁን ሁሉም በቀይ ኮፍያ OpenShift Container Platform (OCP) ላይ እንዴት እንደተከናወነ እንይ።

እንደ ሚኒኩቤ ሁኔታ፣ ባለ አንድ መስቀለኛ መንገድ OpenShift ክላስተር በ Code Ready Containers (CRC) መልክ እቅድ እንመርጣለን። ቀደም ሲል ሚኒሺፍት ተብሎ የሚጠራ ሲሆን በOpenShift Origin ፕሮጀክት ላይ የተመሰረተ ነበር አሁን ግን CRC ነው እና በቀይ ኮፍያ OpenShift Container Platform ላይ የተሰራ ነው።

እዚህ፣ ይቅርታ፣ “OpenShift በጣም ጥሩ ነው!” ከማለት ውጪ ምንም ማድረግ አንችልም።

መጀመሪያ ላይ፣ በOpenShift ላይ ያለው ልማት Kubernetes ላይ ካለው ልማት የተለየ እንዳልሆነ ለመጻፍ አስበን ነበር። እና እንደውም እንደዛ ነው። ግን ይህንን ጽሑፍ በመጻፍ ሂደት OpenShift ከሌለዎት ምን ያህል አላስፈላጊ እንቅስቃሴዎችን ማድረግ እንዳለቦት እናስታውስ ነበር ፣ እና ስለዚህ ፣ እንደገና ፣ ቆንጆ ነው። ነገሮችን ቀላል እንዲሆኑ እንወዳለን፣ እና የእኛን ምሳሌ ከሚኒኩቤ ጋር በማነፃፀር በOpenShift ላይ ማሰማራት እና ማስኬድ ምን ያህል ቀላል እንደሆነ ይህንን ልጥፍ እንድንፅፍ ያነሳሳን።

ሂደቱን እንሮጥ እና ምን ማድረግ እንዳለብን እንይ።

ስለዚህ በሚኒኩቤ ምሳሌ፣ በ Docker ጀመርን… ቆይ፣ ከእንግዲህ Dockerን በማሽኑ ላይ መጫን አያስፈልገንም።

እና የአካባቢ ጂት አያስፈልገንም።
እና ማቨን አያስፈልግም.
እና በእጅ መያዣ ምስል መፍጠር የለብዎትም.
እና ምንም አይነት የመያዣ ምስሎች ማከማቻ መፈለግ የለብዎትም።
እና የመግቢያ መቆጣጠሪያ መጫን አያስፈልግዎትም።
እና መግባትን ማዋቀርም አያስፈልግዎትም።

ገባህ? የእኛን መተግበሪያ በOpenShift ላይ ለማሰማራት እና ለማስኬድ ከላይ ከተጠቀሱት ውስጥ አንዳቸውም አያስፈልግም። እና ሂደቱ ራሱ እንደሚከተለው ነው.

ደረጃ 1 - የእርስዎን OpenShift ክላስተር በመጀመር ላይ

ኮድ ዝግጁ ኮንቴይነሮችን ከቀይ ኮፍያ እንጠቀማለን፣ እሱም በመሠረቱ ሚኒኩቤ ተመሳሳይ ነው፣ ግን ባለ አንድ መስቀለኛ መንገድ ክፍት shift ክላስተር ብቻ።

crc start

ደረጃ 2 - ትግበራውን ወደ OpenShift ክላስተር ይገንቡ እና ያሰማሩ

የ OpenShift ቀላልነት እና ምቾት በሁሉም ክብሩ ውስጥ እራሱን የሚገለጠው በዚህ ደረጃ ነው። እንደ ሁሉም የኩበርኔትስ ስርጭቶች፣ በክላስተር ላይ መተግበሪያን ለማስኬድ ብዙ መንገዶች አሉን። እና, እንደ KUK ሁኔታ, በተለይም ቀላሉን እንመርጣለን.

OpenShift ሁልጊዜ በኮንቴይነር የተያዙ አፕሊኬሽኖችን ለመገንባት እና ለማሄድ እንደ መድረክ ነው የተሰራው። ኮንቴይነሮችን መገንባት ሁልጊዜ የዚህ መድረክ ዋነኛ አካል ነው, ስለዚህ ለተዛማጅ ስራዎች ተጨማሪ የኩበርኔትስ ሀብቶች ስብስብ አለ.

የOpenShift's Source 2 Image (S2I) ሂደትን እንጠቀማለን፣ ይህም ምንጫችን (ኮድ ወይም ሁለትዮሽ) የምንወስድባቸው የተለያዩ መንገዶች ያሉት እና በOpenShift ክላስተር ላይ ወደሚሰራ በኮንቴይነር የተያዘ ምስል ነው።

ለዚህ ሁለት ነገሮች ያስፈልጉናል.

  • የእኛ ምንጭ ኮድ በ git ማከማቻ ውስጥ
  • ገንቢ-ምስል, ስብሰባው በሚካሄድበት መሰረት.

በቀይ ኮፍያ እና በማህበረሰቡ የተጠበቁ ብዙ እንደዚህ ያሉ ምስሎች አሉ እና የጃቫ መተግበሪያን እየገነባሁ ስለሆነ የ OpenJDK ምስልን እንጠቀማለን ።

ሁለቱንም የS2I ግንባታ ከOpenShift Developer graphical console እና ከትእዛዝ መስመር ማስኬድ ይችላሉ። የገንቢውን ምስል ከየት እንደምናገኝ በመንገር አዲሱን መተግበሪያ እንጠቀማለን።

ይቅርታ፣ OpenShift፣ በበቂ ሁኔታ አላደነቅንዎትም እና እንደ እውነት ወሰድን።

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

ያ ነው የእኛ መተግበሪያ የተፈጠረው። ይህን ሲያደርጉ፣ የS2I ሂደት የሚከተሉትን ነገሮች አድርጓል።

  • አፕሊኬሽኑን ከመገንባት ጋር ለተያያዙ ሁሉም ዓይነት ነገሮች የአገልግሎት ግንባታ-ፖድ ፈጥሯል።
  • የOpenShift Build ውቅረት ፈጠረ።
  • የገንቢውን ምስል ወደ ውስጣዊ የOpenShift docker መዝገብ አውርጃለሁ።
  • "ሄሎ አለም" ወደ አካባቢያዊ ማከማቻ ተዘግቷል።
  • እዚያ ውስጥ maven pom እንዳለ አየሁ እና መተግበሪያውን በማቨን አጠናቅሯል።
  • የተቀናበረውን የጃቫ አፕሊኬሽን የያዘ አዲስ የመያዣ ምስል ፈጠረ እና ይህን ምስል ወደ ውስጣዊ መያዣ መዝገብ ውስጥ አስገባ።
  • ለፖድ፣ አገልግሎት፣ ወዘተ ዝርዝር መግለጫዎች ያለው የኩበርኔትስ ማሰማራትን ፈጠረ።
  • የመያዣ ምስል ተጀምሯል።
  • የተወገደ የአገልግሎት ግንባታ-ፖድ።

በዚህ ዝርዝር ውስጥ ብዙ ነገር አለ ነገር ግን ዋናው ነገር አጠቃላይ ግንባታው የሚካሄደው በ OpenShift ውስጥ ብቻ ነው, የውስጥ Docker መዝገብ በ OpenShift ውስጥ ነው, እና የግንባታ ሂደቱ ሁሉንም የ Kubernetes ክፍሎችን ይፈጥራል እና በክላስተር ላይ ያካሂዳል.

በኮንሶል ውስጥ የ S2I ጅምርን በእይታ ከተከታተሉ በግንባታው ወቅት የግንባታ ፖድ እንዴት እንደጀመረ ማየት ይችላሉ።

ይቅርታ፣ OpenShift፣ በበቂ ሁኔታ አላደነቅንዎትም እና እንደ እውነት ወሰድን።

እና አሁን ግንበኛ ፖድ ሎግዎችን እንይ፡ በመጀመሪያ እዚያ ማቨን እንዴት ስራውን እንደሚሰራ እና የጃቫ መተግበሪያችንን ለመገንባት ጥገኞችን እንደሚያወርድ ማየት ትችላለህ።

ይቅርታ፣ OpenShift፣ በበቂ ሁኔታ አላደነቅንዎትም እና እንደ እውነት ወሰድን።

የማቬን ግንባታው ከተጠናቀቀ በኋላ የእቃ መያዣው ምስል መገንባት ይጀምራል, ከዚያም ይህ የተገነባው ምስል ወደ ውስጣዊ ማጠራቀሚያ ይላካል.

ይቅርታ፣ OpenShift፣ በበቂ ሁኔታ አላደነቅንዎትም እና እንደ እውነት ወሰድን።

ሁሉም ነገር, የመሰብሰቢያው ሂደት ተጠናቅቋል. አሁን የእኛ መተግበሪያ ፖድ እና አገልግሎቶች በክላስተር ውስጥ መጀመራቸውን እናረጋግጥ።

oc get service

ይቅርታ፣ OpenShift፣ በበቂ ሁኔታ አላደነቅንዎትም እና እንደ እውነት ወሰድን።

ይኼው ነው. እና አንድ ቡድን ብቻ ​​አለ. እኛ ማድረግ ያለብን ይህንን አገልግሎት ለውጭ ተደራሽነት ማጋለጥ ብቻ ነው።

ደረጃ 3 - አገልግሎቱን ከውጭ ለመድረስ እንዲጋለጥ ያድርጉ

እንደ KUK ሁኔታ፣ በOpenShift መድረክ ላይ፣ የእኛ “ሄሎ አለም” እንዲሁ የውጭ ትራፊክን በክላስተር ውስጥ ወደሚገኝ አገልግሎት ለመምራት ራውተር ይፈልጋል። በ OpenShift ይህ በጣም ቀላል ያደርገዋል። በመጀመሪያ የ HAProxy ራውቲንግ አካል በክላስተር ውስጥ በነባሪነት ተጭኗል (ወደ ተመሳሳይ NGINX ሊቀየር ይችላል)። በሁለተኛ ደረጃ, ጥሩ አሮጌ Kubernetes ውስጥ Ingress ዕቃዎችን የሚያስታውሱ ልዩ እና በጣም ሊዋቀሩ የሚችሉ ሀብቶች አሉ Routes (በእርግጥ የ OpenShift's Routes የኢንገስት እቃዎች ዲዛይን ላይ ከፍተኛ ተጽዕኖ አሳድሯል, አሁን በ OpenShift ውስጥ ጥቅም ላይ ሊውል ይችላል) ነገር ግን ለእኛ "ሄሎ" ዓለም ፣ እና በሌሎች በሁሉም ጉዳዮች ፣ መደበኛው መስመር ያለ ተጨማሪ ውቅረት ይበቃናል።

ለ"Hello World" ራውተር FQDN ለመፍጠር (አዎ፣ OpenShiift በአገልግሎት ስሞች ለመምራት የራሱ ዲ ኤን ኤስ አለው) አገልግሎታችንን በቀላሉ እናጋልጣለን፡

ይቅርታ፣ OpenShift፣ በበቂ ሁኔታ አላደነቅንዎትም እና እንደ እውነት ወሰድን።

oc expose service quarkus-hello-world

አዲስ የተፈጠረውን መስመር ከተመለከቱ፣ እዚያ FQDN እና ሌሎች የማስተላለፊያ መረጃዎችን ማግኘት ይችላሉ።

oc get route

ይቅርታ፣ OpenShift፣ በበቂ ሁኔታ አላደነቅንዎትም እና እንደ እውነት ወሰድን።

እና በመጨረሻም አገልግሎታችንን ከአሳሹ እንደርሳለን-

ይቅርታ፣ OpenShift፣ በበቂ ሁኔታ አላደነቅንዎትም እና እንደ እውነት ወሰድን።

አሁን ግን በጣም ቀላል ነበር!

እኛ Kubernetes እና ይህ ቴክኖሎጂ እንዲያደርጉ የሚፈቅድልዎትን ሁሉንም ነገር እንወዳለን፣ እና ቀላል እና ቀላልነትንም እንወዳለን። ኩበርኔትስ የተከፋፈሉ፣ ሊለኩ የሚችሉ ኮንቴይነሮችን ለመሥራት በሚያስደንቅ ሁኔታ ቀላል ለማድረግ ታስቦ ነበር፣ ነገር ግን ቀላልነቱ ዛሬ መተግበሪያዎችን ወደ ምርት ለማምጣት በቂ አይደለም። እና ይሄ OpenShift የሚጫወተው ነው, እሱም ወቅቱን ጠብቆ የሚቆይ እና Kubernetes የሚያቀርበው, በዋነኝነት በገንቢው ላይ ያተኮረ ነው. እንደ S2I፣ ODI፣ Developer Portal፣ OpenShift Operator Framework፣ IDE ውህደት፣ የገንቢ ካታሎጎች፣ Helm ውህደት፣ ክትትል እና ሌሎች ብዙ መሳሪያዎችን መፍጠርን ጨምሮ የOpenShift መድረክን ለገንቢው ለማበጀት ብዙ ጥረት ተደርጓል።

ይህ ጽሑፍ ለእርስዎ አስደሳች እና ጠቃሚ እንደነበረ ተስፋ እናደርጋለን። እና በፖርታሉ ላይ በ OpenShift መድረክ ላይ ለማልማት ጠቃሚ የሆኑ ተጨማሪ መገልገያዎችን, ቁሳቁሶችን እና ሌሎች ነገሮችን ማግኘት ይችላሉ ቀይ ኮፍያ ገንቢዎች.

ምንጭ: hab.com

አስተያየት ያክሉ