==== 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: * Via de webconsole * Rechtstreeks via de commandline * Via een yaml file 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: {{:chp:handleidingen:aanmaken-routes:switch-dev-admin-view.png?nolink|}} Ga nu in het linker menu naar "Networking" en kies daarna "Routes": {{:chp:handleidingen:aanmaken-routes:networking-routes.png?nolink|}} Klik nu rechtsboven op "Create Route": {{:chp:handleidingen:aanmaken-routes:create-route.png?nolink|}} Vul bij "Name" een goede naam voor de Route in: {{:chp:handleidingen:aanmaken-routes:route-name.png?nolink|}} Vul bij "Hostname" de URL waaronder je de applicatie bereikbaar wilt maken in, je **moet** hier een hostname opgeven: {{:chp:handleidingen:aanmaken-routes:route-hostname.png?nolink|}} 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: {{:chp:handleidingen:aanmaken-routes:service-and-port.png?nolink|}} 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: {{:chp:handleidingen:aanmaken-routes:test-route.png?nolink|}} ===== 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 8080/TCP 43m In dit voorbeeld is dat dus "nginx-ex-git" Roep vervolgens oc expose aan: * Vul bij de ''--name'' vlag een naam voor de Route in. * Vul bij de ''--hostname'' vlag de hostname voor de route in. De ''--hostname'' vlag **moet** gezet worden. 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: namespace: spec: host: port: targetPort: to: kind: Service name: weight: 100 wildcardPolicy: None Vervang hierbij de volgende dingen: * '''': De naam van de Route. * '''': Het project waar de route in moet draaien. * '''': De hostname. * '''': De port waarop de Service bereikbaar is. * '''': De naam van de Service. 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