Je regroupe ici mon paramétrage MiniShift commun à tous mes autres usages (API, ESB, Log, etc). Cette page sera mise à jour en fonction de mes besoins complémentaires 🙂 .
Optimiser MiniShift
Pour ne pas être limitée en ressources machine, j’upgrade mon docker-host avec 4 CPUS, 8Go de RAM et 80Go de disques. Je fixe aussi l’hyperviseur VirtualBox et le niveau de log.
minishift config set cpus 4 minishift config set memory 8192 minishift config set disk-size 80g minishift config set vm-driver virtualbox minishift config set v 2 minishift stop
Pour garder un peu de contrôle sur les changements d’IP de VirtualBox, le démarrage utilise le nom minishift pour l’orchestrateur et un nom de domaine particulier:
minishift start --show-libmachine-logs --metrics -v 2 --cpus 4 --disk-size "80g" --memory 8192 --routing-suffix minishift.local --public-hostname minishift --vm-driver virtualbox
Tous les services seront exposés sous les URL: http://<service>-<projet>.minishift.local
Pour utiliser confortablement minishift sur Windows, il est nécessaire d’installer un DNS local. Je vous propose Acrylic DNS Proxy.
La configuration est à faire dans le fichier AcrylicHosts.txt.
# Tous les sous-domaines à 192.168.99.101.nip.io sont routés vers l'IP de la docker-machine. 192.168.99.100 >192.168.99.100.nip.io minishift >minishift.local
La carte réseau de VirtualBox est à modifier:
Import des sources images
Les applications sont construites en faisant référence à des “images” de référence. Ces “images sources” permettent à OpenShift d’identifier une image docker à partir d’une nature d’application (jee, nodejs, php, etc). Par défaut, elles ne sont pas toutes référencées dans MiniShift.
Import des sources OpenSource puis RedHat:
oc login -u system:admin oc create -n openshift -f https://raw.githubusercontent.com/openshift/origin/master/examples/image-streams/image-streams-centos7.json oc create -n openshift -f https://raw.githubusercontent.com/jboss-openshift/application-templates/master/jboss-image-streams.json
Exécution des users en tant que Root
Ce paramétrage permet aux utilisateurs Docker non déclarés de s’exécuter en root dans chaque instance.
oc login -u system:admin oc edit scc restricted
Puis édition du contenu:
runAsUser: type: RunAsAny
Droits pour les utilisateurs du projet
Affectation des droits pour tous les uid du projet courant.
oc project MONPROJET oc adm policy add-scc-to-user anyuid -z default
Vérification:
oc edit scc anyuid
Le fichier contient les utilisateurs autorisés:
users: - system:serviceaccount:myproject:default - system:serviceaccount:gravitee:default - system:serviceaccount:cicd:default