Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
redhat:openshift-redhat:start [2018/07/17 16:42] – michael | redhat:openshift-redhat:start [2020/12/10 13:54] (current) – michael | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Red Hat OpenShift | + | ====== Red Hat OpenShift |
**OpenShift v3** basiert auf modernen Open Source Konzepten wie **Docker** und **Kubernetes** und bietet damit eine Plattform, mit der Software in Containern gebuildet, deployt und betrieben werden kann. OpenShift V3 kann als Container Platform oder Platform as a Service (PaaS) bezeichnet werden. | **OpenShift v3** basiert auf modernen Open Source Konzepten wie **Docker** und **Kubernetes** und bietet damit eine Plattform, mit der Software in Containern gebuildet, deployt und betrieben werden kann. OpenShift V3 kann als Container Platform oder Platform as a Service (PaaS) bezeichnet werden. | ||
- | {{: | + | {{: |
**Kubernetes; | **Kubernetes; | ||
- | ===== Grundlagen und Bestandteile von OpenShift ===== | ||
- | Die Basiselemente | + | <panel type=" |
+ | | [[redhat: | ||
+ | | [[redhat: | ||
+ | | [[redhat: | ||
+ | | [[redhat: | ||
+ | </ | ||
- | Docker Container basieren auf Docker Images. Ein Docker Image ist eine binary Datei, die alle nötigen Komponenten beinhaltet, damit ein einzelner Container ausgeführt werden kann. | ||
- | Docker Images werden anhand von DockerFiles (textueller Beschrieb wie das Docker Image Schritt für Schritt aufgebaut ist) gebuildet. Grundsätzlich sind Docker Images hierarchisch angewendete Filesystem Snapshots. | ||
- | |||
- | <WRAP center round box 100%> | ||
- | **Beispiel Tomcat** | ||
- | |||
- | * Basis Image (CentOs 7) | ||
- | * Install Java | ||
- | * Install Tomcat | ||
- | * Install App | ||
- | </ | ||
- | |||
- | Die gebuildeten Docker Images werden in der OpenShift internen Docker Registry versioniert abgelegt und stehen der Plattform nach dem Build zum Deployment auf den Nodes zur Verfügung. | ||
- | |||
- | {{: | ||
- | |||
- | '' | ||
- | |||
- | |||
- | <WRAP center box 100%> | ||
- | ==== Projekte ==== | ||
- | |||
- | In OpenShift V3 werden Ressourcen (// | ||
- | |||
- | Innerhalb eines Projekts können berechtigte User ihre Ressourcen selber verwalten und organisieren. | ||
- | |||
- | Die Ressourcen innerhalb eines Projektes sind über ein transparentes [[https:// | ||
- | </ | ||
- | |||
- | |||
- | |||
- | <WRAP center box 100%> | ||
- | ==== Pods ==== | ||
- | |||
- | OpenShift übernimmt das Konzept der Pods von Kubernetes. | ||
- | |||
- | Ein Pod ist ein oder mehrere Container, die zusammen auf den gleichen Host deployed werden. Ein Pod ist die kleinste zu deployende Einheit auf OpenShift. | ||
- | |||
- | Ein Pod ist innerhalb eines OpenShift Projektes über den entsprechenden Service verfügbar. | ||
- | </ | ||
- | |||
- | |||
- | |||
- | <WRAP center box 100%> | ||
- | ==== Services ==== | ||
- | |||
- | Ein Service repräsentiert einen internen Loadbalancer auf die dahinterliegenden Pods (Replicas vom gleichen Typ). Der Service dient als Proxy zu den Pods und leitet Anfragen an diese weiter. So können Pods willkürlich einem Service hinzugefügt und entfernt werden, während der Service verfügbar bleibt. | ||
- | |||
- | Einem Service ist innerhalb eines Projektes eine IP und ein Port zugewiesen und verteilt Requests entsprechend auf die Pod Replicas. | ||
- | </ | ||
- | |||
- | |||
- | |||
- | <WRAP center box 100%> | ||
- | ==== Routen ==== | ||
- | |||
- | Mit einer Route definiert man in OpenShift, wie ein Service von ausserhalb von OpenShift von externen Clients erreicht werden kann. | ||
- | |||
- | Diese Routen werden im integrierten Routing Layer eingetragen und erlauben dann der Plattform über ein Hostname-Mapping die Requests an den entsprechenden Service weiterzuleiten. | ||
- | |||
- | Sind mehr als ein Pod für einen Service deployt, verteilt der Routing Layer die Requests auf die deployten Pods | ||
- | |||
- | Aktuell werden folgende Protokolle unterstützt: | ||
- | |||
- | * HTTP | ||
- | * HTTPS ([[https:// | ||
- | * WebSockets | ||
- | * TLS mit [[https:// | ||
- | </ | ||
- | |||
- | |||
- | <WRAP center box 100%> | ||
- | ==== Templates ==== | ||
- | |||
- | Ein Template beschreibt textuell eine Liste von Ressourcen, die auf OpenShift ausgeführt und entsprechend in OpenShift erstellt werden können. | ||
- | |||
- | So hat man die Möglichkeit ganze Infrastrukturen zu beschreiben: | ||
- | |||
- | * Java Applikation Service (3 Replicas, rolling Upgrade) | ||
- | * Datenbank Service | ||
- | * über Route https:// | ||
- | </ | ||
- | |||
- | |||
- | ---- | ||
- | |||
- | ===== OpenShift Lab für einen schnellen Einstieg ===== | ||
- | |||
- | ''< | ||
- | |||
- | Falls aktuell noch keine zur Verfügung steht, kann '' | ||
- | |||
- | <WRAP center round important 100%> | ||
- | **OpenShift Labs:** | ||
- | |||
- | - '' | ||
- | - '' | ||
- | - '' | ||
- | - '' | ||
- | - '' | ||
- | - '' | ||
- | - Datenbank deployen und anbinden | ||
- | - Code Änderungen via Webhook direkt integrieren | ||
- | - Persistent Storage anbinden und verwenden für Datenbank | ||
- | - Applikationstemplates | ||
- | - Eigene Templates erstellen | ||
- | </ | ||
- | |||
- | <WRAP center round download 100%> | ||
- | * '' | ||
- | </ | ||
- | |||
- | |||
- | ---- | ||
===== Weiteres ===== | ===== Weiteres ===== | ||
Line 131: | Line 21: | ||
* [[https:// | * [[https:// | ||
* [[http:// | * [[http:// | ||
+ | * '' | ||
+ | * https:// | ||