Projet

Général

Profil

Ajout Cluster Ceph » Historique » Version 3

« Précédent - Version 3/8 (diff) - Suivant » - Version actuelle
Aymeric APLU, 01/06/2021 11:32


Ajout Cluster Ceph

Copié depuis https://pad.tetaneutral.net/p/cluster-new-host

Sur la machine g20:

ajouter dans /etc/sources.list.d/puppet.list:

deb http://apt.puppetlabs.com bionic puppet5

Puis faire:

apt update -y
apt install puppet-agent bridge-utils ruby-dev

Sur la machine puppet.t:

dans /etc/puppetlabs/code/environments/production/manifests/nodes/openstack.pp ajouter la machine dans le variable suivante:

$os_ring_bgp = {
  ...
  "g20"  => [ 65014, "89.234.156.69", "2a03:7220:8083:4500::1" ],
}

Et ajouter une nouvelle node:

node "g20.tetaneutral.net" {
  class { 'ttnn_os_ceph_server': }
  class { 'ttnn_os_compute': }
  include ceph::profile::client
}

Sur la machine g1.t:

Ajouter la machine et toutes ces IPs dans le /etc/rc.local:

vlan3132_ipv4["g20"]="89.234.156.69" 
vlan3132_ipv6["g20"]="2a03:7220:8083:4500::1" 
vlan3132_ipv6_local["g20"]="fe80::83:45" 
vlan3175_ipv4["g20"]="192.168.3.120" 
vlan3199_ipv4["g20"]="192.168.99.235" 
netconsole_cfg["g20"]="192.168.128.220" 

Ajouter la machine g20 dans /root/tools/tools-common et /root/tools/libvirt/func.inc

HOSTS="stri g1 g2 g3 g4 g5 g6 n7 g8 g9 g10 g11 g12 g20" 

Copier le /etc/rc.local sur g20

Sur la machine g20

/!\ ATTENTION ICI CA COUPE LE RESEAU /!\

Exécuter le /etc/rc.local ou reboot la machine

Bien vérifier les trois bridges et leur ici:

vlan3132
vlan3175
vlan3199

Une fois le réseau setup correctement:

$ puppet agent -vt --certname g20.tetaneutral.net --server puppet.tetaneutral.net
Info: Creating a new SSL key for g20.tetaneutral.net
Info: Caching certificate for ca
Info: csr_attributes file loading from /etc/puppet/csr_attributes.yaml
Info: Creating a new SSL certificate request for g20.tetaneutral.net
Info: Certificate Request fingerprint (SHA256): BF:C8:2A:B1:48:63:3A:C9:F2:A0:84:A2:89:0E:74:0E:91:C6:51:4C:B6:DA:1D:50:07:A3:E8:6A:C7:62:D4:4C
Info: Caching certificate for ca
Exiting; no certificate found and waitforcert is disabled

Puis sur la machine puppet:

$ puppetserver ca sign --certname g20.tetaneutral.net
Successfully signed certificate request for g20.tetaneutral.net

Puis sur la machine g20:

$ puppet agent -vt --certname g20.tetaneutral.net --server puppet.tetaneutral.net

... prendre un café ... ne pas avoir peur des 200 erreurs qui vont s'afficher (y'a quelque dépendances entre certain étape manquante, mais c'est pas bien grave)

Relancer plusieurs fois (Je l'ai fait 4x pour g20) , jusqu’à ce qu'il n'y est plus d'erreur

$ puppet agent -vt --certname g20.tetaneutral.net --server puppet.tetaneutral.net

Le dernier sort:

$ puppet agent -vt --certname g20.tetaneutral.net --server puppet.tetaneutral.net
Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Retrieving locales
Info: Loading facts
Info: Caching catalog for g20.tetaneutral.net
Info: /Stage[main]/Ttnn::Puppet/Tidy[/var/lib/puppet/clientbucket]: File does not exist
Info: /Stage[main]/Ttnn::Puppet/Tidy[/opt/puppetlabs/server/data/puppetserver/reports/]: File does not exist
Info: Applying configuration version '1611852800'
Notice: /Stage[main]/Ttnn::Prometheus::Exporters/Ttnn::Prometheus::Exporter[libvirt]/Prometheus::Daemon[libvirt_exporter]/Service[libvirt_exporter]/ensure: ensure changed 'stopped' to 'running' (corrective)
Info: /Stage[main]/Ttnn::Prometheus::Exporters/Ttnn::Prometheus::Exporter[libvirt]/Prometheus::Daemon[libvirt_exporter]/Service[libvirt_exporter]: Unscheduling refresh on Service[libvirt_exporter]
Notice: Applied catalog in 2.34 seconds

Enfin sur toutes les autres machines du cluster lancer:

puppet agent -vt
Cela va reconfigurer les bird pour ajouter g20

Et pour finir sur h7.t:

Ajouter dans /etc/bird/bird/openstack.conf
protocol bgp OPENSTACK_G20 from mesh_openstack {
        neighbor 89.234.156.69 as 65014;
}
Ajouter dans /etc/bird/bird6.conf
protocol bgp OPENSTACK_G20 from mesh_openstack {
        neighbor 2a03:7220:8083:4500::1 as 65014;
}

Et faire:

birdc conf
birdc6 conf

ne pas oublier sur puppet et nucnagios

Il faut ajouter la machine dans quelques fichiers pour al supervision et autres.

puppet: dans puppetmaster => environments/production/manifests/files/libvirt/dump-and-sync-xml (liste des hosts)

nucnagios dans les fichiers : /omd/sites/ttnn/etc/check_mk :

  • main.mk
  • update_vm_parents.sh

Penser à lancer le script ./client-plugins/install_plugins.sh