Changes

Openshift basics

297 bytes added, 21:31, 26 July 2019
Belépés az openshfit registriy-be
A Dokcerfile és az abban hivatkozott összes további fájl lehet az anyagépen.
<br>
===Belépés az openshfit registriy-be===
Ahogy azt már korábban írtuk, át fogjuk irányítani a host gépen futó docker klienst, hogy a minisfhit VM-en futó docker démonhoz kapcsolódjon, így a lokálisan kiadott docker parancsok mind a minishift VM-en futó docker-en fognak végrehajtódni.
Lépjünk be az '''oc login'''-al az OpenShift-be. Fontos hogy ne a system hanem a '''developer''' felhasználóval lépjünk be, mert csak neki lesz push joga.
{{note|Ha így lépünk be nem jó: '''oc login -u system:admin'', mert nem keletkezik token.}}
<pre>
myproject
</pre>
<br>
Ellenőrizzük, hogy kaptunk e tokent. Ezt az '''oc whoami''' parancs '''-t''' (token) kapcsolójával lehet megtenni. Ha itt nem látjuk a toke-nt akkor dolgozni kell még a belépésen.
</pre>
<br>
A minishift -nek a '''openshift registry''' parancsával kérhetjük le a docker registry címét.
<pre>
A '''docker login''' paranccsal léphetünk be a minishift registriy-be. Ha ezt lokálisan kiadjuk, akkor már a minishit VM-en fog futni így el fogjuk érni a '''172.30.1.1:5000''' címen a repository-t (Az átirányítás A docker kliens átirányítása nélkül nem érnénk el a lokális gépről ezt a címet). Tehát ezzel a minisfhit VM-en futó docker démon csatlakozik a minisfhit repository-ba, nem az anyagépen futó dockerdémon.
<pre>
# docker login -u developer -p $(oc whoami -t) $(minishift openshift registry)
<br>===docker build és push===
Az openshfit-be szánt image-nek a neve az alábbi szintaxist kell kövesse:
<registry-host>:<port>/<névtér>/<image-név>:<tag>
</pre>
<br>
Nem maradt más dolgunk, mint hogy a '''docker push''' paranccsal felküldjük az image-t az opensfhit repository-ba. A nevéből fogja tudni a '''docker push''' hogy melyik repository-ba kell küldeni és ott melyik névtérbe.
 //Listázzuk az A minishift registry-ben úgynevezett imageScream-ek vannak. A frissen push-olt '''test-api''' image-hez is létrejött egy imageScream. Az oc paranccsal listázhatjuk a imageScream-eket a mynamespace névtérben. :
<pre>
# oc get is -n mynamespace
<br>
===Teszt alkalmazás futtatása===
 
<pre>
# kubectl run test-app --image=172.30.1.1:5000/mynamespace/test-app:1.1.0 --replicas=1 --port=8080 -n mynamespace
</pre>
 
<pre>
# kubectl get deployment -n mynamespace
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
..
test-app 1 1 1 1 2m
</pre>
 
<pre>
# kubectl expose deployment test-app --type=LoadBalancer --name=test-app-service -n mynamespace
service/test-app-service exposed
</pre>
 
<pre>
# kubectl get svc -n mynamespace
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
...
test-app-service LoadBalancer 172.30.254.3 172.29.192.241,172.29.192.241 8080:30534/TCP 2m
</pre>
 
http://192.168.42.185:30534/test/slowresponse/2000
:[[File:ClipCapIt-190725-235129.PNG]]