ืื ื™ ืžืฆื˜ืขืจ, OpenShift, ืœื ื”ืขืจื›ื ื• ืื•ืชืš ืžืกืคื™ืง ื•ืœืงื—ื ื• ืื•ืชืš ื›ืžื•ื‘ืŸ ืžืืœื™ื•

ื”ืคื•ืกื˜ ื”ื–ื” ื ื›ืชื‘ ื‘ื’ืœืœ ืฉื”ืฆื•ื•ืช ืฉืœื ื• ื ื™ื”ืœ ืœื ืžืขื˜ ืฉื™ื—ื•ืช ืขื ืœืงื•ื—ื•ืช ืขืœ ืคื™ืชื•ื— ืืคืœื™ืงืฆื™ื•ืช ื‘-Kubernetes ื•ื”ืคืจื˜ื™ื ืฉืœ ืคื™ืชื•ื— ื›ื–ื” ื‘-OpenShift.

ืื ื™ ืžืฆื˜ืขืจ, OpenShift, ืœื ื”ืขืจื›ื ื• ืื•ืชืš ืžืกืคื™ืง ื•ืœืงื—ื ื• ืื•ืชืš ื›ืžื•ื‘ืŸ ืžืืœื™ื•

ื‘ื“ืจืš ื›ืœืœ ืื ื—ื ื• ืžืชื—ื™ืœื™ื ืขื ื”ืชื–ื” ืฉ-Kubernetes ื–ื” ืจืง Kubernetes, ื•-OpenShift ื”ื™ื ื›ื‘ืจ ืคืœื˜ืคื•ืจืžืช Kubernetes, ื›ืžื• Microsoft AKS ืื• Amazon EKS. ืœื›ืœ ืื—ืช ืžื”ืคืœื˜ืคื•ืจืžื•ืช ื”ืœืœื• ื™ืฉ ื™ืชืจื•ื ื•ืช ืžืฉืœื”, ื”ืžืชืžืงื“ื™ื ื‘ืงื”ืœ ื™ืขื“ ืžืกื•ื™ื. ื•ืื—ืจื™ ื–ื”, ื”ืฉื™ื—ื” ื›ื‘ืจ ื–ื•ืจืžืช ืœื”ืฉื•ื•ืื” ื‘ื™ืŸ ื”ื—ื•ื–ืงื•ืช ื•ื”ื—ื•ืœืฉื•ืช ืฉืœ ืคืœื˜ืคื•ืจืžื•ืช ืกืคืฆื™ืคื™ื•ืช.

ื‘ืื•ืคืŸ ื›ืœืœื™, ื—ืฉื‘ื ื• ืœื›ืชื•ื‘ ืืช ื”ืคื•ืกื˜ ื”ื–ื” ืขื ืคืœื˜ ื›ืžื• "ืชืฉืžืข, ื–ื” ืœื ืžืฉื ื” ืื™ืคื” ืืชื” ืžืจื™ืฅ ืืช ื”ืงื•ื“, ื‘-OpenShift ืื• ื‘-AKS, ื‘-EKS, ื‘ื›ืžื” Kubernetes ืžื•ืชืืžื™ื ืื™ืฉื™ืช, ื›ืŸ ื‘ื›ืœ Kubernetes. (ื‘ื•ืื• ื ืงืจื ืœื–ื” ื‘ืงื™ืฆื•ืจ KUK) "ื–ื” ืžืžืฉ ืคืฉื•ื˜, ื’ื ืฉื ื•ื’ื ืฉื."

ืœืื—ืจ ืžื›ืŸ ืชื›ื ื ื• ืœืงื—ืช ืืช ื”-"Hello World" ื”ืคืฉื•ื˜ ื‘ื™ื•ืชืจ ื•ืœื”ืจืื•ืช ืžื” ืžืฉื•ืชืฃ ื•ืžื”ื ื”ื”ื‘ื“ืœื™ื ื‘ื™ืŸ ื”-CMC ืœ-Red Hat OpenShift Container Platform (ืœื”ืœืŸ, OCP ืื• ืคืฉื•ื˜ OpenShift).

ืขื ื–ืืช, ื‘ืžื”ืœืš ื›ืชื™ื‘ืช ื”ืคื•ืกื˜ ื”ื–ื”, ื”ื‘ื ื• ืฉื”ืชืจื’ืœื ื• ื›ืœ ื›ืš ืœื”ืฉืชืžืฉ ื‘-OpenShift ืฉืื ื—ื ื• ืคืฉื•ื˜ ืœื ืžื‘ื™ื ื™ื ืื™ืš ื”ื™ื ื’ื“ืœื” ื•ื”ืคื›ื” ืœืคืœื˜ืคื•ืจืžื” ืžื“ื”ื™ืžื” ืฉื”ืคื›ื” ืœื”ืจื‘ื” ื™ื•ืชืจ ืžืกืชื ื”ืคืฆืช Kubernetes. ืื ื• ื ื•ื˜ื™ื ืœืงื—ืช ืืช ื”ื‘ื’ืจื•ืช ื•ื”ืคืฉื˜ื•ืช ืฉืœ OpenShift ื›ืžื•ื‘ืŸ ืžืืœื™ื•, ืชื•ืš ื›ื“ื™ ื”ืชืขืœืžื•ืช ืžื”ืคืืจ ืฉืœื”.

ื‘ืื•ืคืŸ ื›ืœืœื™, ื”ื’ื™ืข ื”ื–ืžืŸ ืœื—ื–ืจื” ื‘ืชืฉื•ื‘ื” ืืงื˜ื™ื‘ื™ืช, ื•ืขื›ืฉื™ื• ื ืฉื•ื•ื” ืฆืขื“ ืื—ืจ ืฆืขื“ ืืช ื”ืคืขืœืช ื”"Hello World" ืฉืœื ื• ื‘-KUK ื•ื‘-OpenShift, ื•ื ืขืฉื” ื–ืืช ื‘ืฆื•ืจื” ืื•ื‘ื™ื™ืงื˜ื™ื‘ื™ืช ื›ื›ืœ ื”ืืคืฉืจ (ื˜ื•ื‘, ืื•ืœื™ ืœืคืขืžื™ื ื ืจืื” ืื™ืฉื™ื•ืช ื™ื—ืก ืœื ื•ืฉื). ืื ืืชื” ืžืขื•ื ื™ื™ืŸ ื‘ื“ืขื” ืกื•ื‘ื™ื™ืงื˜ื™ื‘ื™ืช ื’ืจื™ื“ื ื‘ื ื•ืฉื ื–ื”, ืื– ืืชื” ื™ื›ื•ืœ ืœืงืจื•ื ืื•ืชื” ื›ืืŸ (EN). ื•ื‘ืคื•ืกื˜ ื”ื–ื” ื ื™ืฆืžื“ ืœืขื•ื‘ื“ื•ืช ื•ืจืง ืœืขื•ื‘ื“ื•ืช.

ืืฉื›ื•ืœื•ืช

ืื–, "ืฉืœื•ื ืขื•ืœื" ืฉืœื ื• ืฆืจื™ืš ืืฉื›ื•ืœื•ืช. ื‘ื•ืื• ืคืฉื•ื˜ ื ื’ื™ื“ "ืœื" ืœื›ืœ ืขื ืŸ ืฆื™ื‘ื•ืจื™, ื›ื“ื™ ืœื ืœืฉืœื ืขื‘ื•ืจ ืฉืจืชื™ื, ืจื™ืฉื•ื, ืจืฉืชื•ืช, ื”ืขื‘ืจืช ื ืชื•ื ื™ื ื•ื›ื•'. ื‘ื”ืชืื ืœื›ืš, ืื ื• ื‘ื•ื—ืจื™ื ืืฉื›ื•ืœ ืฆืžืช ืื—ื“ ืคืฉื•ื˜ ืขืœ ืžื™ื ื™ืงื•ื‘ (ืขื‘ื•ืจ KUK) ื• ืžื™ื›ืœื™ื ืžื•ื›ื ื™ื ืœืงื•ื“ (ืขื‘ื•ืจ ืืฉื›ื•ืœ OpenShift). ืฉืชื™ ื”ืืคืฉืจื•ื™ื•ืช ื”ืœืœื• ืžืžืฉ ืงืœื•ืช ืœื”ืชืงื ื”, ืืš ื“ื•ืจืฉื•ืช ื“ื™ ื”ืจื‘ื” ืžืฉืื‘ื™ื ื‘ืžื—ืฉื‘ ื”ื ื™ื™ื“ ืฉืœืš.

ืื ื™ ืžืฆื˜ืขืจ, OpenShift, ืœื ื”ืขืจื›ื ื• ืื•ืชืš ืžืกืคื™ืง ื•ืœืงื—ื ื• ืื•ืชืš ื›ืžื•ื‘ืŸ ืžืืœื™ื•

ื”ืจื›ื‘ื” ืขืœ KUK-e

ืื– ื‘ื•ืื• ื ืœืš.

ืฉืœื‘ 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. ื›ืœื•ืžืจ, ืžืžืฉ ืœื—ื™ืฆื” ืื—ืช ืฉืœ ื”ืขื›ื‘ืจ - ื•ืกื™ื™ืžืช. ื–ื• ื”ืกื™ื‘ื” ืฉืื ื—ื ื• ืื•ื”ื‘ื™ื ืืช ืงื•ื•ืืจืงื•ืก.

ืื ื™ ืžืฆื˜ืขืจ, 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, ืœื ื”ืขืจื›ื ื• ืื•ืชืš ืžืกืคื™ืง ื•ืœืงื—ื ื• ืื•ืชืš ื›ืžื•ื‘ืŸ ืžืืœื™ื•

ืœืื—ืจ ื”ืคืขืœืช ืžื•ืคืข ื”-container, ื›ืœ ืฉื ื•ืชืจ ื”ื•ื ืœื‘ื“ื•ืง ืขื ืคืงื•ื“ืช curl ืฉื”ืฉื™ืจื•ืช ืฉืœื ื• ืคื•ืขืœ:

ืื ื™ ืžืฆื˜ืขืจ, OpenShift, ืœื ื”ืขืจื›ื ื• ืื•ืชืš ืžืกืคื™ืง ื•ืœืงื—ื ื• ืื•ืชืš ื›ืžื•ื‘ืŸ ืžืืœื™ื•

ืื– ื”ื›ืœ ืขื•ื‘ื“ ื•ื–ื” ื”ื™ื” ืžืžืฉ ืงืœ ื•ืคืฉื•ื˜.

ืฉืœื‘ 2 - ืฉืœื— ืืช ื”ืžื™ื›ืœ ืฉืœื ื• ืœืžืื’ืจ ืชืžื•ื ื•ืช ื”ืžื›ื•ืœื”

ืœืขืช ืขืชื”, ื”ืชืžื•ื ื” ืฉื™ืฆืจื ื• ืžืื•ื—ืกื ืช ื‘ืื•ืคืŸ ืžืงื•ืžื™ ื‘ืื—ืกื•ืŸ ื”ืžื›ื•ืœื” ื”ืžืงื•ืžื™ ืฉืœื ื•. ืื ืื ื—ื ื• ืจื•ืฆื™ื ืœื”ืฉืชืžืฉ ื‘ืชืžื•ื ื” ื”ื–ื• ื‘ืกื‘ื™ื‘ืช ื”-KUK ืฉืœื ื•, ืื– ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœืฉื™ื ืื•ืชื” ื‘ืžืื’ืจ ืื—ืจ. ืœ-Kubernetes ืื™ืŸ ืืช ื”ืชื›ื•ื ื•ืช ื”ืœืœื•, ืื– ื ืฉืชืžืฉ ื‘-docerhub. ื›ื™ ืจืืฉื™ืช, ื–ื” ื‘ื—ื™ื ื, ื•ืฉื ื™ืช, (ื›ืžืขื˜) ื›ื•ืœื ืขื•ืฉื™ื ืืช ื–ื”.

ื–ื” ื’ื ืžืื•ื“ ืคืฉื•ื˜, ื•ื™ืฉ ืฆื•ืจืš ืจืง ื‘ื—ืฉื‘ื•ืŸ dockerhub ื›ืืŸ.

ืื–, ืื ื• ืžืชืงื™ื ื™ื dockerhub ื•ืฉื•ืœื—ื™ื ืœืฉื ืืช ื”ืชืžื•ื ื” ืฉืœื ื•.

ืื ื™ ืžืฆื˜ืขืจ, OpenShift, ืœื ื”ืขืจื›ื ื• ืื•ืชืš ืžืกืคื™ืง ื•ืœืงื—ื ื• ืื•ืชืš ื›ืžื•ื‘ืŸ ืžืืœื™ื•

ืฉืœื‘ 3 - ื”ืชื—ืœ Kubernetes

ื™ืฉื ืŸ ื“ืจื›ื™ื ืจื‘ื•ืช ืœื”ืจื›ื™ื‘ ืชืฆื•ืจืช kubernetes ื›ื“ื™ ืœื”ืคืขื™ืœ ืืช "Hello World" ืฉืœื ื•, ืื‘ืœ ื ืฉืชืžืฉ ื‘ืคืฉื•ื˜ื” ืฉื‘ื”ืŸ, ื›ื™ ืื ื—ื ื• ืื ืฉื™ื ื›ืืœื”...

ืจืืฉื™ืช, ืื ื• ืžืชื—ื™ืœื™ื ืืช ืืฉื›ื•ืœ ื”ืžื™ื ื™ืงื•ื‘:

minikube start

ืฉืœื‘ 4 - ืคืจื™ืกืช ืชืžื•ื ืช ื”ืžื™ื›ืœ ืฉืœื ื•

ื›ืขืช ืขืœื™ื ื• ืœื”ืžื™ืจ ืืช ื”ืงื•ื“ ื•ืชืžื•ื ืช ื”ืžื›ื•ืœื” ืฉืœื ื• ืœืชืฆื•ืจืช kubernetes. ื‘ืžื™ืœื™ื ืื—ืจื•ืช, ืื ื—ื ื• ืฆืจื™ื›ื™ื ืชืจืžื™ืœ ื•ื”ื’ื“ืจืช ืคืจื™ืกื” ื”ืžืฆื‘ื™ืขื™ื ืขืœ ืชืžื•ื ืช ื”ืžื›ื•ืœื” ืฉืœื ื• ื‘-docerhub. ืื—ืช ื”ื“ืจื›ื™ื ื”ืงืœื•ืช ื‘ื™ื•ืชืจ ืœืขืฉื•ืช ื–ืืช ื”ื™ื ืœื”ืคืขื™ืœ ืืช ืคืงื•ื“ืช create deployment ื”ืžืฆื‘ื™ืขื” ืขืœ ื”ืชืžื•ื ื” ืฉืœื ื•:

ืื ื™ ืžืฆื˜ืขืจ, 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

ื ืชืขื›ื‘ ืœืจื’ืข ืขืœ ืืคืฉืจื•ืช ื”"-type" ืฉืœ ืคืงื•ื“ืช ื”ื—ืฉื™ืคื”.

ื›ืืฉืจ ืื ื• ื—ื•ืฉืคื™ื ื•ื™ื•ืฆืจื™ื ืืช ื”ืจื›ื™ื‘ื™ื ื”ื“ืจื•ืฉื™ื ืœื”ืคืขืœืช ื”ืฉื™ืจื•ืช ืฉืœื ื•, ืื ื• ืฆืจื™ื›ื™ื, ื‘ื™ืŸ ื”ื™ืชืจ, ืœื”ื™ื•ืช ืžืกื•ื’ืœื™ื ืœื”ืชื—ื‘ืจ ืžื‘ื—ื•ืฅ ืœืฉื™ืจื•ืช hello-quarkus ืฉื™ื•ืฉื‘ ื‘ืชื•ืš ื”ืจืฉืช ื”ืžื•ื’ื“ืจืช ื‘ืชื•ื›ื ื” ืฉืœื ื•. ื•ื’ื ืคืจืžื˜ืจ ืกื•ื’ ืžืืคืฉืจ ืœื ื• ืœื™ืฆื•ืจ ื•ืœื—ื‘ืจ ื“ื‘ืจื™ื ื›ืžื• ืžืื–ื ื™ ืขื•ืžืกื™ื ื›ื“ื™ ืœื ืชื‘ ืชืขื‘ื•ืจื” ืœืื•ืชื” ืจืฉืช.

ืœืžืฉืœ, ื›ืชื™ื‘ื” type=LoadBalancer, ืื ื• ืžืืชื—ืœื™ื ืื•ื˜ื•ืžื˜ื™ืช ืืช ืžืื–ืŸ ื”ืขื•ืžืก ื”ืฆื™ื‘ื•ืจื™ ื‘ืขื ืŸ ื›ื“ื™ ืœื”ืชื—ื‘ืจ ืœืืฉื›ื•ืœ Kubernetes ืฉืœื ื•. ื–ื”, ื›ืžื•ื‘ืŸ, ื ื”ื“ืจ, ืื‘ืœ ืืชื” ืฆืจื™ืš ืœื”ื‘ื™ืŸ ืฉืชืฆื•ืจื” ื›ื–ื• ืชื”ื™ื” ืงืฉื•ืจื” ื‘ืื•ืคืŸ ื”ื“ื•ืง ืœืขื ืŸ ืฆื™ื‘ื•ืจื™ ืกืคืฆื™ืคื™ ื•ื™ื”ื™ื” ืงืฉื” ื™ื•ืชืจ ืœื”ืขื‘ื™ืจ ืื•ืชื” ื‘ื™ืŸ ืžื•ืคืขื™ Kubernetes ื‘ืกื‘ื™ื‘ื•ืช ืฉื•ื ื•ืช.

ื‘ื“ื•ื’ืžื” ืฉืœื ื• type=NodePort, ื›ืœื•ืžืจ, ื”ืงืจื™ืื” ืœืฉื™ืจื•ืช ืฉืœื ื• ืขื•ื‘ืจืช ืœืคื™ ื›ืชื•ื‘ืช ื”-IP ืฉืœ ื”ืฆื•ืžืช ื•ืžืกืคืจ ื”ื™ืฆื™ืื”. ืืคืฉืจื•ืช ื–ื• ืžืืคืฉืจืช ืœื ืœื”ืฉืชืžืฉ ื‘ืขื ื ื™ื ืฆื™ื‘ื•ืจื™ื™ื, ืืš ื“ื•ืจืฉืช ืžืกืคืจ ืฉืœื‘ื™ื ื ื•ืกืคื™ื. ืจืืฉื™ืช, ืืชื” ืฆืจื™ืš ืžืื–ืŸ ืขื•ืžืกื™ื ืžืฉืœืš, ืื– ืื ื• ื ืคืจื•ืก ืืช ืžืื–ืŸ ื”ืขื•ืžืก NGINX ื‘ืืฉื›ื•ืœ ืฉืœื ื•.

ืฉืœื‘ 6 - ื”ื’ื“ืจ ืžืื–ืŸ ืขื•ืžืกื™ื

ืœ-minikube ื™ืฉ ืžืกืคืจ ืชื›ื•ื ื•ืช ืคืœื˜ืคื•ืจืžื” ื”ืžืืคืฉืจื•ืช ืœื™ืฆื•ืจ ื‘ืงืœื•ืช ืืช ื”ืจื›ื™ื‘ื™ื ื”ื“ืจื•ืฉื™ื ืœื’ื™ืฉื” ื—ื™ืฆื•ื ื™ืช, ื›ื’ื•ืŸ ื‘ืงืจื™ ื›ื ื™ืกื”. Minikube ืžื’ื™ืข ืขื ื‘ืงืจ ื”ื›ื ื™ืกื” ืฉืœ Nginx, ื•ื›ืœ ืžื” ืฉืขืœื™ื ื• ืœืขืฉื•ืช ื”ื•ื ืœื”ืคืขื™ืœ ืื•ืชื• ื•ืœื”ื’ื“ื™ืจ ืื•ืชื•.

minikube addons enable ingress

ื›ืขืช, ืขื ืคืงื•ื“ื” ืื—ืช ื‘ืœื‘ื“, ื ื™ืฆื•ืจ ื‘ืงืจ ื›ื ื™ืกื” ืฉืœ Nginx ืฉื™ืขื‘ื•ื“ ื‘ืชื•ืš ืืฉื›ื•ืœ ื”ืžื™ื ื™ืงื•ื‘ื™ื ืฉืœื ื•:

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

ืฉืœื‘ 7 - ื”ื’ื“ืจ ืืช ื”ื›ื ื™ืกื”

ื›ืขืช ืขืœื™ื ื• ืœื”ื’ื“ื™ืจ ืืช ื‘ืงืจ ื”ื›ื ื™ืกื” ืฉืœ Nginx ืœืงื‘ืœ ื‘ืงืฉื•ืช ืฉืœื•ื-ืงื•ื•ืืจืงื•ืก.

ืื ื™ ืžืฆื˜ืขืจ, OpenShift, ืœื ื”ืขืจื›ื ื• ืื•ืชืš ืžืกืคื™ืง ื•ืœืงื—ื ื• ืื•ืชืš ื›ืžื•ื‘ืŸ ืžืืœื™ื•

ืื ื™ ืžืฆื˜ืขืจ, OpenShift, ืœื ื”ืขืจื›ื ื• ืื•ืชืš ืžืกืคื™ืง ื•ืœืงื—ื ื• ืื•ืชืš ื›ืžื•ื‘ืŸ ืžืืœื™ื•

ื•ืœื‘ืกื•ืฃ, ืขืœื™ื ื• ืœื™ื™ืฉื ืืช ื”ืชืฆื•ืจื” ื”ื–ื•.

ืื ื™ ืžืฆื˜ืขืจ, OpenShift, ืœื ื”ืขืจื›ื ื• ืื•ืชืš ืžืกืคื™ืง ื•ืœืงื—ื ื• ืื•ืชืš ื›ืžื•ื‘ืŸ ืžืืœื™ื•

kubectl apply -f ingress.yml

ืื ื™ ืžืฆื˜ืขืจ, OpenShift, ืœื ื”ืขืจื›ื ื• ืื•ืชืš ืžืกืคื™ืง ื•ืœืงื—ื ื• ืื•ืชืš ื›ืžื•ื‘ืŸ ืžืืœื™ื•

ืžื›ื™ื•ื•ืŸ ืฉืื ื• ืขื•ืฉื™ื ืืช ื›ืœ ื–ื” ื‘ืžื—ืฉื‘ ืฉืœื ื•, ืื ื• ืคืฉื•ื˜ ืžื•ืกื™ืคื™ื ืืช ื›ืชื•ื‘ืช ื”-IP ืฉืœ ื”ืฆื•ืžืช ืฉืœื ื• ืœืงื•ื‘ืฅ /etc/hosts ื›ื“ื™ ืœื”ืคื ื•ืช ื‘ืงืฉื•ืช http ืœ-minikube ืฉืœื ื• ืœืžืื–ืŸ ื”ืขื•ืžืก ืฉืœ NGINX.

192.168.99.100 hello-quarkus.info

ื–ื”ื•, ืขื›ืฉื™ื• ืฉื™ืจื•ืช ื”-minikube ืฉืœื ื• ื–ืžื™ืŸ ืžื‘ื—ื•ืฅ ื“ืจืš ื‘ืงืจ ื”ื›ื ื™ืกื” ืฉืœ Nginx.

ืื ื™ ืžืฆื˜ืขืจ, OpenShift, ืœื ื”ืขืจื›ื ื• ืื•ืชืš ืžืกืคื™ืง ื•ืœืงื—ื ื• ืื•ืชืš ื›ืžื•ื‘ืŸ ืžืืœื™ื•

ื•ื‘ื›ืŸ, ื–ื” ื”ื™ื” ืงืœ, ื ื›ื•ืŸ? ืื• ืœื ื›ืœ ื›ืš?

ืื ื™ ืžืฆื˜ืขืจ, OpenShift, ืœื ื”ืขืจื›ื ื• ืื•ืชืš ืžืกืคื™ืง ื•ืœืงื—ื ื• ืื•ืชืš ื›ืžื•ื‘ืŸ ืžืืœื™ื•

ื”ืคืขืœ ืขืœ OpenShift (ืžื›ื•ืœื•ืช ืžื•ื›ื ื•ืช ืœืงื•ื“)

ื•ืขื›ืฉื™ื• ื‘ื•ืื• ื ืจืื” ืื™ืš ื”ื›ืœ ื ืขืฉื” ื‘ืคืœื˜ืคื•ืจืžืช Red Hat OpenShift Container Platform (OCP).

ื›ืžื• ื‘ืžืงืจื” ืฉืœ minikube, ืื ื• ื‘ื•ื—ืจื™ื ืกื›ื™ืžื” ืขื ืืฉื›ื•ืœ OpenShift ื‘ืขืœ ืฆื•ืžืช ื™ื—ื™ื“ ื‘ืฆื•ืจื” ืฉืœ Code Ready Containers (CRC). ืคืขื ื–ื” ื ืงืจื minishift ื•ื”ืชื‘ืกืก ืขืœ ืคืจื•ื™ืงื˜ OpenShift Origin, ืื‘ืœ ืขื›ืฉื™ื• ื–ื” CRC ื•ื‘ื ื•ื™ ืขืœ ืคืœื˜ืคื•ืจืžืช OpenShift Container ืฉืœ Red Hat.

ื”ื ื”, ืกืœื™ื—ื”, ืื ื—ื ื• ืœื ื™ื›ื•ืœื™ื ืฉืœื ืœื•ืžืจ: "OpenShift ื–ื” ื ื”ื“ืจ!"

ื‘ืชื—ื™ืœื” ื—ืฉื‘ื ื• ืœื›ืชื•ื‘ ืฉืคื™ืชื•ื— ื‘-OpenShift ืื™ื ื• ืฉื•ื ื” ืžืคื™ืชื•ื— ื‘-Kubernetes. ื•ืœืžืขืฉื”, ื–ื” ื”ืžืฆื‘. ืื‘ืœ ื‘ืชื”ืœื™ืš ื›ืชื™ื‘ืช ื”ืคื•ืกื˜ ื”ื–ื” ื ื–ื›ืจื ื• ื›ืžื” ืชื ื•ืขื•ืช ืžื™ื•ืชืจื•ืช ืืชื ืฆืจื™ื›ื™ื ืœืขืฉื•ืช ื›ืฉืื™ืŸ ืœื›ื OpenShift, ื•ืœื›ืŸ, ืฉื•ื‘, ื–ื” ื™ืคื”. ืื ื—ื ื• ืื•ื”ื‘ื™ื ืฉื“ื‘ืจื™ื ื™ื”ื™ื• ืงืœื™ื, ื•ื›ืžื” ืงืœ ืœืคืจื•ืก ื•ืœื”ืคืขื™ืœ ืืช ื”ื“ื•ื’ืžื” ืฉืœื ื• ื‘-OpenShift ื‘ื”ืฉื•ื•ืื” ืœ-minikube ื”ื•ื ืžื” ืฉื ืชืŸ ืœื ื• ื”ืฉืจืื” ืœื›ืชื•ื‘ ืืช ื”ืคื•ืกื˜ ื”ื–ื”.

ื‘ื•ืื• ื ืขื‘ื•ืจ ืขืœ ื”ืชื”ืœื™ืš ื•ื ืจืื” ืžื” ืขืœื™ื ื• ืœืขืฉื•ืช.

ืื– ื‘ื“ื•ื’ืžื” ืฉืœ minikube, ื”ืชื—ืœื ื• ืขื Docker... ืจื’ืข, ืื ื—ื ื• ืœื ืฆืจื™ื›ื™ื ืืช Docker ืžื•ืชืงืŸ ืขืœ ื”ืžื—ืฉื‘ ื™ื•ืชืจ.

ื•ืื ื—ื ื• ืœื ืฆืจื™ื›ื™ื ื’ื™ื˜ ืžืงื•ืžื™.
ื•ืžื™ื™ื‘ืŸ ืื™ืŸ ืฆื•ืจืš.
ื•ืืชื” ืœื ืฆืจื™ืš ืœื™ืฆื•ืจ ืชืžื•ื ืช ืžื™ื›ืœ ื‘ื™ื“.
ื•ืืชื” ืœื ืฆืจื™ืš ืœื—ืคืฉ ืฉื•ื ืžืื’ืจ ืฉืœ ืชืžื•ื ื•ืช ืžื™ื›ืœ.
ื•ืืชื” ืœื ืฆืจื™ืš ืœื”ืชืงื™ืŸ ื‘ืงืจ ื›ื ื™ืกื”.
ื•ื’ื ืืชื” ืœื ืฆืจื™ืš ืœื”ื’ื“ื™ืจ ื›ื ื™ืกื”.

ื”ืื ืืชื” ืžื‘ื™ืŸ? ื›ื“ื™ ืœืคืจื•ืก ื•ืœื”ืคืขื™ืœ ืืช ื”ืืคืœื™ืงืฆื™ื” ืฉืœื ื• ื‘-OpenShift, ืื™ืŸ ืฆื•ืจืš ื‘ืืฃ ืื—ื“ ืžื”ื“ื‘ืจื™ื ืœืขื™ืœ. ื•ื”ืชื”ืœื™ืš ืขืฆืžื• ื”ื•ื ื›ื“ืœืงืžืŸ.

ืฉืœื‘ 1 - ื”ืคืขืœืช ืืฉื›ื•ืœ OpenShift ืฉืœืš

ืื ื• ืžืฉืชืžืฉื™ื ื‘ืงื•ื ื˜ื™ื™ื ืจื™ื ืžื•ื›ื ื™ื ืœืงื•ื“ ืž-Red Hat, ืฉื”ื•ื ื‘ืขืฆื ืื•ืชื• Minikube, ืื‘ืœ ืจืง ืขื ืืฉื›ื•ืœ Openshift ืžืœื ืขื ืฆื•ืžืช ื™ื—ื™ื“.

crc start

ืฉืœื‘ 2 - ื‘ื ื” ื•ืคืจื™ืกื” ืฉืœ ื”ืืคืœื™ืงืฆื™ื” ืœืืฉื›ื•ืœ OpenShift

ื‘ืฉืœื‘ ื–ื” ืžืชื‘ื˜ืื™ื ื”ืคืฉื˜ื•ืช ื•ื”ื ื•ื—ื•ืช ืฉืœ OpenShift ื‘ืžืœื•ื ื”ื“ืจื•. ื›ืžื• ื‘ื›ืœ ื”ื”ืคืฆื•ืช ืฉืœ Kubernetes, ื™ืฉ ืœื ื• ื“ืจื›ื™ื ืจื‘ื•ืช ืœื”ืคืขื™ืœ ื™ื™ืฉื•ื ืขืœ ืืฉื›ื•ืœ. ื•ื›ืžื• ื‘ืžืงืจื” ืฉืœ KUK, ืื ื• ื‘ื•ื—ืจื™ื ืกืคืฆื™ืคื™ืช ืืช ื”ืคืฉื•ื˜ื” ื‘ื™ื•ืชืจ.

OpenShift ืชืžื™ื“ ื ื‘ื ืชื” ื›ืคืœื˜ืคื•ืจืžื” ืœื‘ื ื™ื™ื” ื•ื”ืจืฆื” ืฉืœ ืืคืœื™ืงืฆื™ื•ืช ืžื›ื•ืœื•ืช. ื‘ื ื™ื™ืช ืงื•ื ื˜ื™ื™ื ืจื™ื ืชืžื™ื“ ื”ื™ื™ืชื” ื—ืœืง ื‘ืœืชื™ ื ืคืจื“ ืžื”ืคืœื˜ืคื•ืจืžื” ื”ื–ื•, ื•ืœื›ืŸ ื™ืฉ ื—ื‘ื•ืจื” ืฉืœ ืžืฉืื‘ื™ื ื ื•ืกืคื™ื ืฉืœ Kubernetes ืขื‘ื•ืจ ื”ืžืฉื™ืžื•ืช ื”ืžืชืื™ืžื•ืช.

ืื ื• ื ืฉืชืžืฉ ื‘ืชื”ืœื™ืš Source 2 Image (S2I) ืฉืœ OpenShift, ืฉื™ืฉ ืœื• ืžืกืคืจ ื“ืจื›ื™ื ืฉื•ื ื•ืช ืœืงื—ืช ืืช ื”ืžืงื•ืจ ืฉืœื ื• (ืงื•ื“ ืื• ืงื‘ืฆื™ื ื‘ื™ื ืืจื™ื™ื) ื•ืœื”ืคื•ืš ืื•ืชื• ืœืชืžื•ื ื” ืžื›ื•ืœืœืช ืฉืคื•ืขืœืช ืขืœ ืืฉื›ื•ืœ OpenShift.

ื‘ืฉื‘ื™ืœ ื–ื” ืื ื—ื ื• ืฆืจื™ื›ื™ื ืฉื ื™ ื“ื‘ืจื™ื:

  • ืงื•ื“ ื”ืžืงื•ืจ ืฉืœื ื• ื‘ืžืื’ืจ git
  • Builder-image, ืฉืขืœ ื‘ืกื™ืกื• ืชืชื‘ืฆืข ื”ื”ืจื›ื‘ื”.

ื™ืฉ ื”ืจื‘ื” ืชืžื•ื ื•ืช ื›ืืœื”, ืฉืžืชื•ื—ื–ืงื•ืช ื”ืŸ ืขืœ ื™ื“ื™ 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 ืขืฉื” ืืช ื”ื“ื‘ืจื™ื ื”ื‘ืื™ื:

  • ื™ืฆืจ ืฉื™ืจื•ืช build-pod ืœื›ืœ ืžื™ื ื™ ื“ื‘ืจื™ื ืฉืงืฉื•ืจื™ื ืœื‘ื ื™ื™ืช ื”ืืคืœื™ืงืฆื™ื”.
  • ื™ืฆืจ ืชืฆื•ืจืช OpenShift Build.
  • ื”ื•ืจื“ืชื™ ืืช ืชืžื•ื ืช ื”-Builder ืœืจื™ืฉื•ื OpenShift docker ื”ืคื ื™ืžื™.
  • ืฉื™ื‘ื•ื˜ ืืช "Hello World" ืœืžืื’ืจ ืžืงื•ืžื™.
  • ืจืื™ืชื™ ืฉื™ืฉ ืฉื ืžื™ื™ื‘ืŸ ืคื•ื ื•ื›ืš ืขืจื›ืชื™ ืืช ื”ืืคืœื™ืงืฆื™ื” ืขื ืžื™ื™ื‘ืŸ.
  • ื™ืฆืจ ืชืžื•ื ืช ืงื•ื ื˜ื™ื™ื ืจ ื—ื“ืฉื” ื”ืžื›ื™ืœื” ืืช ืืคืœื™ืงืฆื™ื™ืช Java ื”ืžื”ื™ื“ื•ืจ ื•ื”ื›ื ืก ืืช ื”ืชืžื•ื ื” ื”ื–ื• ืœืจื™ืฉื•ื ื”ืงื•ื ื˜ื™ื™ื ืจ ื”ืคื ื™ืžื™.
  • ื™ืฆืจ ืคืจื™ืกืช Kubernetes ืขื ืžืคืจื˜ื™ื ืขื‘ื•ืจ ืคื•ื“, ืฉื™ืจื•ืช ื•ื›ื•'.
  • ื”ื•ืฉืงื” ืชืžื•ื ืช ืคืจื™ืกื” ืฉืœ ืžื™ื›ืœ.
  • ื”ื•ืกืจ ืฉื™ืจื•ืช build-pod.

ื™ืฉ ื”ืจื‘ื” ื‘ืจืฉื™ืžื” ื”ื–ื•, ืื‘ืœ ื”ืขื™ืงืจ ืฉื”ื‘ื ื™ื™ื” ื›ื•ืœื” ืžืชืจื—ืฉืช ืืš ื•ืจืง ื‘ืชื•ืš OpenShift, ื”ืจื™ืฉื•ื ื”ืคื ื™ืžื™ ืฉืœ Docker ื ืžืฆื ื‘ืชื•ืš OpenShift, ื•ืชื”ืœื™ืš ื”ื‘ื ื™ื™ื” ื™ื•ืฆืจ ืืช ื›ืœ ืจื›ื™ื‘ื™ Kubernetes ื•ืžืจื™ืฅ ืื•ืชื ืขืœ ื”ืืฉื›ื•ืœ.

ืื ืชืคืงื— ื—ื–ื•ืชื™ืช ืขืœ ื”ื”ืฉืงื” ืฉืœ S2I ื‘ืงื•ื ืกื•ืœื”, ืชื•ื›ืœ ืœืจืื•ืช ื›ื™ืฆื“ ื”ืคื•ื“ ื”-build ืžื•ืคืขืœ ื‘ืžื”ืœืš ื”ื‘ื ื™ื™ื”.

ืื ื™ ืžืฆื˜ืขืจ, OpenShift, ืœื ื”ืขืจื›ื ื• ืื•ืชืš ืžืกืคื™ืง ื•ืœืงื—ื ื• ืื•ืชืš ื›ืžื•ื‘ืŸ ืžืืœื™ื•

ื•ืขื›ืฉื™ื• ื‘ื•ืื• ื ืกืชื›ืœ ืขืœ ื”ื™ื•ืžื ื™ื ืฉืœ ืชืจืžื™ืœ ื”-Builder: ืจืืฉื™ืช, ืฉื ืชื•ื›ืœื• ืœืจืื•ืช ื›ื™ืฆื“ Maven ืขื•ืฉื” ืืช ื”ืขื‘ื•ื“ื” ืฉืœื” ื•ืžื•ืจื™ื“ ืชืœื•ืช ื›ื“ื™ ืœื‘ื ื•ืช ืืช ืืคืœื™ืงืฆื™ื™ืช ื”-Java ืฉืœื ื•.

ืื ื™ ืžืฆื˜ืขืจ, OpenShift, ืœื ื”ืขืจื›ื ื• ืื•ืชืš ืžืกืคื™ืง ื•ืœืงื—ื ื• ืื•ืชืš ื›ืžื•ื‘ืŸ ืžืืœื™ื•

ืœืื—ืจ ื”ืฉืœืžืช ื”-maven build, ืžืชื—ื™ืœื™ื ืœื‘ื ื•ืช ืืช ืชืžื•ื ืช ื”ืžื›ื•ืœื”, ื•ืื– ื”ืชืžื•ื ื” ื”ื‘ื ื•ื™ื” ื”ื–ื• ื ืฉืœื—ืช ืœืžืื’ืจ ื”ืคื ื™ืžื™.

ืื ื™ ืžืฆื˜ืขืจ, OpenShift, ืœื ื”ืขืจื›ื ื• ืื•ืชืš ืžืกืคื™ืง ื•ืœืงื—ื ื• ืื•ืชืš ื›ืžื•ื‘ืŸ ืžืืœื™ื•

ื”ื›ืœ, ืชื”ืœื™ืš ื”ื”ืจื›ื‘ื” ื”ื•ืฉืœื. ืขื›ืฉื™ื• ื‘ื•ืื• ื ื•ื•ื“ื ืฉื”ืชืจืžื™ืœื™ื ื•ื”ืฉื™ืจื•ืชื™ื ืฉืœ ื”ืืคืœื™ืงืฆื™ื” ืฉืœื ื• ื”ืชื—ื™ืœื• ื‘ืืฉื›ื•ืœ.

oc get service

ืื ื™ ืžืฆื˜ืขืจ, OpenShift, ืœื ื”ืขืจื›ื ื• ืื•ืชืš ืžืกืคื™ืง ื•ืœืงื—ื ื• ืื•ืชืš ื›ืžื•ื‘ืŸ ืžืืœื™ื•

ื–ื” ื”ื›ืœ. ื•ื™ืฉ ืจืง ืฆื•ื•ืช ืื—ื“. ื›ืœ ืฉืขืœื™ื ื• ืœืขืฉื•ืช ื”ื•ื ืœื—ืฉื•ืฃ ืืช ื”ืฉื™ืจื•ืช ื”ื–ื” ืœื’ื™ืฉื” ืžื‘ื—ื•ืฅ.

ืฉืœื‘ 3 - ื”ืคื•ืš ืืช ื”ืฉื™ืจื•ืช ืœื—ืฉื•ืฃ ืœื’ื™ืฉื” ืžื‘ื—ื•ืฅ

ื›ืžื• ื‘ืžืงืจื” ืฉืœ KUK, ื‘ืคืœื˜ืคื•ืจืžืช OpenShift, "Hello World" ืฉืœื ื• ื–ืงื•ืง ื’ื ืœื ืชื‘ ื›ื“ื™ ืœื”ืคื ื•ืช ืชืขื‘ื•ืจื” ื—ื™ืฆื•ื ื™ืช ืœืฉื™ืจื•ืช ื‘ืชื•ืš ื”ืืฉื›ื•ืœ. ื‘-OpenShift ื–ื” ืžืงืœ ืžืื•ื“. ืจืืฉื™ืช, ืจื›ื™ื‘ ื”ื ื™ืชื•ื‘ HAProxy ืžื•ืชืงืŸ ื‘ืืฉื›ื•ืœ ื›ื‘ืจื™ืจืช ืžื—ื“ืœ (ื ื™ืชืŸ ืœืฉื ื•ืช ืื•ืชื• ืœืื•ืชื• NGINX). ืฉื ื™ืช, ื™ืฉื ื ืžืฉืื‘ื™ื ืžื™ื•ื—ื“ื™ื ื•ื ื™ืชื ื™ื ืœื”ื’ื“ืจื” ื”ื ืงืจืื™ื Routes, ืฉืžื–ื›ื™ืจื™ื ืื•ื‘ื™ื™ืงื˜ื™ื ืฉืœ Ingress ื‘-Kubernetes ื”ื™ืฉื ื™ื ื•ื”ื˜ื•ื‘ื™ื (ืœืžืขืฉื”, ื”ืžืกืœื•ืœื™ื ืฉืœ 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, Developer Portal, OpenShift Operator Framework, ืฉื™ืœื•ื‘ IDE, ืงื˜ืœื•ื’ื™ื ืœืžืคืชื—ื™ื, ืื™ื ื˜ื’ืจืฆื™ื” ืฉืœ Helm, ื ื™ื˜ื•ืจ ื•ืขื•ื“ ืจื‘ื™ื ืื—ืจื™ื.

ืื ื• ืžืงื•ื•ื™ื ืฉื”ืžืืžืจ ื”ื–ื” ื”ื™ื” ืžืขื ื™ื™ืŸ ื•ืฉื™ืžื•ืฉื™ ืขื‘ื•ืจืš. ื•ืชื•ื›ืœื• ืœืžืฆื•ื ืžืฉืื‘ื™ื ื ื•ืกืคื™ื, ื—ื•ืžืจื™ื ื•ื“ื‘ืจื™ื ืฉื™ืžื•ืฉื™ื™ื ื ื•ืกืคื™ื ืœืคื™ืชื•ื— ื‘ืคืœื˜ืคื•ืจืžืช OpenShift ื‘ืคื•ืจื˜ืœ ืžืคืชื—ื™ Red Hat.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”