Projet

Général

Profil

Ajout Cluster Ceph » Historique » Version 1

Version 1/8 - Suivant » - Version actuelle
Laurent GUERBY, 28/01/2021 18:47


Ajout Cluster Ceph

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

  1. 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
  1. 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
}
  1. 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

  1. Sur la machine g20

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

Executer 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
  1. Puis sur la machine puppet:
$ puppetserver ca sign --certname g20.tetaneutral.net
Successfully signed certificate request for g20.tetaneutral.net
  1. Puis sur la machine g20:
$ puppet agent -vt --certname g20.tetaneutral.net --server puppet.tetaneutral.net

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

Relancer plusieur fois (Je l'ai fait 4x pour g20) , jusqu'a 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
  1. Enfin sur toutes les autres machines du cluster lancer:

    puppet agent -vt

    Cela va reconfigurer les bird pour ajouter g20

  1. 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