Community Hosting Platform : Developer Omgeving

Het is mogelijk om een developer omgeving op te starten op een locale machine zoals een laptop.
Voor het opstarten van deze omgeving zijn 2 mogelijkheden :

Voordelen van Minishift Nadelen van Minisishift
* Minishift draait compleet afgeschermd in een VM * Minishift gebruikt altijd een vaste hoeveelheid RAM-geheugen (4GB. )
* Geen afhankelijkheden van je lokale besturingsystem
en lokale docker omgeving
* Hypervisor nodig zoals Virtualbox
* Verbruikt meer resources dan oc (local) cluster up
Voordelen van oc (local) cluster up Nadelen van oc (local) cluster up
* Openshift Client tool gebruikt alleen het geheugen die ook daadwerkelijk nodig is. * Afhankelijk van je lokale besturingsysteem en Docker omgeving
* Openshift Client tool heeft de mogelijkheid om speciale volumes te maken die rechtstreeks op het filesysteem van de machine staan * Door bovengenoemde afhankelijkheid kan het zo zijn dat je omgeving niet goed werkt


Minishift

Minishift is een tool die RedHat beschikbaar stelt en onderdeel is van hun CDK (Container Development Kit)

Voordelen :

  • Minishift draait in een VM waardoor deze compleet afgeschermd is
  • Doordat minishift in een VM draait zijn er geen speciale tools nodig zoals Docker

Nadelen :

  • Minishift gebruikt altijd een vaste hoeveelheid geheugen, de default is 4GB.

Installatie & Setup

Minishift is verkrijgbaar via https://docs.okd.io/latest/minishift/index.html
Voor de installatie en setup van Minishift verwijzen we graag naar de documentatie die door Openshift beschikbaar wordt gesteld https://docs.okd.io/latest/minishift/getting-started/installing.html

De Minishift omgeving kan met een aantal commando's aangepast worden zodat deze beter voldoet aan je eisen.

Andere VM tool

Voor elk OS heeft minishift een andere VM tool als de standaard, echter het kan zijn dat je zelf graag een specifieke tool gebruikt voor het opstarten van de minishift VM.
Een aantal opties hierin zijn kvm, xhyve, virtualbox, hyperv. Je kan zelf een driver kiezen door het volgende commando te gebruiken
$ minishift config set vm-driver <driver>

Meer/Minder geheugen

In sommige gevallen wil je de minishift VM meer (of minder) geheugen geven, dit kun je instellen via $ minishift config set memory 4096 waarbij 4096 de hoeveelheid MB's geheugen minishift mag gebruiken.
Het is ook mogelijk om op te vragen hoeveel geheugen momenteel staat ingesteld via $ minishift config get memory of om het geheugen gebruik weer terug naar default te zetten $ minishift config unset memory


OC (local) cluster up

Via de Openshift Client tool is het mogelijk om op een machine waar ook Docker is geinstalleerd een Openshift omgeving op te starten, deze zal dan in Docker zelf komen te draaien als containers.

Installatie & Setup

Voor de installatie en setup via Openshift Client tool dien je eerst de client tool zelf installeren.
De download voor de tools zijn te vinden op https://github.com/openshift/origin/releases/latest

Diepgaande installatie handleiding voor de setup via de Openshift client tool is te vinden op https://github.com/openshift/origin/blob/master/docs/cluster_up_down.md

De Openshift Client tool heeft een aantal extra opties die in te stellen zijn zodat de OpenShift omgeving wat beter aan je eisen voldoet.

Persistent cluster

De Openshift Client tool heeft standaard een compleet leeg cluster als je deze via $ oc cluster up opstart.
Als je bij het opstarten --host-data-dir=/opt/openshift/origin (pas de directory aan naar je eigen voorkeur) mee geeft, dan worden settings en projecten opgeslagen.

OpenShift draaien op niet localhost

Standaard draait OpenShift developer omgeving op localhost (of 127.0.0.1), in sommige gevallen is dit niet gewenst.
Je kan bijvoorbeeld de developer omgeving op een VM draaien of je wil dat een collega ook bij jouw projecten kan via het netwerk.
Als je OpenShift developer omgeving op een ander ip wil laten lusiteren dan kun je het volgende bij het opstarten toevoegen :
--public-hostname="192.168.1.10"

Custom hostname suffix

Als je graag een eigen wildcard hostname aan je developer omgeving wil hangen dan kun je dit doen via --routing-suffix="openshift.example.com"
als vervolgens *.openshift.example.com verwijst naar localhost (of het ip waar openshift op luistert) dan worden je projecten met <project>.openshift.example.com aangemaakt in de interne openshift router.

Voorbeeld opstart regel

oc cluster up --public-hostname="192.168.1.10" --routing-suffix="openshift.example.com" --base-dir=/opt/openshift/origin

Openshift Client tool op MacOS

Ook al is het officieel niet ondersteunt, het is wel mogelijk om oc cluster up op een MacOS machine te doen.
Deze officiele ondersteuning is kort geleden verwijderd door Openshift wegens een bug in nieuwere Docker for Mac builds.
Echter met een oudere build van Docker for Mac werkt het nog wel, het gaat om de build 17.09.1-ce-mac42 en deze is hier te downloaden.
In een oudere commit van de documentatie is nog een handleiding voor oc cluster up op MacOS te vinden.

Troubleshooting op MacOS:
Stel, dat je lokale openshift omgeving niet wil starten dan kun je beginnen om de logs wat uitgebreider te maken.

oc cluster up --loglevel=3

Het zou kunnen zijn dat het probleem is opgelost in een nieuwere release. Om de laatste versie lokaal te draaien doe je:

oc cluster up --tag=latest


:!: Onderstaande stappen kunnen tot dataverlies leiden van je lokale openshift en/of Docker omgeving. :!:
Als er ergens iets niet goed is gegaan met het afsluiten van je lokale omgeving staan er waarschijnlijk nog oude containers die niet zijn opgeruimd.

docker rm $(docker ps -f name=openshift* -q)

Als dit ook niet helpt kun je de map met instellingen verwijderen in je homedirectory onder:

~/openshift.local.clusterup/
  • chp/developer.txt
  • Last modified: 2019/05/28 10:47
  • (external edit)