OpenShift est une plate-forme de développement en tant que service (PaaS) gratuite, open-source et cloud développée par Red Hat qui permet aux développeurs de développer et de déployer leurs applications sur une infrastructure cloud . Il s'agit d'une distribution communautaire de Kubernetes et permet des cycles de développement et de publication plus rapides pour les applications. Il est livré avec une interface Web simple et facile à utiliser qui vous permet de surveiller les ressources du conteneur, la santé du conteneur, les nœuds sur lesquels résident les conteneurs, les adresses IP des nœuds, etc.
Dans ce tutoriel, nous expliquerons comment installer OpenShift Origin sur le serveur Ubuntu 20.04.
Prérequis
- Un serveur exécutant Ubuntu 20.04.
- Un mot de passe root est configuré sur votre serveur.
Installer Docker CE
Tout d'abord, vous devrez installer Docker CE sur votre système pour exécuter tous les services OKD dans des conteneurs Docker. Par défaut, la dernière version de Docker CE est disponible dans le référentiel par défaut Ubuntu 20.04. Vous pouvez l'installer en exécutant simplement la commande suivante :
apt-get install docker.io -y
Une fois le Docker installé, démarrez le service Docker et activez-le pour qu'il démarre au démarrage avec la commande suivante :
systemctl start docker
systemctl enable docker
Vous pouvez également vérifier l'état du service Docker avec la commande suivante :
menu fixe d'état systemctl
Vous devriez voir le résultat suivant :
? docker.service - Moteur de conteneur d'applications Docker chargé :chargé (/lib/systemd/system/docker.service ; désactivé ; préréglage du fournisseur :activé) Actif :actif (en cours d'exécution) depuis le 2020-05-29 12:25:47 UTC ; il y a 2sTriggeredBy : ? docker.socket Docs :https://docs.docker.com PID principal :48433 (dockerd) Tâches :10 Mémoire :36,5 Mo CGroup :/system.slice/docker.service ??48433 /usr/bin/dockerd -H fd :// --containerd=/run/containerd/containerd.sockMay 29 12:25:47 ubuntu2004 dockerd[48433] :time="2020-05-29T12:25:47.215078550Z" level=warning msg="Votre noyau fait not support swap memory l>29 mai 12:25:47 ubuntu2004 dockerd[48433]:time="2020-05-29T12:25:47.215139097Z" level=warning msg="Votre noyau ne prend pas en charge le cgroup blkio>29 mai 12 :25:47 ubuntu2004 dockerd[48433] :time="2020-05-29T12:25:47.215169580Z" level=warning msg="Votre noyau ne prend pas en charge le cgroup blkio>29 mai 12:25:47 ubuntu2004 dockerd[48433] :time="2020-05-29T12:25:47.215721944Z" level=info msg="Chargement des conteneurs :début."29 mai 12:25:47 ubuntu2004 dockerd[48433] :time="2020-05-29T12:25 :47.418058547Z" level=info msg="Le pont par défaut (docker0) est attribué avec un>29 mai 12:25:47 ubuntu2004 dockerd[48433] :time="2020-05-29T12 :25:47.515158041Z" level=info msg="Chargement des conteneurs :terminé."May 29 12:25:47 ubuntu2004 dockerd[48433] :time="2020-05-29T12:25:47.545778830Z" level=info msg="Daemon Docker" commit=afacb8b7f0 graphdriver(>29 mai 12:25:47 ubuntu2004 dockerd[48433]:time="2020-05-29T12:25:47.546068892Z" level=info msg="Le démon a terminé l'initialisation"29 mai 12:25:47 ubuntu2004 dockerd[48433] :time="2020-05-29T12:25:47.599029431Z" level=info msg="API en écoute sur /run/docker.sock"29 mai 12:25:47 ubuntu2004 systemd [1] :Démarrage du moteur de conteneur d'applications Docker.
À ce stade, Docker est installé et en cours d'exécution. Vous pouvez maintenant passer à l'étape suivante.
Télécharger OpenShift Origin
Au moment de la rédaction de ce didacticiel, la dernière version d'OpenShift Origin est la v3.11.0. Vous pouvez le télécharger depuis le dépôt Git Hub en utilisant la commande suivante :
wget https://github.com/openshift/origin/releases/download/v3.11.0/openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz
Une fois le téléchargement terminé, extrayez le fichier téléchargé avec la commande suivante :
tar -xvzf openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz
Ensuite, changez le répertoire pour le répertoire extrait et copiez les binaires kubectl et oc dans le répertoire /usr/local/bin.
cd openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit
cp oc kubectl /usr/local/bin/
Ensuite, vérifiez l'installation de l'utilitaire client OpenShift à l'aide de la commande suivante :
version oc
Vous devriez voir le résultat suivant :
oc v3.11.0+0cbc58bkubernetes v1.11.0+d4cacc0features :Basic-Auth GSSAPI Kerberos SPNEGO
Ensuite, vous devrez créer un nouveau fichier daemon.json et autoriser l'utilisation du registre Insecure Docker.
nano /etc/docker/daemon.json
Ajoutez la ligne suivante :
{ "insecure-registries" :[ "172.30.0.0/16" ] }
Enregistrez et fermez le fichier, puis redémarrez le service Docker pour mettre en œuvre les modifications.
menu fixe de redémarrage de systemctl
Démarrer le cluster d'origine OpenShif
Maintenant, démarrez le cluster OpenShift Origin en spécifiant l'IP de votre système :
oc cluster up --public-hostname=your-server-ip
Une fois le serveur démarré avec succès, vous devriez obtenir le résultat suivant :
Connexion au serveur ...Création du projet initial "monprojet" ...Informations sur le serveur ...Le serveur OpenShift a démarré.Le serveur est accessible via la console Web à :https://your-server-ip:8443Vous êtes connecté en tant que :Utilisateur :développeur Mot de passe :Pour se connecter en tant qu'administrateur :oc login -u system:admin
Maintenant, connectez-vous à votre cluster en tant qu'utilisateur administrateur avec la commande suivante :
oc login -u system:admin
Une fois connecté, vous devriez obtenir le résultat suivant :
Connecté à "https://your-server-ip:8443" en tant que "system:admin" en utilisant les informations d'identification existantes. Vous avez accès aux projets suivants et pouvez basculer entre eux avec 'oc project' :par défaut kube-dns kube-proxy kube-public kube-system * myproject openshift openshift-apiserver openshift-controller-manager openshift-core-operators openshift-infra openshift-node openshift-service-cert-signer openshift-web-consoleUtilisation du projet "monprojet" .
Ensuite, passez au projet par défaut avec la commande suivante :
par défaut du projet oc
Sortie :
Utilisation maintenant du projet "default" sur le serveur "https://your-server-ip:8443".
Maintenant, vérifiez l'état actuel de votre projet avec la commande suivante :
statut oc
Vous devriez obtenir le résultat suivant :
Dans le projet par défaut sur le serveur https://your-server-ip:8443svc/docker-registry - 172.30.1.1:5000 dc/docker-registry déploie docker.io/openshift/origin-docker-registry:v3.11 déploiement #1 déployé il y a 2 minutes - 1 podsvc/kubernetes - 172.30.0.1:443 -> 8443svc/router - 172.30.94.157 ports 80, 443, 1936 dc/router déploie docker.io/openshift/origin-haproxy-router:v3 .11 déploiement #1 déployé il y a 2 minutes - 1 podAffichez les détails avec 'oc describe/ ' ou listez tout avec 'oc get all'.
Créer un projet sur OpenShift
Maintenant, connectez-vous à OpenShift avec l'utilisateur développeur avec la commande suivante :
connexion oc
Il vous sera demandé de fournir un nom d'utilisateur et un mot de passe comme indiqué ci-dessous :
Authentification requise pour https://your-server-ip:8443 (openshift)Nom d'utilisateur :developerPassword :
Indiquez le nom d'utilisateur en tant que développeur et le mot de passe en tant que développeur, puis appuyez sur Entrée. Vous devriez voir le résultat suivant :
Connexion réussie.Vous avez un projet sur ce serveur :"myproject"Utilisation du projet "myproject".
Pour créer un nouveau projet, exécutez la commande suivante :
oc nouveau-projet dev --display-name="Project - Dev" --description="Mon projet"
Vous devriez voir le résultat suivant :
Utilisez maintenant le projet "dev" sur le serveur "https://your-server-ip:8443". Vous pouvez ajouter des applications à ce projet avec la commande "new-app". Par exemple, essayez :oc new-app centos/ruby-25-centos7~https://github.com/sclorg/ruby-ex.git pour créer un nouvel exemple d'application dans Ruby.
Accéder à la console Web OpenShift
Maintenant, ouvrez votre navigateur Web et tapez l'URL https://your-server-ip:8443/console. Vous devriez voir la page de connexion OpenShift :
Indiquez votre nom d'utilisateur et votre mot de passe de développeur, puis cliquez sur Journal Dans bouton. Vous devriez voir la page suivante :
Cliquez sur Créer Projet bouton. Vous devriez voir la page suivante :
Fournissez toutes les informations requises et cliquez sur Créer bouton pour créer un nouveau projet.
Déployer l'application sur OpenShift Origin
Tout d'abord, connectez-vous à OpenShift avec l'utilisateur développeur en exécutant la commande suivante :
connexion oc
Connectez-vous avec l'utilisateur développeur comme indiqué ci-dessous :
Authentification requise pour https://your-server-ip:8443 (openshift)Nom d'utilisateur :développeurMot de passe :connexion réussie.Vous avez accès aux projets suivants et pouvez basculer entre eux avec 'oc project' :* dev mon-projet monprojetUtilisation du projet "dev".
Une fois connecté, basculez le projet vers le my-project que vous avez créé via la console Web OpenShift :
oc projet mon-projet
Sortie :
Utilisation maintenant du projet "my-project" sur le serveur "https://your-server-ip:8443".
Ensuite, vérifiez l'état de votre projet actuel avec la commande suivante :
statut oc
Sortie :
Dans le projet My Project (my-project) sur le serveur https://your-server-ip:8443Vous n'avez aucun service, aucune configuration de déploiement ou aucune configuration de build. Exécutez "oc new-app" pour créer une application.Ensuite, marquez une image d'application à partir du registre Docker Hub avec la commande suivante :
balise oc --source=docker openshift/deployment-example:v2 deployment-example:latestSortie :
Tag deployment-example:latest défini sur openshift/deployment-example:v2.Ensuite, déployez une application sur OpenShift avec la commande suivante :
exemple de déploiement de nouvelle application ocVous devriez voir le résultat suivant :
--> Image da61bb2 trouvée (4 ans) dans le flux d'images "my-project/deployment-example" sous la balise "latest" pour "deployment-example" * Cette image sera déployée dans la configuration de déploiement "deployment-example" " * Le port 8080/tcp sera équilibré par le service "deployment-example" * D'autres conteneurs peuvent accéder à ce service via le nom d'hôte "deployment-example" * AVERTISSEMENT :l'image "my-project/deployment-example:latest" s'exécute en tant que utilisateur 'root' qui peut ne pas être autorisé par votre administrateur de cluster--> Création de ressources... Vous pouvez exposer des services au monde extérieur en exécutant une ou plusieurs des commandes ci-dessous :'oc expose svc/deployment-example' Exécutez 'oc status' pour afficher votre application.Maintenant, vérifiez l'état du déploiement de l'application avec la commande suivante :
statut ocVous devriez voir le résultat suivant :
Dans le projet Mon projet (my-project) sur le serveur https://your-server-ip:8443svc/deployment-example - 172.30.87.146:8080 dc/deployment-example déploie istag/deployment-example:latest deployment # 1 déployé il y a 36 secondes - 1 infos pod2 identifiées, utilisez 'oc status --suggest' pour voir les détails.Pour obtenir des informations sur votre service, exécutez la commande suivante :
oc obtenir svcSortie :
NOM TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEdeployment-example ClusterIP 172.30.87.1468080/TCP 1m Pour obtenir des informations détaillées, exécutez la commande suivante :
oc describe svc deployment-exampleSortie :
Nom :deployment-exampleNamespace :my-projectLabels :app=deployment-exampleAnnotations :openshift.io/generated-by=OpenShiftNewAppSelector :app=deployment-example,deploymentconfig=deployment-exampleType :ClusterIPIP :172.30.87.146Port :8080- tcp 8080/TCPTargetPort :8080/TCPEndpoints :172.17.0.10:8080Session Affinity :NoneEvents :Vous pouvez également vérifier l'état des pods à l'aide de la commande suivante :
oc obtenir des podsSortie :
NOM STATUT PRÊT REDÉMARRE AGEdeployment-example-1-b9prf 1/1 Running 0 2mMaintenant, exposez l'application pour un accès externe à l'aide de la commande suivante :
oc expose service/deployment-exampleSortie :
route.route.openshift.io/deployment-example exposéPour afficher les informations sur les itinéraires, exécutez la commande suivante :
oc obtenir des itinérairesVous devriez obtenir le résultat suivant :
NOM HÔTE/PORT CHEMIN SERVICES PORT TERMINAISON WILDCARDdeployment-example deployment-example-my-project.your-server-ip.nip.io deployment-example 8080-tcp AucunVérifier l'accès externe
Maintenant, votre application est prête pour un accès externe. Ouvrez votre navigateur Web et saisissez l'URL ci-dessus http://deployment-example-my-project.your-server-ip.nip.io. Vous devriez voir votre candidature sur la page suivante :
Si vous souhaitez supprimer votre application, exécutez la commande suivante :
oc delete all -l app=deployment-exampleVous devriez voir le résultat suivant :
pod "deployment-example-1-b9prf" deletereplicationcontroller "deployment-example-1" deleteservice "deployment-example" deletedeploymentconfig.apps.openshift.io "deployment-example" deleteroute.route.openshift.io "deployment-example" " suppriméConclusion
Dans cet article, nous avons installé et configuré avec succès une origine OpenShift à nœud unique sur Ubuntu 20.04. Vous pouvez maintenant commencer à développer votre première application dans l'environnement OpenShift. n'hésitez pas à me demander si vous avez des questions.