Un mémo sur comment déployer le plugin ceph-dash sur un cluster Ceph sous Proxmox avec Ansible.
Le plugin ceph-dash me permet de superviser mes différents clusters Ceph avec Centron. Pour éviter d’installer et de configurer manuellement ce plugin sur mes nouveaux clusters Ceph, je vais utiliser Ansible afin d’automatiser le déploiement.
Création d’un groupe pve-ceph
Pour commencer, il faut ajouter les nouveaux nœuds dans un groupe dédié.
- Éditions du fichier
/etc/ansible/hosts
:
nano /etc/ansible/hosts
[pve-ceph] pve-01 pve-02 pve-03
Échange de clé ssh
Ensuite, réaliser les échanges de clé entre le serveur Ansible et les nouveaux nœuds.
ssh-copy-id -i ~/.ssh/id_rsa.pub root@pve-01 -f
ssh-copy-id -i ~/.ssh/id_rsa.pub root@pve-02 -f
ssh-copy-id -i ~/.ssh/id_rsa.pub root@pve-03 -f
Création du playbook
Afin d’automatiser le déploiement de ceph-dash, création du playbook.
- Création du nouveau playbook :
nano /etc/ansible/playbook/ceph-dash.yml
- Le contenu :
- hosts: pve-ceph environment: https_proxy: http://PROXY:PORT tasks: - name: Run a Update packages list apt: update_cache=yes - name: install git apt: name: git state: present - name: Clone ceph-dash git: repo: 'https://github.com/Crapworks/ceph-dash.git' dest: /opt/ceph-dash - name: creat service ceph-dash.service template: src=services/ceph-dash.service dest=/etc/systemd/system/ceph-dash.service mode=644 - name: reload daemon systemd shell: systemctl daemon-reload - name: start ceph-dash.service service: name=ceph-dash.service state=started enabled=yes
mkdir /etc/ansible/playbook/services
nano /etc/ansible/playbook/services/ceph-dash.service
- Le contenu :
[Unit] Description=Monitoring Cluster Ceph [Service] Type=simple ExecStart=/opt/ceph-dash/ceph-dash.py -d Restart=on-failure [Install] WantedBy=multi-user.target
Déploiement de Ceph-Dash
Pour finir, déployer ceph-dash sur les serveurs Proxmox.
- Exécution du playbook pour le déploiement de ceph-dash :
ansible-playbook ceph-dash.yml