From 1c51ce0bdc118063761c12a25707b6c49211a5a2 Mon Sep 17 00:00:00 2001 From: Mickael Asseline Date: Mon, 10 May 2021 14:40:09 +0000 Subject: [PATCH] docs: update Openstack/Ocicli --- Openstack/Ocicli.html | 76 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 75 insertions(+), 1 deletion(-) diff --git a/Openstack/Ocicli.html b/Openstack/Ocicli.html index 49c7bc7..7b9e4a1 100644 --- a/Openstack/Ocicli.html +++ b/Openstack/Ocicli.html @@ -2,7 +2,7 @@ title: Ocicli description: Installer un cluster Openstack avec ocicli sous Debian published: true -date: 2021-05-10T13:42:27.269Z +date: 2021-05-10T14:40:07.999Z tags: editor: ckeditor dateCreated: 2021-05-10T11:53:45.764Z @@ -121,4 +121,78 @@ cd /usr/share/openstack-cluster-installer ; php db_sync.php

Les mots de passe sont hachés en utilisant la fonction PHP password_hash () en utilisant l'algo BCRYPT.

De plus, OCI est capable d'utiliser un Radius externe pour son authentification. Cependant, vous devez toujours ajouter manuellement des connexions dans la base de données. Ce qui est ci-dessous insère un nouvel utilisateur qui a une entrée dans le serveur Radius :

oci-userdb -r newuser@example.com
+
+

 Vous devez également configurer votre adresse de serveur Radius et votre secret partagé dans openstack-cluster-installer.conf.

+
+
+

Même s'il existe un système d'authentification, il est fortement conseillé de ne pas exposer OCI à Internet. La meilleure configuration est si votre serveur d'approvisionnement n'est pas du tout accessible de l'extérieur.

+

 

+

Installation des services annexes

+

ISC-DHCPD

+

Configurez isc-dhcp pour qu'il corresponde à votre configuration réseau. Notez que "next-server" doit être l'adresse de votre nœud master Puppet (c'est-à-dire : le serveur DHCP que nous sommes en train de configurer).

+

Modifiez /etc/default/isc-dhcpd :

+
sed -i 's/INTERFACESv4=.*/INTERFACESv4="eth0"/' /etc/default/isc-dhcp-server
+

Puis éditez /etc/dhcp/dhcpd.conf :

+
allow booting;
+allow bootp;
+default-lease-time 600;--
+max-lease-time 7200;
+ddns-update-style none;
+authoritative;
+ignore-client-uids On;
+
+subnet 192.168.100.0 netmask 255.255.255.0 {
+        range 192.168.100.20 192.168.100.80;
+        option domain-name example.com;
+        option domain-name-servers 9.9.9.9;
+        option routers 192.168.100.1;
+        option subnet-mask 255.255.255.0;
+        option broadcast-address 192.168.100.255;
+        next-server 192.168.100.2;
+        if exists user-class and option user-class = "iPXE" {
+                filename "http://192.168.100.2/oci/ipxe.php";
+        } else {
+                filename "lpxelinux.0";
+        }
+}
+

Notez soigneusement que 192.168.100.2 doit être l'adresse de votre serveur OCI, car il sera utilisé pour servir PXE, TFTP et Web pour les nœuds esclaves. Il est bien sûr très bien d'utiliser une autre adresse si votre serveur OCI le fait, alors n'hésitez pas à adapter ce qui précède à votre guise.

+

Notez qu'à partir de la version 28 d'OCI et au-dessus, le chargement de l'initrd et du noyau se fait via HTTP, donc l'utilisation de lpxelinux.0 est obligatoire (pxelinux.0 ne devrait plus être utilisé, car il ne supporte que TFTP).

+

De plus, pour qu'OCI autorise les requêtes à partir de la plage DHCP, vous devez ajouter vos sous-réseaux DHCP à TRUSTED_NETWORKS dans openstack-cluster-installer.conf. Sinon, le reporting matériel ne fonctionnera jamais.

+

 

+

tftpd

+

Configurez tftp-hpa pour servir les fichiers depuis OCI:

+
sed -i 's#TFTP_DIRECTORY=.*#TFTP_DIRECTORY="/var/lib/openstack-cluster-installer/tftp"#' /etc/default/tftpd-hpa
+

Puis redémarrez tftpd-hpa.

+

 

+

Préparation de l'installation des serveurs

+

Configuration des clés SSH

+

Lors de la configuration, OCI créera une paire de clés ssh publique / privée ici:

+
/etc/openstack-cluster-installer/id_rsa
+

Une fois cela fait, il copiera le contenu id_rsa.pub correspondant dans:

+
/etc/openstack-cluster-installer/authorized_keys
+

et ajoutera également toutes les clés publiques qu'il trouve sous /root/.ssh/authorized_keys. Plus tard, ce fichier sera copié dans l'image live OCI Debian, et dans tous les nouveaux systèmes qu'OCI installera. OCI utilisera plus tard la clé privée qu'il a générée pour se connecter aux serveurs, tandis que vos clés seront également présentes afin que vous puissiez vous connecter à chaque serveur individuel en utilisant votre clé privée. Par conséquent, il est fortement conseillé de personnaliser /etc/openstack-cluster-installer/allowed_keys avant de construire l'image OCI Debian Live.

+

 

+

Construire l'image en direct d'OCI

+
mkdir -p /root/live-image
+cd /root/live-image
+openstack-cluster-installer-build-live-image --pxe-server-ip 192.168.100.2 --debian-mirror-addr http://deb.debian.org/debian --debian-security-mirror-addr http://security.debian.org/
+cp -auxf /var/lib/openstack-cluster-installer/tftp/* /usr/share/openstack-cluster-installer
+cd ..
+rm -rf /root/live-image
+

Il est possible d'utiliser des serveurs proxy de paquets comme approx, ou des miroirs locaux, ce qui donne la possibilité de déconnecter complètement votre cluster et OCI lui-même d'Internet.

+

 

+

Configurer l'ENC de Puppet

+

Une fois le service master Puppet installé, ses directives de classificateur de nœud externe (ENC) doivent être définies, de sorte que OCI agisse comme ENC (ce qui signifie que OCI définira les rôles et les classes de puppet à appeler lors de l'installation d'un nouveau serveur avec puppet) :

+
. /usr/share/openstack-pkg-tools/pkgos_func
+pkgos_add_directive /etc/puppet/puppet.conf master "external_nodes = /usr/bin/oci-puppet-external-node-classifier" "# Path to enc"
+pkgos_inifile set /etc/puppet/puppet.conf master external_nodes /usr/bin/oci-puppet-external-node-classifier
+pkgos_add_directive /etc/puppet/puppet.conf master "node_terminus = exec" "# Tell what type of ENC"
+pkgos_inifile set /etc/puppet/puppet.conf master node_terminus exec
+

Puis redémarrez le service Puppet-Master.

+

 

+

Facultatif: approx

+

Pour accélérer le téléchargement du paquet, il est fortement recommandé d'installer approx  localement sur votre serveur de provisionnement OCI et d'utiliser son adresse lors de la configuration des serveurs (l'adresse est définie dans /etc/openstack-cluster-installer/openstack-cluster-installer.conf).

+

 

+

Utiliser OCI

+