Β«Π ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Kubernetes ΠΈ OpenShift?Β» β ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Ρ Π·Π°Π²ΠΈΠ΄Π½ΡΠΌ ΠΏΠΎΡΡΠΎΡΠ½ΡΡΠ²ΠΎΠΌ. Π₯ΠΎΡΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΠΎ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΡΡΠΎ ΡΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ, ΡΠ΅ΠΌ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Ρ. ΠΡΠ»ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ, ΡΠΎ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ β ΡΡΠΎ Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ, ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ°Π·Ρ ΠΆΠ΅, Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ: ΡΠ΅Π» ΠΈ ΠΏΠΎΠ΅Ρ Π°Π». Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΡΡΠΎΠ±Ρ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Ρ Π²Π°Ρ ΠΊΡΠ΄Π°-ΡΠΎ ΠΏΠΎΠ²Π΅Π·, Π΅Π³ΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π½Π°Π΄ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΡ ΠΌΠ°ΡΡΠΎΠΉ Π΄ΡΡΠ³ΠΈΡ Π²Π΅ΡΠ΅ΠΉ, ΡΡΠΎΠ±Ρ Π² ΠΈΡΠΎΠ³Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ ΡΠΎΡ ΠΆΠ΅ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ.
ΠΠΎΡΡΠΎΠΌΡ Kubernetes β ΡΡΠΎ ΡΠ°ΠΊΠΎΠΉ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Ρ, Π²ΠΎΠΊΡΡΠ³ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΎΠ±ΡΠ°Π½ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ (ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°) ΠΌΠ°ΡΠΊΠΈ OpenShift, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈ Π²Π΅Π·Π΅Ρ Π²Π°Ρ ΠΊ ΡΠ΅Π»ΠΈ.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Ρ
ΠΎΡΠΈΠΌ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΈ ΡΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ:
- Kubernetes β ΡΡΠΎ ΡΠ΅ΡΠ΄ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ OpenShift Π ΡΡΠΎ Π½Π° 100% ΡΠ΅ΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Kubernetes, Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠΊΡΡΡΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ Π±Π΅Π· ΠΌΠ°Π»Π΅ΠΉΡΠ΅ΠΉ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΠΎΡΡΠΈ. ΠΠΊΡΠ°ΡΡΠ΅:
- API Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° OpenShift β ΡΡΠΎ ΡΡΠΎΠΏΡΠΎΡΠ΅Π½ΡΠ½ΡΠΉ Kubernetes.
- ΠΡΠ»ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Kubernetes, ΡΠΎ ΠΎΠ½ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ Π½Π° OpenShift. ΠΠ½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ.
- OpenShift Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅Ρ Kubernetes ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ. ΠΠ°ΠΊ ΠΈ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ, OpenShift ΡΡΠ°Π·Ρ ΠΆΠ΅ Π³ΠΎΡΠΎΠ² ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΡΡΠΊΠ°ΡΡ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½ ΠΈ, ΠΊΠ°ΠΊ ΠΌΡ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ Π½ΠΈΠΆΠ΅, ΠΎΠ½ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΆΠΈΠ·Π½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ OpenShift Π΅Π΄ΠΈΠ½ Π² Π΄Π²ΡΡ Π»ΠΈΡΠ°Ρ . ΠΡΠΎ ΠΈ ΡΡΠΏΠ΅ΡΠ½Π°Ρ, ΠΈ ΡΠΈΡΠΎΠΊΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½Π°Ρ PaaS-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π΅ΡΠ»ΠΈ ΡΠΌΠΎΡΡΠ΅ΡΡ Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°. Π ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎ ΡΡΠΏΠ΅ΡΠ½Π°Π΄Π΅ΠΆΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° Container-as-a-Service Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠΉ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ.
OpenShift β ΡΡΠΎ Kubernetes ΡΠΎ 100% ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ ΠΎΡ ΡΠΎΠ½Π΄Π° CNCF
Π ΠΎΡΠ½ΠΎΠ²Π΅ OpenShift Π»Π΅ΠΆΠΈΡ
ΠΡ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΡΠ»ΡΡΠ°Π»ΠΈ ΠΏΡΠΎ OpenShiftβΠΎΠ²ΡΠΊΡΡ ΡΡΠΈΠ»ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ OC. ΠΠ½Π° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠ° ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Ρ kubectl, ΠΏΠ»ΡΡ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ helperβΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ³ΠΎΠ΄ΡΡΡΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΡΠ΄Π° Π·Π°Π΄Π°Ρ. ΠΠΎ Π²Π½Π°ΡΠ°Π»Π΅ ΡΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ OC ΠΈ kubectl:
ΠΠΎΠΌΠ°Π½Π΄Ρ kubectl
ΠΠΎΠΌΠ°Π½Π΄Ρ OC
kubectl get pods
oc get pods
kubectl get namespaces
oc get namespaces
kubectl create -f deployment.yaml
oc create -f deployment.yaml
ΠΠΎΡ ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ kubectl Π½Π° OpenShift API:
β’ kubectl get pods β Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ podβΡ.
β’ kubectl get namespaces β Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½.
ΠΠΎΠΌΠ°Π½Π΄Π° kubectl create -f mydeployment.yaml ΡΠΎΠ·Π΄Π°Π΅Ρ kubernetes-ΡΠ΅ΡΡΡΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π½Π° ΠΈ Π½Π° Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ Kubernetes-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² Π²ΠΈΠ΄Π΅ΠΎ Π½ΠΈΠΆΠ΅:
ΠΠ½Π°ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, Π²ΡΠ΅ KubernetesβΠΎΠ²ΡΠΊΠΈΠ΅ API ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² OpenShift Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ 100% ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ
OpenShift Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅Ρ Kubernetes ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ
KubernetesβΠΎΠ²ΡΠΊΠΈΠ΅ API Π½Π° 100% Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² OpenShift, Π½ΠΎ Π²ΠΎΡ ΡΡΠ°ΡΠ½ΠΎΠΉ KubernetesβΠΎΠ²ΡΠΊΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΠ΅ kubectl ΡΠ²Π½ΠΎ Π½Π΅ Π΄ΠΎΡΡΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΠ΄ΠΎΠ±ΡΡΠ²Π°. ΠΠΎΡΡΠΎΠΌΡ Red Hat Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΠ» Kubernetes ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ OC (ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ OpenShift client) ΠΈ ODO (OpenShift DO, ΡΡΠ° ΡΡΠΈΠ»ΠΈΡΠ° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²).
1. Π£ΡΠΈΠ»ΠΈΡΠ° OC β Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡΠ½ΡΠΉ ΠΈ ΡΠ΄ΠΎΠ±Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Kubectl
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ kubectl, ΠΎΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ ΠΈ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΡΠ΄ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ² ΠΈ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΈΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² (Source-to-image, s2i).
ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ helperβΡ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΡΡΠΈΠ»ΠΈΡΡ OC ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΡΡ ΡΠ°Π±ΠΎΡΡ.
ΠΡΠΈΠΌΠ΅Ρ ΠΏΠ΅ΡΠ²ΡΠΉ β ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°ΠΌΠΈ ΠΈΠΌΠ΅Π½. Π ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ Kubernetes Π²ΡΠ΅Π³Π΄Π° Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½. ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄Π΅Π²Π΅Π»ΠΎΠΏΠ΅ΡΡΠΊΠΈΡ ΠΈ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΉ, Π½ΠΎ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΈ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ΄Π°Π²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΡ Β«ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΡΒ». ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΡΠ°ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°ΠΌΠΈ ΠΈΠΌΠ΅Π½, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ kubectl ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°. ΠΠΎΡΡΠΎΠΌΡ Π² ΡΠ»ΡΡΠ°Π΅ Ρ kubectl Π½Π°ΡΠΎΠ΄ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ helper-ΡΠΊΡΠΈΠΏΡΡ. Π Π²ΠΎΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ OC Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π° Π½ΡΠΆΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ βoc project ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ_ΠΈΠΌΠ΅Π½β.
ΠΠ΅ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΠΊΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π½ΡΠΆΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½? ΠΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΏΡΠΎΡΡΠΎ Π²Π²Π΅Π΄ΠΈΡΠ΅ βoc get projectsβ, ΡΡΠΎΠ±Ρ Π²ΡΠ²Π΅ΡΡΠΈ Π½Π° ΡΠΊΡΠ°Π½ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ. Π‘ΠΊΠ΅ΠΏΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅ΡΠ΅ΡΡ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠΌΡ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½ Π½Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅? ΠΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ kubectl Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ RBAC ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ Π²Π°ΠΌ Π²ΠΈΠ΄Π΅ΡΡ Π²ΡΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° Π½Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅, Π° Π² Π±ΠΎΠ»ΡΡΠΈΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°Ρ ΡΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΡ Π²ΡΠ΄Π°ΡΡ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π²ΡΠ΅ΠΌ. Π’Π°ΠΊ Π²ΠΎΡ, ΠΎΡΠ²Π΅ΡΠ°Π΅ΠΌ: Π΄Π»Ρ OC ΡΡΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΈ ΠΎΠ½Π° Π»Π΅Π³ΠΊΠΎ Π²ΡΠ΄Π°ΡΡ Π² ΡΠ°ΠΊΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ. ΠΠΎΡ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΠΌΠ΅Π»ΠΎΡΠ΅ΠΉ ΠΈ ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½Π°Ρ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ Openshift ΠΈ Ρ ΠΎΡΠΎΡΠ°Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ ΡΡΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π² ΠΏΠ»Π°Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
2. ODO β ΡΠ»ΡΡΡΠ΅Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ kubectl Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ Red Hat OpenShift ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Kubernetes ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΡΡΠΈΠ»ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ODO. ΠΠ½Π° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠΎ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ OpenShift. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Ρ Π΅Π΅ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ OpenShift Π±Π΅Π· ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π·Π°Π½ΠΎΠ²ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ±ΠΎΡΠΊΡ, ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ΅Π΅ΡΡΡΠ΅ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ².
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ OC ΠΈ ODO ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ ΠΈ Kubernetes.
ΠΡΠΎΡΡΠΎ ΡΡΠ°Π²Π½ΠΈΠΌ ΠΏΠ°ΡΠΎΡΠΊΡ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΡΡΡΠΎΡΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ kubectl, ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ OC ΠΈΠ»ΠΈ ODO.
β’ Π Π°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π° OpenShift Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ Π½Π΅ Π²Π»Π°Π΄Π΅Π΅Ρ ΡΠ·ΡΠΊΠΎΠΌ YAML:
Kubernetes / kubectl
$> git clone
1- Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Dockerfile, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ ΡΠ±ΠΎΡΠΊΡ ΠΎΠ±ΡΠ°Π·Π° ΠΈΠ· ΠΊΠΎΠ΄Π°
βββββ
FROM node
WORKDIR /usr/src/app
COPY package*.json ./
COPY index.js ./
COPY ./app ./app
RUN npm install
EXPOSE 3000
CMD [ βnpmβ, βstartβ ]
βββββ
2- ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΡΠ±ΠΎΡΠΊΡ ΠΎΠ±ΡΠ°Π·Π°
$> podman build β¦
3- ΠΠΎΠ³ΠΈΠ½ΠΈΠΌΡΡ Π² ΡΠ΅Π΅ΡΡΡ
podman login β¦
4- Π Π°Π·ΠΌΠ΅ΡΠ°Π΅ΠΌ ΠΎΠ±ΡΠ°Π· Π² ΡΠ΅Π΅ΡΡΡΠ΅
podman push
5- Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ yaml-ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (deployment.yaml, service.yaml, ingress.yaml) β ΡΡΠΎ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΉ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ
6- Π Π°Π·Π²Π΅ΡΡΡΠ²Π°Π΅ΠΌ manifest-ΡΠ°ΠΉΠ»Ρ:
Kubectl apply -f .
OpenShift / oc
$> oc new-app
OpenShift / odo
$> git clone
$> odo create component nodejs myapp
$> odo push
β’ ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°: ΡΠΌΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ ΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°.
Kubernetes / kubectl
1- Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π² kubeconfig Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° βmyprojectβ
2- kubectl set-context β¦
OpenShift / oc
oc project βmyprojectβ
ΠΠΎΠ½ΡΡΠΎΠ»Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°: Β«Π’ΡΡ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΎΠ΄Π½Π° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΠΎΠΊΠ° Π² Π°Π»ΡΡΠ°-Π²Π΅ΡΡΠΈΠΈ. ΠΠΎΠΆΠ΅Ρ Π²Π²Π΅Π΄Π΅ΠΌ Π΅Π΅ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½?Β»
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π²Π°Ρ ΡΡΠ°ΠΆΠΈΠ²Π°ΡΡ Π² Π³ΠΎΠ½ΠΎΡΠ½ΡΠΉ Π±ΠΎΠ»ΠΈΠ΄ ΠΈ Π³ΠΎΠ²ΠΎΡΡΡ: Β«ΠΡ ΡΡΡ ΠΏΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ ΡΠΎΡΠΌΠΎΠ·Π° Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΈ, ΡΠ΅ΡΡΠ½ΠΎ Π³ΠΎΠ²ΠΎΡΡ, Ρ Π½ΠΈΡ ΠΏΠΎΠΊΠ° Π½Π΅ Π²ΡΠ΅ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Ρ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡΡβ¦ ΠΠΎ ΡΡ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΆΠΈΠ²Π°ΠΉ, Π±ΡΠ΄Π΅ΠΌ ΠΈΡ Π°ΠΊΡΠΈΠ²Π½ΠΎ Π΄ΠΎΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΡΡΠΌΠΎ ΠΏΠΎ Ρ ΠΎΠ΄Ρ ΡΠ΅ΠΌΠΏΠΈΠΎΠ½Π°ΡΠ°Β». ΠΠ°ΠΊ Π²Π°ΠΌ ΡΠ°ΠΊΠ°Ρ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π°? ΠΠ°ΠΌ Π² Red Hat ΠΊΠ°ΠΊ-ΡΠΎ Π½Π΅ ΠΎΡΠ΅Π½Ρ. π
ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ ΡΡΠ°ΡΠ°Π΅ΠΌΡΡ Π²ΠΎΠ·Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΎΡ Π°Π»ΡΡΠ°-Π²Π΅ΡΡΠΈΠΉ Π΄ΠΎ ΡΠ΅Ρ
ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ Π² Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΠΌΠ΅ΡΠ΅ Π½Π΅ ΡΠΎΠ·ΡΠ΅ΡΡ, ΠΈ ΠΌΡ Π½Π΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅ΠΌ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π±ΠΎΠ΅Π²ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π½Π΅ ΠΏΠΎΡΡΠ²ΡΡΠ²ΡΠ΅ΠΌ, ΡΡΠΎ ΠΈΡ
ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΠ±ΡΡΠ½ΠΎ Ρ Π½Π°Ρ Π²ΡΡ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡ ΡΠ½Π°ΡΠ°Π»Π° ΡΠ΅ΡΠ΅Π· ΡΡΠ°Π΄ΠΈΡ Dev Preview, Π·Π°ΡΠ΅ΠΌ ΡΠ΅ΡΠ΅Π·
ΠΠΎΡΠ΅ΠΌΡ ΡΠ°ΠΊ? ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ, ΠΊΠ°ΠΊ ΠΈ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π»ΡΠ±ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠΎΡΡΠ°, Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π²ΡΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ Π·Π°Π΄ΡΠΌΠΊΠΈ Π² Kubernetes Π΄ΠΎΡ ΠΎΠ΄ΡΡ Π΄ΠΎ ΡΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π»ΠΈΠ·Π°. ΠΠ»ΠΈ Π΄ΠΎΡ ΠΎΠ΄ΡΡ, ΠΈ Π΄Π°ΠΆΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π·Π°Π΄ΡΠΌΠ°Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, Π½ΠΎ ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠ°ΡΠ΄ΠΈΠ½Π°Π»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠΎΠΉ, ΡΡΠΎ Π±ΡΠ»Π° Π² Π°Π»ΡΡΠ°-Π²Π΅ΡΡΠΈΠΈ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΡΡΡΠΈ ΠΈ ΡΡΡΡΡΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² Red Hat ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ OpenShift Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΡΡ Π·Π°Π΄Π°Ρ, ΠΌΡ Π΄Π΅Π»Π°Π΅ΠΌ ΠΎΡΠΎΠ±ΡΠΉ ΡΠΏΠΎΡ Π½Π° ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ Π½Π°ΡΠ΅ΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈ Π½Π° Π΄ΠΎΠ»Π³ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅.
Red Hat ΡΠ΅Π»Π΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎ Π²ΡΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ°ΡΡΡΠ΅ ΡΠ΅Π»ΠΈΠ·Ρ OpenShift ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ Π²Ρ ΠΎΠ΄ΡΡΡΡ Π² Π΅Π΅ ΡΠΎΡΡΠ°Π² Π²Π΅ΡΡΠΈΡ Kubernetes. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ΅ΠΊΡΡΠΈΠΉ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ GA-ΡΠ΅Π»ΠΈΠ· OpenShift 4.3 Π²ΡΡΡΠΎΠ΅Π½ Kubernetes 1.16, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ΅Π³ΠΎ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΠΊΡ ΠΎΡΡΡΠ°Π΅Ρ ΠΎΡ upstream-Π²Π΅ΡΡΠΈΠΈ Kubernetes Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ 1.17. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΡ ΡΡΠ°ΡΠ°Π΅ΠΌΡΡ Π΄Π°ΡΡ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΡ Kubernetes ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΡΡΠΊΠ° Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΠΉ OpenShift.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ: Β«Π ΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Kubernetes, ΠΊΠΎΡΠΎΡΠ°Ρ Ρ Π½Π°Ρ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½, Π½Π°ΡΠ»Π°ΡΡ Π΄ΡΡΠ°. Π Π·Π°ΠΊΡΡΡΡ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ Π½Π° ΡΡΠΈ Π²Π΅ΡΡΠΈΠΈ Π²Π²Π΅ΡΡ . ΠΠ»ΠΈ Π΅ΡΡΡ Π²Π°ΡΠΈΠ°Π½ΡΡ?Β»
Π ΡΠ°ΠΌΠΊΠ°Ρ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Kubernetes ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ Π²ΡΡ ΠΎΠ΄ΡΡ Π² ΡΠΎΡΡΠ°Π²Π΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠ΅Π»ΠΈΠ·Π°, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΎΡ Π²Π°ΡΡΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π΄Π²Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΡΠ΅Π»ΠΈΠ·Π°, ΡΡΠΎ Π΄Π°Π΅Ρ ΠΎΡ Π²Π°Ρ Π²ΡΠ΅Π³ΠΎ Π½Π° 6 ΠΌΠ΅ΡΡΡΠ΅Π² Π½Π°Π·Π°Π΄.
Red Hat ΠΏΠΎ ΠΏΡΠ°Π²Ρ Π³ΠΎΡΠ΄ΠΈΡΡΡ ΡΠ΅ΠΌ, ΡΡΠΎ Π²ΡΠΏΡΡΠΊΠ°Π΅Ρ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°Π½ΡΡΠ΅ Π΄ΡΡΠ³ΠΈΡ
ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΡ Π½Π° Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠΈΠΉ ΡΡΠΎΠΊ. ΠΠΎΠ·ΡΠΌΠ΅ΠΌ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Ρ ΡΡΠΊΠ°Π»Π°ΡΠΈΠ΅ΠΉ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ Π² Kubernetes (
Π ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ,
ΠΠ°ΠΊ OpenShift ΠΈ Red Hat Π΄Π²ΠΈΠ³Π°ΡΡ Π²ΠΏΠ΅ΡΠ΅Π΄ Kubernetes
Red Hat Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π²ΡΠΎΡΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΊΠ»Π°Π΄Π° Π² ΠΎΡΠΊΡΡΡΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Kubernetes, ΡΡΡΡΠΏΠ°Ρ Π·Π΄Π΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Google, ΠΏΡΠΈΡΠ΅ΠΌ 3 ΠΈΠ· 5 ΡΠ°ΠΌΡΡ ΠΏΠ»ΠΎΠ΄ΠΎΠ²ΠΈΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠ²Π»ΡΡΡΡΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°ΠΌΠΈ Red Hat. ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΌΠ°Π»ΠΎΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΡΠ°ΠΊΡ: ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ Π² Kubernetes ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΈΠ²Π΅ Red Hat, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ:
- RBAC. Π Kubernetes Π½Π΅ Π±ΡΠ»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ RBAC (ClusterRole, ClusterRoleBinding) Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡ Red Hat Π½Π΅ ΡΠ΅ΡΠΈΠ»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π² ΡΠΎΡΡΠ°Π²Π΅ ΡΠ°ΠΌΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, Π° Π½Π΅ ΠΊΠ°ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» OpenShift. ΠΠ΅ Π±ΠΎΠΈΡΡΡ Π»ΠΈ Red Hat ΡΠ»ΡΡΡΠ°ΡΡ Kubernetes? ΠΠΎΠ½Π΅ΡΠ½ΠΎ Π½Π΅Ρ, Π²Π΅Π΄Ρ Red Hat ΡΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°ΠΌ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π° Π½Π΅ ΠΈΠ³ΡΠ°Π΅Ρ Π² ΠΈΠ³ΡΡ Open Core. Π£Π»ΡΡΡΠ΅Π½ΠΈΡ ΠΈ Π½ΠΎΠ²ΡΠ΅ΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π° Π½Π΅ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΠΎΡΡΠΈ, ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΆΠΈΠ·Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π½ΡΠΌΠΈ ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΎΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅, ΡΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠΎΠ³Π»Π°ΡΡΠ΅ΡΡΡ Ρ Π½Π°ΡΠ΅ΠΉ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠ΅Π»ΡΡ β ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎΡΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ Π΄Π»Ρ Π½Π°ΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ².
- ΠΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ podβΠΎΠ² (Pod Security Policies). ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΡΠ° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²Π½ΡΡΡΠΈ podβΠΎΠ² Π±ΡΠ»Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² OpenShift ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ SCC (Security Context Constraints). Π ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, Red Hat ΡΠ΅ΡΠΈΠ»Π° Π²Π²Π΅ΡΡΠΈ ΡΡΠΈ Π½Π°ΡΠ°Π±ΠΎΡΠΊΠΈ Π² ΡΠΎΡΡΠ°Π² ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Kubernetes, ΡΡΠΎΠ±Ρ ΠΈΠΌΠΈ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²ΡΠ΅ ΠΆΠ΅Π»Π°ΡΡΠΈΠ΅.
ΠΡΠΎΡ ΡΡΠ΄ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ, Π½ΠΎ ΠΌΡ Π»ΠΈΡΡ Ρ ΠΎΡΠ΅Π»ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Red Hat ΡΠ΅Π°Π»ΡΠ½ΠΎ ΡΡΡΠ΅ΠΌΠΈΡΡΡ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡ Kubernetes ΠΈ Π΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ Π»ΡΡΡΠ΅ Π΄Π»Ρ Π²ΡΠ΅Ρ .
ΠΠΎΠ½ΡΡΠ½ΠΎ, OpenShift β ΡΡΠΎ Kubernetes. Π ΡΠ°Π·Π»ΠΈΡΠΈΡ-ΡΠΎ Π² ΡΡΠΌ? π
ΠΠ°Π΄Π΅Π΅ΠΌΡΡ, ΡΡΠΎ, Π΄ΠΎΡΠΈΡΠ°Π² Π΄ΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°, Π²Ρ ΡΡΡΠ½ΠΈΠ»ΠΈ, ΡΡΠΎ Kubernetes βΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ OpenShift. ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ, Π½ΠΎ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ. ΠΠ½Π°ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΠΏΡΠΎΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² Kubernetes, Π²Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠ°ΠΌ Π½Π°Π΄ΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΡΠ΅ΡΡ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΆΡΡΠ½Π°Π»Π°ΠΌΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π΅Π»Π΅Π³ΠΊΠΈΠΉ Π²ΡΠ±ΠΎΡ ΠΈΠ· Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² (ΡΡΠΎΠ±Ρ ΠΎΡΠ΅Π½ΠΈΡΡ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠ΅ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΡΠΎΡΡΠΎ Π³Π»ΡΠ½ΡΡΠ΅
Π Π²ΠΎΡ Π² ΡΠ»ΡΡΠ°Π΅ Ρ OpenShift ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Red Hat Π±Π΅ΡΠ΅Ρ Π²ΡΠ΅ ΡΡΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π° ΡΠ΅Π±Ρ ΠΈ ΠΏΡΠΎΡΡΠΎ Π΄Π°Π΅Ρ Π²Π°ΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΠΊΡΠ΄Π° Π²Ρ ΠΎΠ΄ΠΈΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌ Kubernetes, Π½ΠΎ ΠΈ Π²Π΅ΡΡ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΡΠ΅Π²ΡΠ°ΡΠ°ΡΡΠΈΡ Kubernetes Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΈ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½. Π ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΡΠ²ΠΎΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ΅ΠΊΠΈ, ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΡΡΠΎΠΈΡΡ OpenShift Π² ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΠ΅ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΠ·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° ΡΠΈΡΡΠ½ΠΎΠΊ Π²ΡΡΠ΅: Π²ΡΡ, ΡΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²Π½Π΅ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Kubernetes, β ΡΡΠΎ ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ, Π³Π΄Π΅ Red Hat Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π», ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π² Kubernetes Π½Π΅Ρ, ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ, by-design. Π ΡΠ΅ΠΉΡΠ°Ρ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΈΠ· ΡΡΠΈΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ.
1. ΠΠ°Π΄Π΅ΠΆΠ½Π°Ρ ΠΠ‘ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Ρ: RHEL CoreOS ΠΈΠ»ΠΈ RHEL
Red Hat ΡΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ 20 Π»Π΅Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π΅Π΄ΡΡΠΈΠΌ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΎΠΌ Linux-Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² Π΄Π»Ρ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΡΡ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ°ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ ΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌΡΠΉ Π² ΡΡΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΎΠΏΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ ΠΏΠΎ-Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ Π½Π°Π΄Π΅ΠΆΠ½ΡΡ ΠΈ Π΄ΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΡ ΠΎΡΠ½ΠΎΠ²Ρ Π΄Π»Ρ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠΉ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ². RHEL CoreOS ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎ ΠΆΠ΅ ΡΠ΄ΡΠΎ, ΡΡΠΎ ΠΈ RHEL, Π½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π° ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ Π·Π°Π΄Π°Ρ, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΈ ΡΠ°Π±ΠΎΡΠ° Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ°Ρ Kubernetes: Π΅Π΅ ΡΠΌΠ΅Π½ΡΡΠ΅Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ Π½Π΅ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Π½ΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌ (immutability) ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ², Π°Π²ΡΠΎΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΈ Ρ. Π΄. ΠΡΠ΅ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π΅Π»Π°ΡΡ Π΅Π΅ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎΠΉ ΠΎΡΠ½ΠΎΠ²ΠΎΠΉ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΎΠΏΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ OpenShift Π² ΡΠ°ΠΌΡΡ ΡΠ°Π·Π½ΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄Π°Ρ , ΠΎΡ Β«Π³ΠΎΠ»ΠΎΠ³ΠΎ ΠΆΠ΅Π»Π΅Π·Π°Β» Π΄ΠΎ ΡΠ°ΡΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π»Π°ΠΊΠ°.
2. ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΠΠ’-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π²ΡΠΎΡΠΎΠ³ΠΎ Π΄Π½Ρ (ΡΠΎ Π΅ΡΡΡ ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΠΎΠΉ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ) β ΡΡΠΎ ΠΊΠΎΠ½Π΅ΠΊ OpenShift, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π½Π° Π²ΡΡΠΎΡΠ°ΠΉΡΠ΅ΠΌ ΡΡΠΎΠ²Π½Π΅. ΠΡΠΎ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Π·Π° ΡΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Kubernetes-ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΄ΡΠ° OpenShift 4.
OpenShift 4 β ΡΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈ ΡΠ΅Π»Π°Ρ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Kubernetes-ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ
ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΎΠΉ Red Hat, ΡΠ°ΠΊ ΠΈ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌΠΈ ΠΏΠ°ΡΡΠ½Π΅ΡΠ°ΠΌΠΈ (ΡΠΌ.
Π ΡΠΎΡΡΠ°Π² ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° OpenShift 4 Π²Ρ
ΠΎΠ΄ΠΈΡ Π±ΠΎΠ»Π΅Π΅ 180 Kubernetes-ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ²
3. ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²
ΠΠ°ΡΠΈΠ½Π°Ρ Ρ 2011 Π³ΠΎΠ΄Π°, OpenShift Π΄ΠΎΡΡΡΠΏΠ½Π° Π² Π²ΠΈΠ΄Π΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ PaaS (Platform-as-a-Service), ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΆΠΈΠ·Π½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ, ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΈΠΌ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡΡΡ Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ°ΠΊΠΈΡ
ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠ°ΠΊ Java, Node.js, PHP, Ruby, Python, Go, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΈ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ CI/CD, Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΈ Ρ. ΠΏ. OpenShift 4 ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Kubernetes, Π² OpenShift 4 Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ (
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, OpenShift ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Codeready, ΠΊΡΠ΄Π°, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π²Ρ
ΠΎΠ΄ΠΈΡ
ΠΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Β«IDE ΠΊΠ°ΠΊ ΡΠ΅ΡΠ²ΠΈΡΒ» Π΄Π»Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Kubernetes/OpenShift
ΠΡΡΠΌΠΎ ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ OpenShift ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ CI/CD, Π»ΠΈΠ±ΠΎ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Jenkins ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π°
4. ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
OpenShift ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅ stateful-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°ΠΊ ΠΈ ΠΎΠ±Π»Π°ΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° Π±Π°Π·Π΅ Π½ΠΎΠ²ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ, Π²ΡΠΎΠ΄Π΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈΠ»ΠΈ serverless. Π Π΅ΡΠ΅Π½ΠΈΠ΅ OpenShift Service Mesh ΠΏΡΡΠΌΠΎ ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ Π΄Π»Ρ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΊΠ°ΠΊ Istio, Kiali ΠΈ Jaeger. Π ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ OpenShift Serverless Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Knative, Π½ΠΎ ΠΈ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ Ρ Microsoft ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΈΠ²Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π²ΡΠΎΠ΄Π΅ Keda Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Azure Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ OpenShift.
ΠΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ OpenShift ServiceMesh (Istio, Kiali, Jaeger) ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ²
Π§ΡΠΎΠ±Ρ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΡΠ°Π·ΡΡΠ² ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ, OpenShift ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ OpenShift Ρ ΠΏΠΎΠΌΠΎΡΡΡ Container Native Virtualization (ΠΏΠΎΠΊΠ° Π² Π²Π΅ΡΡΠΈΠΈ Π² TechPreview), ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Ρ Π³ΠΈΠ±ΡΠΈΠ΄Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΠΎΠ±Π»Π΅Π³ΡΠ°Ρ ΠΈΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΎΠ±Π»Π°ΠΊΠ°, ΠΊΠ°ΠΊ ΡΠ°ΡΡΠ½ΡΠΌΠΈ, ΡΠ°ΠΊ ΠΈ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΌΠΈ.
ΠΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° Windows 2019 Virtual, Π·Π°ΠΏΡΡΠ΅Π½Π½Π°Ρ Π½Π° OpenShift ΡΠ΅ΡΠ΅Π· Container Native Virtualization (ΠΏΠΎΠΊΠ° Π² Π²Π΅ΡΡΠΈΠΈ Tech preview)
5. ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ²
Π£ Π»ΡΠ±ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π²Π΅Π΄Π΅Π½ΠΈΡ Π»ΠΎΠ³ΠΎΠ², ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ, ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. Π OpenShift ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΡ ΡΡΠΎ ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ, ΠΏΡΠΈΡΠ΅ΠΌ Π²ΡΡ ΡΡΠΎ Π½Π° 100% ΠΎΡΠΊΡΡΡΡΠΉ ΠΊΠΎΠ΄, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ°ΠΊΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ ElasticSearch, Prometheus, Grafana. ΠΡΠ΅ ΡΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΠ΄ΡΡ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ΅ Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠΌΠΈ ΠΏΠ°Π½Π΅Π»ΡΠΌΠΈ, ΠΌΠ΅ΡΡΠΈΠΊΠ°ΠΌΠΈ ΠΈ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΆΠ΅ ΡΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Π°Π½Ρ ΠΈ Π½Π°ΡΡΡΠΎΠ΅Π½Ρ Ρ ΡΡΠ΅ΡΠΎΠΌ ΠΎΠ±ΡΠΈΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΡΠ° Red Hat Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ², ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Ρ ΠΏΠ΅ΡΠ²ΡΡ ΠΆΠ΅ ΠΌΠΈΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½-ΡΡΠ΅Π΄Ρ.
Π OpenShift ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ°ΡΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°ΠΊΠΈΠ΅ Π²Π°ΠΆΠ½ΡΠ΅ Π΄Π»Ρ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠ° Π²Π΅ΡΠΈ, ΠΊΠ°ΠΊ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠΌ oauth, ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°ΠΌΠΈ ΡΡΠ΅ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ , Π²ΠΊΠ»ΡΡΠ°Ρ LDAP, ActiveDirectory, OpenID Connect, ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅.
ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΠΏΠ°Π½Π΅Π»Ρ Grafana Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠ° OpenShift
ΠΠΎΠ»Π΅Π΅ 150 ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΡ
ΠΌΠ΅ΡΡΠΈΠΊ ΠΈ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠΉ Prometheus Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠ° OpenShift
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ
ΠΠΎΠ³Π°ΡΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠΈΡΠ½ΡΠΉ ΠΎΠΏΡΡ Red Hat Π² ΠΎΠ±Π»Π°ΡΡΠΈ Kubernetes β ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ ΡΡΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ OpenShift Π·Π°Π½ΡΠ» Π΄ΠΎΠΌΠΈΠ½ΠΈΡΡΡΡΠ΅Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ½ΠΊΠ΅, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ Π½ΠΈΠΆΠ΅ (ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅
Β«ΠΠ° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Red Hat Π»ΠΈΠ΄ΠΈΡΡΠ΅Ρ Π½Π° ΡΡΠ½ΠΊΠ΅ Ρ Π΄ΠΎΠ»Π΅ΠΉ Π² 44 %.
ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΏΠΎΠΆΠΈΠ½Π°Π΅Ρ ΠΏΠ»ΠΎΠ΄Ρ ΡΠ²ΠΎΠ΅ΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΏΡΠΎΠ΄Π°ΠΆ Ρ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ ΡΡΠ°ΡΡΠΈΠ΅ΠΌ Π² Π΄Π΅Π»Π°Ρ
ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½Π° Π²Π½Π°ΡΠ°Π»Π΅ ΠΊΠΎΠ½ΡΡΠ»ΡΡΠΈΡΡΠ΅Ρ ΠΈ ΠΎΠ±ΡΡΠ°Π΅Ρ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡ ΠΊ ΠΌΠΎΠ½Π΅ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π²Π½Π΅Π΄ΡΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½Β».
(ΠΡΡΠΎΡΠ½ΠΈΠΊ:
ΠΠ°Π΄Π΅Π΅ΠΌΡΡ, Π²Π°ΠΌ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»Π°ΡΡ ΡΡΠ° ΡΡΠ°ΡΡΡ. Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΠΏΠΎΡΡΠ°Ρ
ΠΈΠ· ΡΡΠΎΠΉ ΡΠ΅ΡΠΈΠΈ ΠΌΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠΌΡΡ Π½Π° ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° OpenShift ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Kubernetes Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΡ
Π·Π΄Π΅ΡΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com