redhat:openshift-redhat:openshift-labs:skalieren-openshift

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
redhat:openshift-redhat:openshift-labs:skalieren-openshift [2018/07/11 15:27] – created michaelredhat:openshift-redhat:openshift-labs:skalieren-openshift [2018/07/11 16:23] (current) – [Aufgabe: LAB5.1 skalieren der Beispiel Applikation] michael
Line 1: Line 1:
 ====== Lab 5: Pod Scaling, Readiness Probe und Self Healing ====== ====== Lab 5: Pod Scaling, Readiness Probe und Self Healing ======
  
-In diesem Lab wird aufgezeigt, wie man Applikationen in OpenShift skaliert. Des Weiteren wird angeschaut, wie OpenShift dafür sorgt, dass jeweils die Anzahl erwarteter Pods gestartet wird und wie schlussendlich eine Applikation der Plattform zurückmelden kann, dass sie bereit für Requests ist.+{{fa>graduation-cap}} In diesem Lab wird aufgezeigt, wie man Applikationen in OpenShift skaliert. Des Weiteren wird angeschaut, wie OpenShift dafür sorgt, dass jeweils die Anzahl erwarteter Pods gestartet wird und wie schlussendlich eine Applikation der Plattform zurückmelden kann, dass sie bereit für Requests ist.
  
 +<WRAP center box 100%>
 ===== Vorbereiten der Beispiels Applikation für die Skalierung ===== ===== Vorbereiten der Beispiels Applikation für die Skalierung =====
 +''<wrap em>Bevor wir hier mit den Lab Aufgaben beginnen können, braucht es zufror noch eine kleine Vorarbeit.</wrap>''
 +
 +  - ''Als erstes wird ein neues Projekt erstellt:'' <code> # oc new-project [MEINNAME]-scale</code>
 +  - ''Anschliessend fügen wir dem Projekt eine Applikation hinzu:'' <code> # oc new-app appuio/example-php-docker-helloworld --name=appuio-php-docker </code>
 +  - ''Zum Schluss stellen wir den Service zur Verfügung:'' (expose) <code># oc expose service appuio-php-docker</code>
 +
 +Wenn wir nun unsere Beispiels Applikation skalieren wollen, müssen wir unserem ReplicationController (rc) mitteilen, dass wir stets **drei Replicas** des Images am Laufen haben wollen.
 +
 +Schauen wir uns mal den ''ReplicationController (rc)'' etwas genauer an:
  
-Dafür erstellen wir als erstes ein neues Projekt: 
 <code> <code>
-# oc new-project [MEINNAME]-scale+# oc get rc
 </code> </code>
 +<sxh plain; gutter: false;>
 +NAME                  DESIRED   CURRENT   AGE
 +appuio-php-docker-1                   33s
 +</sxh>
  
-anschliessend fügen dem Projekt eine Applikation hinzu:+''Für mehr Details:''
 <code> <code>
-# oc new-app appuio/example-php-docker-helloworld --name=appuio-php-docker+# oc get rc appuio-php-docker--o json
 </code> </code>
-zum Schluss stellen wir den Service zur Verfügung: (expose) 
  
 +{{fa>exclamation}} //<wrap em>Der rc sagt uns, wie viele Pods wir erwarten (DESIRED) und wie viele aktuell deployt sind (CURRENT).</wrap>//
 +
 +</WRAP>
 +
 +
 +----
 +
 +===== Aufgabe: LAB5.1 skalieren der Beispiel Applikation =====
 +
 +Nun skalieren wir unsere Beispiels Applikation auf 3 Replicas:
 <code> <code>
-# oc expose service appuio-php-docker+# oc scale --replicas=3 dc appuio-php-docker
 </code> </code>
  
-Wenn wir nun unsere beispiels Applikation skalieren wollen, müssen wir unserem ReplicationController (rc) mitteilen, dass wir stets 3 Replicas des Images am Laufen haben wollen. 
- 
-Schauen wir uns jedoch zuvor mal den ReplicationController (rc) etwas genauer an: 
  
 <WRAP center box 100%> <WRAP center box 100%>
 +''Anschliessend überprüfen wir die Anzahl Replicas auf dem ReplicationController:''
 <code> <code>
 # oc get rc # oc get rc
 </code> </code>
 +
 <sxh plain; gutter: false;> <sxh plain; gutter: false;>
 NAME                  DESIRED   CURRENT   AGE NAME                  DESIRED   CURRENT   AGE
-appuio-php-docker-1                   33s+appuio-php-docker-1                   1m
 </sxh> </sxh>
 </WRAP> </WRAP>
  
-Für mehr Details: 
  
 +<WRAP center box 100%>
 +''und zeigen entsprechend die Pods an:''
 <code> <code>
-# oc get rc appuio-php-docker-1 -o json+# oc get pods
 </code> </code>
-Der rc sagt uns, wieviele Pods wir erwarten (spec) und wieviele aktuell deployt sind (status). 
  
 +<sxh plain; gutter: false;>
 +NAME                        READY     STATUS    RESTARTS   AGE
 +appuio-php-docker-1-2uc89   1/      Running            21s
 +appuio-php-docker-1-evcre   1/      Running            21s
 +appuio-php-docker-1-tolpx   1/      Running            2m
 +</sxh>
 +</WRAP>
  
  
-===== AufgabeLAB5.1 skalieren der Beispiel Applikation =====+<WRAP center box 100%> 
 +''Zum Schluss schauen wir uns den Service an. Der sollte jetzt alle drei Endpoints referenzieren:'' 
 +<code> 
 +# oc describe svc appuio-php-docker 
 +</code> 
 + 
 +<sxh plain; gutter: false;> 
 +Name: appuio-php-docker 
 +Namespace: techlab-scale 
 +Labels: app=appuio-php-docker 
 +Selector: app=appuio-php-docker,deploymentconfig=appuio-php-docker 
 +Type: ClusterIP 
 +IP: 172.30.166.88 
 +Port: 8080-tcp 8080/TCP 
 +Endpoints: 10.1.3.23:8080,10.1.4.13:8080,10.1.5.15:8080 
 +Session Affinity: None 
 +No events. 
 +</sxh> 
 +</WRAP> 
 + 
 + 
 +Skalieren von Pods innerhalb eines Services ist sehr schnell, da OpenShift einfach eine neue Instanz des Docker Images als Container startet. 
 + 
 +{{fa>exclamation}} **Tipp:** OpenShift v3 unterstützt auch Autoscaling, die Dokumentation dazu ist unter dem folgenden Link zu finden: https://docs.openshift.com/container-platform/3.9/dev_guide/pod_autoscaling.html 
 + 
 +---- 
  
  • redhat/openshift-redhat/openshift-labs/skalieren-openshift.1531315658.txt.gz
  • Last modified: 2018/07/11 15:27
  • by michael