OpenShift est une plate-forme en tant que service gratuite et open source développée par Red Hat. OpenShift est utilisé pour développer, héberger et mettre à l'échelle des applications dans l'environnement cloud. OpenShift prend en charge de nombreux langages tels que Java EE6, Ruby, PHP, Python, Perl, MongoDB, MySQL et PostgreSQL. OpenShift est une plate-forme d'application cloud et d'entreprise Kubernetes de premier plan, approuvée par plus de 1000 entreprises. Openshift vous permet de créer, modifier et déployer des applications selon vos besoins.
Dans ce didacticiel, nous allons apprendre à installer OpenShift Origin à nœud unique sur le serveur Ubuntu 18.04 LTS.
Exigences
- Un serveur exécutant Ubuntu 18.04 avec au moins 2 Go de RAM.
- Un mot de passe root est configuré sur le serveur.
Mise en route
Avant de commencer, mettez à jour votre système avec la dernière version stable. Vous pouvez le faire avec la commande suivante :
apt-get update -y
apt-get upgrade -y
Une fois mis à jour, redémarrez votre serveur pour appliquer toutes les modifications de configuration.
Installer Docker CE
OpenShift s'exécute sur le conteneur Docker. Vous devrez donc installer Docker CE sur votre serveur. Par défaut, la dernière version de Docker CE n'est pas disponible dans le référentiel par défaut d'Ubuntu 18.04. Vous devrez donc ajouter le référentiel Docker CE à votre système.
Pour installer Docker CE, téléchargez et ajoutez la clé Docker GPG avec la commande suivante :
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
Une fois ajouté, ajoutez le référentiel Docker CE avec la commande suivante :
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Ensuite, mettez à jour et installez Docker CE avec la commande suivante :
apt-get update -y
apt-get install docker-ce -y
Une fois installé, vérifiez l'état de Docker CE avec la commande suivante :
systemctl status docker
Vous devriez voir le résultat suivant :
? docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-08-07 08:06:57 UTC; 33s ago Docs: https://docs.docker.com Main PID: 19052 (dockerd) Tasks: 8 CGroup: /system.slice/docker.service ??19052 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.372084572Z" level=warning msg="Your kernel does not support swap memory limit" Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.372483783Z" level=warning msg="Your kernel does not support cgroup rt period" Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.372711298Z" level=warning msg="Your kernel does not support cgroup rt runtime" Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.373275104Z" level=info msg="Loading containers: start." Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.612047102Z" level=info msg="Default bridge (docker0) is assigned with an IP ad Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.712918131Z" level=info msg="Loading containers: done." Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.938574106Z" level=info msg="Docker daemon" commit=74b1e89 graphdriver(s)=overl Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.939341612Z" level=info msg="Daemon has completed initialization" Aug 07 08:06:57 hitesh systemd[1]: Started Docker Application Container Engine. Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.989385865Z" level=info msg="API listen on /var/run/docker.sock"
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Installer OpenShift
Tout d'abord, vous devrez télécharger la dernière version stable d'OpenShift à partir du référentiel Git. Vous pouvez télécharger la dernière version d'OpenShift depuis le dépôt Git avec la commande suivante :
cd /opt
wget https://github.com/openshift/origin/releases/download/v3.9.0/openshift-origin-client-tools-v3.9.0-191fece-linux-64bit.tar.gz
Une fois téléchargé, extrayez le fichier téléchargé avec la commande suivante :
tar -zvxf openshift-origin-client-tools-v3.9.0-191fece-linux-64bit.tar.gz
Ensuite, changez le répertoire en répertoire extrait et copiez oc binary dans le répertoire /usr/local/bin avec la commande suivante :
cd openshift-origin-client-tools-v3.9.0-191fece-linux-64bit
cp oc /usr/local/bin/
Vous pouvez maintenant vérifier la version d'oc avec la commande suivante :
oc version
Vous devriez voir le résultat suivant :
oc v3.9.0+191fece kubernetes v1.9.1+a0ce1bc657 features: Basic-Auth GSSAPI Kerberos SPNEGO
Ensuite, vous devrez ajouter le registre non sécurisé au démon docker. Vous pouvez le faire avec la commande suivante :
nano /etc/docker/daemon.json
Ajoutez les lignes suivantes :
{ "insecure-registries" : [ "172.30.0.0/16" ] }
Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, redémarrez le service Docker pour appliquer les modifications de configuration :
systemctl restart docker
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Démarrer le cluster OpenShift
Maintenant, démarrez le cluster OpenShift en spécifiant votre adresse IP ou votre nom d'hôte comme indiqué ci-dessous :
oc cluster up --public-hostname=38.143.69.14
Une fois le serveur démarré avec succès, vous devriez voir la sortie suivante :
WARNING: Binding DNS on port 8053 instead of 53, which may not be resolvable from all clients. Using Docker shared volumes for OpenShift volumes Using public hostname IP 38.143.69.14 as the host IP Using 38.143.69.14 as the server IP Starting OpenShift using openshift/origin:v3.9.0 ... OpenShift server started. The server is accessible via web console at: https://38.143.69.14:8443 You are logged in as: User: developer Password: To login as administrator: oc login -u system:admin
Remarque :Remplacez l'adresse IP de votre serveur par 38.143.69.14.
Maintenant, connectez-vous à votre cluster avec la commande suivante :
oc login -u system:admin
Vous devriez voir le résultat suivant :
Logged into "https://38.143.69.14:8443" as "system:admin" using existing credentials. You have access to the following projects and can switch between them with 'oc project': default kube-public kube-system * myproject openshift openshift-infra openshift-node openshift-web-console Using project "myproject".
Maintenant, vous pouvez changer le projet par défaut avec la commande suivante :
oc project default
Vous devriez voir le résultat suivant :
Now using project "default" on server "https://38.143.69.14:8443".
Vous pouvez maintenant vérifier l'état du projet avec la commande suivante :
oc status
Vous devriez voir le résultat suivant :
In project default on server https://38.143.69.14:8443 svc/docker-registry - 172.30.1.1:5000 dc/docker-registry deploys docker.io/openshift/origin-docker-registry:v3.9.0 deployment #1 deployed 3 minutes ago - 1 pod svc/kubernetes - 172.30.0.1 ports 443->8443, 53->8053, 53->8053 svc/router - 172.30.106.228 ports 80, 443, 1936 dc/router deploys docker.io/openshift/origin-haproxy-router:v3.9.0 deployment #1 deployed 3 minutes ago - 1 pod View details with 'oc describe/ ' or list everything with 'oc get all'.
Créer un projet de test sur OpenShift
OpenShift est maintenant installé et fonctionne. Ensuite, connectez-vous à OpenShift avec l'utilisateur développeur :
oc login
Indiquez le nom d'utilisateur et le mot de passe en tant que développeur / développeur et appuyez sur Entrée. Vous devriez voir le résultat suivant :
Authentication required for https://38.143.69.14:8443 (openshift) Username: developer Password: Login successful. You have one project on this server: "myproject" Using project "myproject".
Maintenant, créez un nouveau projet de test avec la commande suivante :
oc new-project dev --display-name="test - Dev" --description="Test Project"
Vous devriez voir le résultat suivant :
Now using project "dev" on server "https://38.143.69.14:8443". You can add applications to this project with the 'new-app' command. For example, try: oc new-app centos/ruby-22-centos7~https://github.com/openshift/ruby-ex.git to build a new example application in Ruby.
Ensuite, construisez une nouvelle application Ruby sur ce projet avec la commande suivante :
oc new-app centos/ruby-22-centos7~https://github.com/openshift/ruby-ex.git
Maintenant, vérifiez l'état du projet en cours avec la commande suivante :
oc status
Vous devriez voir le résultat suivant :
In project test - Dev (dev) on server https://38.143.69.14:8443 svc/ruby-ex - 172.30.16.207:8080 dc/ruby-ex deploys istag/ruby-ex:latest <- bc="" ruby-ex="" source="" builds="" https:="" github="" com="" openshift="" git="" on="" istag="" ruby-22-centos7:latest="" build="" 1="" running="" for="" 54="" seconds="" -="" c00ecd7:="" merge="" pull="" request="" 25="" from="" pvalena="" master="" honza="" horak="" hhorak="" redhat="">) deployment #1 waiting on image or update
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Accéder à la console Web OpenShift
Maintenant, ouvrez votre navigateur Web et tapez l'URL https://your-server-ip:8443. Vous serez redirigé vers la page suivante :
Indiquez votre nom d'utilisateur et votre mot de passe de développeur. Ensuite, cliquez sur Connexion bouton. Vous devriez voir le tableau de bord par défaut d'OpenShift sur la page suivante :
Maintenant, cliquez sur Mon projet sur le côté droit. Vous devriez voir la page suivante :
Maintenant, cliquez sur le test - Dev. Vous devriez voir votre application Ruby déployée sur la page suivante :
Toutes nos félicitations! vous avez installé et configuré avec succès OpenShift sur le serveur Ubuntu 18.04. Vous pouvez créer un nouveau projet et déployer votre propre application à l'aide d'OpenShift. N'hésitez pas à me demander si vous avez des questions. Cet article n'est pas recommandé pour une utilisation en production. Pour plus d'informations, vous pouvez consulter la documentation officielle sur OpenShift.