GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment configurer Openshift Origin sur CentOS 7

OpenShift Origin est le projet open source en amont qui alimente OpenShift, la plate-forme d'applications de conteneurs de Red Hat. Il prend en charge Python, PHP, Perl, Node.js, Ruby et Java et est extensible afin que les utilisateurs puissent ajouter la prise en charge d'autres langages. Les ressources allouées aux applications peuvent être mises à l'échelle automatiquement ou manuellement selon les besoins, de sorte qu'à mesure que la demande augmente, il n'y a pas de dégradation des performances. OpenShift offre une portabilité via l'API DeltaCloud afin que les clients puissent migrer les déploiements vers d'autres environnements de fournisseurs de cloud computing. L'OpenShift est fourni en exploitant Docker et Kubernetes, vous donnant la possibilité d'avoir des images d'application personnalisées et réutilisables. OpenShift est conçu pour être une plate-forme d'application évolutive à haute disponibilité. Lorsqu'il est configuré correctement, un grand déploiement OpenShift peut offrir un moyen simple de faire évoluer votre application lorsque la demande augmente, tout en évitant les temps d'arrêt. Avec un cluster d'hôtes OpenShift dans plusieurs centres de données, vous pouvez survivre à l'arrêt complet d'un centre de données.

Dans cet article, nous vous montrerons son installation et sa configuration sur un serveur CentOS 7 autonome avec un minimum de packages installés dessus.

Prérequis

Dans un cluster OpenShift Origin hautement disponible avec etcd externe, un hôte principal doit avoir 1 cœur de processeur et 1,5 Go de mémoire sont nécessaires pour 1 000 pods. Par conséquent, la taille recommandée de l'hôte principal dans un cluster OpenShift Origin de 2 000 pods serait de 2 cœurs de processeur et de 3 Go de RAM, en plus des exigences minimales pour un hôte principal de 2 cœurs de processeur et de 16 Go de RAM.

OpenShift Origin nécessite un serveur DNS entièrement fonctionnel dans l'environnement. Il s'agit idéalement d'un hôte distinct exécutant un logiciel DNS et pouvant fournir une résolution de nom aux hôtes et conteneurs exécutés sur la plate-forme. Configurons le DNS pour résoudre votre hôte et configurons le FQDN avec le domaine sur vos machines virtuelles.

Configurez SELINUXTYPE=targeted dans le fichier '/etc/selinux/config', si ce n'est déjà fait, car Security-Enhanced Linux (SELinux) doit être activé sur tous les serveurs avant d'installer OpenShift Origin, sinon l'installation échouera.

# vi /etc/selinux/config

Assurez-vous de mettre à jour votre système avec les dernières mises à jour et correctifs de sécurité à l'aide de la commande suivante.

# yum update -y

Installer Docker

Nous avons trois options pour installer OpenShift qui sont curl-to-shell, un installateur portable ou une installation à partir de la source. Dans cet article, nous installerons OpenShift Origin à partir de la source à l'aide de Docker.

Exécutez la commande ci-dessous pour installer Docker avec d'autres dépendances nécessaires pour effectuer cette configuration, comme l'éditeur 'vim' et l'utilitaire 'wget' s'il n'est pas déjà installé sur votre système.

# yum install docker wget vim -y

Une fois l'installation terminée, nous devons le configurer pour qu'il fasse confiance au registre que nous utiliserons pour les images OpenShift en ouvrant le fichier '/etc/sysconfig/docker' dans votre éditeur de ligne de commande.

# vim /etc/sysconfig/docker
# INSECURE_REGISTRY='--insecure-registry'
NSECURE_REGISTRY='--insecure-registry 192.168.0.0/16'

Enregistrez et fermez le fichier de configuration, puis redémarrez le service Docker à l'aide de la commande ci-dessous.

# systemctl restart docker.service

Installer et configurer Openshift

Une fois que nous avons un service Docker opérationnel, nous allons maintenant configurer OpenShift pour qu'il s'exécute en tant que processus autonome géré par systemd. Exécutons la commande ci-dessous pour télécharger les binaires OpenShift depuis GitHub dans le répertoire '/tmp'.

# cd /tmp
# wget https://github.com/openshift/origin/releases/download/v1.4.1/openshift-origin-server-v1.4.1-3f9807a-linux-64bit.tar.gz

Ensuite, extrayez le package et changez de répertoire dans le dossier extrait pour déplacer tous les fichiers binaires dans le répertoire '/usr/local/sbin'.

# tar -zxf openshift-origin-server-*.tar.gz
# cd openshift-origin-server-v1.4.1+3f9807a-linux-64bit/
# mv k* o* /usr/local/sbin/

Ensuite, nous allons créer un script de démarrage et un fichier d'unité systemd en plaçant nos adresses IP publiques et privées.

# vim /usr/local/bin/start_openshift.sh
#!/bin/bash
cd /opt/openshift/
openshift start --public-master='https://:8443' --master='https://:8443'

Enregistrez et fermez le fichier, puis placez le contenu suivant dans le fichier nouvellement créé dans systemd.

# vim /etc/systemd/system/openshift.service
[Unit]
Description=OpenShift Origin Server

[Service]
Type=simple
ExecStart=/usr/local/bin/start_openshift.sh

Voilà, maintenant enregistrez le fichier et modifiez les permissions de ce fichier pour le rendre exécutable puis chargez le nouveau fichier unité pour qu'il soit fonctionnel.

# chmod u+x /usr/local/bin/start_openshift.sh
# mkdir /opt/openshift/
# systemctl daemon-reload

Après avoir rechargé le démon, démarrez le service Openshift à l'aide de la commande ci-dessous et confirmez si son statut est actif.

# systemctl start openshift
# systemctl status openshift

Maintenant que le service Openshift est opérationnel, pour gérer l'installation d'OpenShift à distance et accéder à ses applications, les ports TCP 80, 443 et 8443 doivent être ouverts dans votre pare-feu.

# firewall-cmd --zone=public --add-port=80/tcp
# firewall-cmd --zone=public --add-port=443/tcp
# firewall-cmd --zone=public --add-port=8443/tcp

Ajout d'un routeur et d'un registre Openshift

Nous devons maintenant installer un routeur OpenShift, afin qu'il puisse servir des applications sur l'adresse IP publique. OpenShift utilise un registre Docker pour stocker les images Docker afin de faciliter la gestion du cycle de vie de votre application et le routeur achemine les demandes vers des applications spécifiques en fonction de leurs noms de domaine. Donc, nous devons d'abord indiquer aux outils CLI où se trouvent nos paramètres et notre certificat CA, pour authentifier notre nouveau cluster OpenShift.

Ajoutons les lignes suivantes à '/root/.bashrc' afin qu'elles se chargent lorsque nous passons à l'utilisateur root.

# export KUBECONFIG=/opt/openshift/openshift.local.config/master/admin.kubeconfig
# export CURL_CA_BUNDLE=/opt/openshift/openshift.local.config/master/ca.crt

Rechargez '.bashrc' pour mettre à jour les paramètres.

# source /root/.bashrc

Utilisez ensuite la commande ci-dessous pour vous connecter au cluster.

# oc login -u system:admin
Logged into "https://YOUR_SERVER_IP:8443" as "system:admin" using existing credentials.

You have access to the following projects and can switch between them with 'oc project ':

* default
kube-system
openshift
openshift-infra

Using project "default".

Nous avons ajouté un routeur avec succès et maintenant pour ajouter un registre, utilisez les commandes comme indiqué ci-dessous.

# oadm policy add-scc-to-user hostnetwork -z router
# oadm router
info: password for stats user admin has been set to s0iOOpIcnW
--> Creating router router ...
serviceaccount "router" created
clusterrolebinding "router-router-role" created
deploymentconfig "router" created
service "router" created
--> Success
# oadm registry
--> Creating registry registry ...
serviceaccount "registry" created
clusterrolebinding "registry-registry-role" created
deploymentconfig "docker-registry" created
service "docker-registry" created
--> Success

Accéder à Openshift Origin

L'installation d'OpenShift est maintenant terminée. Vous pouvez tester votre déploiement OpenShift en visitant l'URL suivante dans un navigateur Web.

https://your_servers_ip:8443

Vous serez invité avec un écran de connexion OpenShift. Par défaut, OpenShift vous permet de vous connecter avec n'importe quelle combinaison de nom d'utilisateur et de mot de passe et crée automatiquement un compte pour vous. Vous aurez ensuite accès à la création de projets et d'applications. Nous allons créer un compte avec le nom d'utilisateur 'ks' comme indiqué.

Création d'un nouveau projet dans Openshift

Une fois connecté, vous serez invité à créer un nouveau projet. Les projets contiennent une ou plusieurs applications associées. Créons un projet de test afin de pouvoir déployer notre première application.

Donnez ensuite un nom au nouveau projet avec son nom d'affichage et une courte description.

Après avoir créé notre nouveau projet, l'écran suivant que vous verrez est l'écran "Ajouter au projet" où nous pouvons ajouter nos images d'application à OpenShift pour les préparer au déploiement. Dans ce cas, nous allons déployer une image existante en cliquant sur l'onglet "Déployer l'image". Comme OpenShift utilise Docker, cela nous permettra d'extraire une image directement de Docker Hub ou de tout autre registre.

Pour tester, nous allons utiliser l'image "openshift/hello-openshift" en la saisissant dans le champ "Image Name" comme indiqué dans l'image ci-dessous.

Cliquez sur l'icône de recherche, à droite sur le nom de l'image, puis cliquez sur le bouton "Créer" en bas avec les options par défaut avec une image de base sans aucune configuration supplémentaire requise.

Cliquez sur l'aperçu du projet pour vérifier l'état de votre candidature .

Création d'un nouvel itinéraire

Nous allons maintenant créer une nouvelle route pour rendre nos applications accessibles via le routeur OpenShift que nous avions précédemment créé. Pour cela, cliquez sur le menu "Applications" à gauche puis allez dans Routes.

Le routage est un moyen de rendre votre application visible publiquement. Une fois que vous avez cliqué sur le bouton "Créer une route", vous devez saisir les informations suivantes, contenant un nom unique pour le projet, le nom d'hôte et le chemin que le routeur surveille pour acheminer le trafic vers le service.

Après cela, OpenShift générera un nom d'hôte à utiliser pour accéder à votre application. Vous devez créer un enregistrement générique A dans votre DNS pour permettre le routage automatique de toutes les applications vers votre cluster OpenShift lors de la configuration en production.

*.openshift.yourdomain.com A

Ajoutez le nom d'hôte généré à votre fichier d'hôtes local pour le test sous Linux '/etc/hosts', sous Windows 'C:\WINDOWS\system32\drivers\etc\hosts'.

Ajout d'une nouvelle application à Openshift Origin

OpenShift Origin fournit des outils pour exécuter des builds ainsi que pour créer du code source à partir d'images de générateur prédéfinies via la chaîne d'outils Source-to-Image. Pour créer une nouvelle application qui combine une image de générateur pour Node.js avec un exemple de code source pour créer une nouvelle image Node.js déployable, exécutez la commande suivante après vous être connecté à l'utilisateur administratif et passez au projet par défaut.

# oc new-app openshift/nodejs-010-centos7~https://github.com/openshift/nodejs-ex.git
--> Found Docker image b3b1ce7 (3 months old) from Docker Hub for "openshift/nodejs-010-centos7"

Node.js 0.10
------------
Platform for building and running Node.js 0.10 applications

Tags: builder, nodejs, nodejs010

* An image stream will be created as "nodejs-010-centos7:latest" that will track the source image
* A source build using source code from https://github.com/openshift/nodejs-ex.git will be created
* The resulting image will be pushed to image stream "nodejs-ex:latest"
* Every time "nodejs-010-centos7:latest" changes a new build will be triggered
* This image will be deployed in deployment config "nodejs-ex"
* Port 8080/tcp will be load balanced by service "nodejs-ex"
* Other containers can access this service through the hostname "nodejs-ex"

--> Creating resources ...
imagestream "nodejs-010-centos7" created
imagestream "nodejs-ex" created
buildconfig "nodejs-ex" created
deploymentconfig "nodejs-ex" created
service "nodejs-ex" created
--> Success
Build scheduled, use 'oc logs -f bc/nodejs-ex' to track its progress.
Run 'oc status' to view your app.

Une génération sera déclenchée automatiquement à l'aide de l'image fournie et du dernier commit dans la branche principale du référentiel Git fourni. Pour obtenir le statut d'une construction, exécutez la commande ci-dessous.

# oc status

Vous pouvez en savoir plus sur les commandes disponibles dans la CLI.

#oc help

Maintenant, vous devriez pouvoir visualiser votre application de test en ouvrant le lien généré par Openshift dans votre navigateur Web. Vous pouvez également afficher l'état de vos applications nouvellement déployées à partir de la console Web Openshift.

Cliquez sur l'une des applications installées pour vérifier plus de détails sur l'IP, les routes et les ports de service.

Conclusion

Dans cet article, nous avons installé et configuré avec succès un environnement Openshift Origin à serveur unique sur CentOS 7.2. OpenShift ajoute des outils de développement et centrés sur les opérations en plus de Kubernetes pour permettre un développement rapide d'applications, un déploiement et une mise à l'échelle faciles, ainsi qu'une maintenance à long terme du cycle de vie pour les petites et les grandes équipes. Il s'agit d'une administration et d'une gestion centralisées de l'ensemble d'une pile, d'une équipe ou d'une organisation. Créez des modèles réutilisables pour les composants de votre système et déployez-les de manière interactive au fil du temps. Déployez les modifications apportées aux piles logicielles dans l'ensemble de votre organisation de manière contrôlée. Intégration avec vos mécanismes d'authentification existants, y compris LDAP, Active Directory et les fournisseurs publics OAuth tels que GitHub.


Cent OS
  1. Comment configurer un serveur SFTP sur CentOS

  2. Comment configurer le serveur SysLog sur CentOS 7 / RHEL 7

  3. Comment configurer le serveur NFS sur CentOS 7 / RHEL 7

  4. Comment configurer Icinga Web 2 sur CentOS 7 / RHEL 7

  5. Comment configurer les clés SSH sur CentOS 8

Comment configurer Kubernetes 1.5 avec kubeadm sur CentOS

Comment configurer Icinga Web 2 sur CentOS 8 / RHEL 8

Comment configurer un Chef 12 sur CentOS 7 / RHEL 7

Comment configurer les mises à jour de sécurité automatiques sur CentOS

Comment configurer Openshift Origin sur CentOS 8

Comment configurer un cluster Redis dans CentOS 8 - Partie 3