Table of Contents

Routes aanmaken

In deze handleiding leggen we uit hoe je een Route moet aanmaken in OpenShift. Een Route is een concept van OpenShift die ervoor zorgt dat een applicatie van buitenaf te benaderen is via een hostname.

Je kan een Route op 3 verschillende manieren aanmaken:

De eerste twee opties kunnen handig zijn voor het testen van een applicatie. Voor productieapplicaties raden we aan om het via een yaml aan te maken zodat deze yaml ook netjes kan worden opgeslagen.

We gaan er van uit dat je bent ingelogd op de OpenShift Console en/of de commandline en dat je de Workshop hebt gedaan. In dit voorbeeld heb ik een nginx webserver draaien met de naam “nginx-ex-git”.

Verder heb je natuurlijk een hostname nodig. Je kan ervoor kiezen om een eigen hostname te gebruiken, bijvoorbeeld www.xrtv.nl, zorg er dan wel voor dat de DNS goed staat.

Je kan ook gebruik maken van een subdomein binnen het OpenShift domein. Voor elke afnemer is een eigen subdomein beschikbaar met de naam van de afnemer er in, deze naam is dezelfde naam als de naam waarmee de Projecten moeten beginnen, bijvoorbeeld xrtv-. Het domein wordt dan my-route.apps.xrtv.cluster.chp4.io, in dit voorbeeld gebruik ik my-route.apps.hens.cluster.chp4.io

Via de webconsole

Zorg ervoor dat je bent ingelogd op de webconsole en dat je in het juiste Project zit. Switch nu eerst linksboven van de “Developer” view naar de “Administrator” view:

Ga nu in het linker menu naar “Networking” en kies daarna “Routes”:

Klik nu rechtsboven op “Create Route”:

Vul bij “Name” een goede naam voor de Route in:

Vul bij “Hostname” de URL waaronder je de applicatie bereikbaar wilt maken in, je moet hier een hostname opgeven:

Selecteer nu bij de optie “Service” welke “Service” je beschikbaar wilt stellen. In de meeste gevallen zal dit iets van een (nginx) webserver zijn. In dit voorbeeld is dat ook het geval. Nadat je de “Service” hebt gekozen, kies je de juiste “Target port”, in dit voorbeeld 8080:

Wanneer je alles hebt ingevuld, klik je op “Create”. In het nieuw geopende scherm wordt een overzicht getoond van de Route die je net hebt aangemaakt, vanaf hier kan je de route testen door op de URL te klikken, mits het DNS record is aangemaakt uiteraard:

Via de commandline

Zorg ervoor dat je bent ingelogd op de commandline en dat je in het juiste Project zit. Zoek vervolgens als eerste uit welke “Service” je beschikbaar wilt stellen aan de buitenwereld:

oc get service
 
NAME           TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)             AGE
nginx-ex-git   ClusterIP   172.30.253.79   <none>        8080/TCP            43m

In dit voorbeeld is dat dus “nginx-ex-git”

Roep vervolgens oc expose aan:

oc expose service nginx-ex-git --name=my-route --hostname=my-route.apps.hens.cluster.chp4.io

Via een yaml file

Je kan ook een Route aanmaken via een yaml file. Onderstaande yaml is een voorbeeld hoe het eruit kan zien:

apiVersion: route.openshift.io/v1
kind: Route
metadata:
  name: <route-name>
  namespace: <namespace>
spec:
  host: <route-hostname>
  port:
    targetPort: <route-port>
  to:
    kind: Service
    name: <route-service>
    weight: 100
  wildcardPolicy: None

Vervang hierbij de volgende dingen:

Nadat je de yaml hebt gemaakt in een texteditor sla je deze op, op een locatie waar je hem terug kan vinden, roep vervolgens oc aan om de Route daadwerkelijk in te stellen:

oc apply -f /pad/naar/mijn/route.yaml