cloudlabsinfra.etcd_cluster

ansible-etcd-cluster

Rôle Ansible pour gérer et configurer un cluster etcd (pas une instance autonome !)

Exigences

  • Les binaires ETCD doivent être installés sur les instances cibles
  • La version ETCD prise en charge est 3.5 ou supérieure
  • Le package iproute2 pour collecter des informations réseau pour les systèmes d'exploitation de type Debian

Variables de Rôle

Les variables sont divisées en deux types (toutes les variables sont disponibles dans defaults/main.yml) :

  • Variables de configuration ETCD (lisez-en plus sur Options de configuration). Le rôle utilise les mêmes noms mais avec un soulignement (_) à la place d'un tiret (-) et avec le préfixe etcd_ ;

  • Variables de rôle présentées ci-dessous

Nom Valeur par défaut Description
etcd_user etcd Utilisateur système ETCD
etcd_group etcd Groupe système ETCD
etcd_conf_dir /etc/etcd Répertoire pour stocker les configurations et les certificats (si défini)
etcd_default_inventory_group etcd Nom du groupe d'inventaire Ansible pour obtenir une liste d'hôtes.

Remarque : Il est nécessaire d'énumérer tous les hôtes à l'intérieur du cluster pour définir l'option initial-cluster (variable etcd_initial_cluster)
etcd_client_port 2379 Port client ETCD
etcd_peer_port 2380 Port pair ETCD
etcd_bin_path /usr/local/bin/etcd Chemin binaire.

Remarque : le rôle ne fournit pas les binaires ETCD, utilisez un autre rôle pour les installer et définir le chemin des binaires appropriés
etcd_client_protocol Voir defaults/main.yml Protocole client pour se connecter à ETCD.

Remarque : que ce soit http ou https ; les valeurs par défaut utilisent de la logique jinja pour définir le protocole approprié en fonction des chemins de certificat définis
etcd_peer_protocol Voir defaults/main.yml Protocole pair pour se connecter à ETCD.

Remarque : que ce soit http ou https ; les valeurs par défaut utilisent de la logique jinja pour définir le protocole approprié en fonction des chemins de certificat définis
etcd_remote_cert_files [] Une liste de chemins complets vers les fichiers de certificats sur l'hôte distant.

Remarque : le rôle prend les chemins des fichiers de certificat en entrée et les déplace vers le répertoire de configuration défini dans la variable etcd_conf_dir. Ceci est nécessaire car tous les fichiers doivent être détenus par l'utilisateur et le groupe ETCD. Mais au stade de la création des certificats, le système n'a pas l'utilisateur et le groupe appropriés.

Dépendances

Vous pouvez utiliser n'importe quel rôle Ansible pour installer ETCD, mais nous vous recommandons le suivant :

Exemple de Playbook

Vous pouvez également trouver des exemples d'utilisation de rôle dans les playbooks de convergence du répertoire molecule/. Voici un autre exemple :

- hosts: etcd
  roles:
     - { role: andrewrothstein.etcd }
     - { role: ansible-etcd-cluster }

Et aussi requirements.yml :

- name: andrewrothstein.etcd

- name: ansible-etcd-cluster
  scm: git
  src: https://github.com/cloud-labs-infra/ansible-etcd-cluster.git

Licence

Apache 2.0

Informations sur l'auteur

Rôles partagés par Cloud Labs

À propos du projet

Ansible role for managing and configuring etcd cluster

Installer
ansible-galaxy install cloudlabsinfra.etcd_cluster
Licence
apache-2.0
Téléchargements
548