Rechercher

8.2. Visualisation des fichiers de configuration d'Ignition

download PDF

Pour voir le fichier de configuration Ignition utilisé pour déployer la machine d'amorçage, exécutez la commande suivante :

$ openshift-install create ignition-configs --dir $HOME/testconfig

Après avoir répondu à quelques questions, les fichiers bootstrap.ign, master.ign et worker.ign apparaissent dans le répertoire que vous avez indiqué.

Pour voir le contenu du fichier bootstrap.ign, faites-le passer par le filtre jq. Voici un extrait de ce fichier :

$ cat $HOME/testconfig/bootstrap.ign | jq
{
  "ignition": {
    "version": "3.2.0"
  },
  "passwd": {
    "users": [
      {
        "name": "core",
        "sshAuthorizedKeys": [
          "ssh-rsa AAAAB3NzaC1yc...."
        ]
      }
    ]
  },
  "storage": {
    "files": [
      {
        "overwrite": false,
        "path": "/etc/motd",
        "user": {
          "name": "root"
        },
        "append": [
          {
            "source": "data:text/plain;charset=utf-8;base64,VGhpcyBpcyB0aGUgYm9vdHN0cmFwIG5vZGU7IGl0IHdpbGwgYmUgZGVzdHJveWVkIHdoZW4gdGhlIG1hc3RlciBpcyBmdWxseSB1cC4KClRoZSBwcmltYXJ5IHNlcnZpY2VzIGFyZSByZWxlYXNlLWltYWdlLnNlcnZpY2UgZm9sbG93ZWQgYnkgYm9vdGt1YmUuc2VydmljZS4gVG8gd2F0Y2ggdGhlaXIgc3RhdHVzLCBydW4gZS5nLgoKICBqb3VybmFsY3RsIC1iIC1mIC11IHJlbGVhc2UtaW1hZ2Uuc2VydmljZSAtdSBib290a3ViZS5zZXJ2aWNlCg=="
          }
        ],
        "mode": 420
      },
...

Pour décoder le contenu d'un fichier répertorié dans le fichier bootstrap.ign, envoyez la chaîne de données codée en base64 représentant le contenu de ce fichier à la commande base64 -d. Voici un exemple utilisant le contenu du fichier /etc/motd ajouté à la machine d'amorçage à partir de la sortie indiquée ci-dessus :

$ echo VGhpcyBpcyB0aGUgYm9vdHN0cmFwIG5vZGU7IGl0IHdpbGwgYmUgZGVzdHJveWVkIHdoZW4gdGhlIG1hc3RlciBpcyBmdWxseSB1cC4KClRoZSBwcmltYXJ5IHNlcnZpY2VzIGFyZSByZWxlYXNlLWltYWdlLnNlcnZpY2UgZm9sbG93ZWQgYnkgYm9vdGt1YmUuc2VydmljZS4gVG8gd2F0Y2ggdGhlaXIgc3RhdHVzLCBydW4gZS5nLgoKICBqb3VybmFsY3RsIC1iIC1mIC11IHJlbGVhc2UtaW1hZ2Uuc2VydmljZSAtdSBib290a3ViZS5zZXJ2aWNlCg== | base64 --decode

Exemple de sortie

This is the bootstrap node; it will be destroyed when the master is fully up.

The primary services are release-image.service followed by bootkube.service. To watch their status, run e.g.

  journalctl -b -f -u release-image.service -u bootkube.service

Répétez ces commandes sur les fichiers master.ign et worker.ign pour voir la source des fichiers de configuration Ignition pour chacun de ces types de machines. Vous devriez voir une ligne comme la suivante pour le fichier worker.ign, identifiant comment il obtient sa configuration Ignition à partir de la machine bootstrap :

"source": "https://api.myign.develcluster.example.com:22623/config/worker",

Voici quelques enseignements à tirer du dossier bootstrap.ign:

  • Format : Le format du fichier est défini dans la spécification de configuration d'Ignition. Les fichiers de même format sont utilisés ultérieurement par le MCO pour fusionner les changements dans la configuration d'une machine.
  • Contenu : Comme la machine d'amorçage sert les configurations Ignition des autres machines, les informations de configuration Ignition des machines maître et ouvrière sont stockées dans le site bootstrap.ign, avec la configuration de la machine d'amorçage.
  • Taille : Le fichier comporte plus de 1300 lignes, avec des chemins d'accès à différents types de ressources.
  • Le contenu de chaque fichier qui sera copié sur la machine est en fait encodé dans des URL de données, ce qui tend à rendre le contenu un peu difficile à lire. (Utilisez les commandes jq et base64 présentées précédemment pour rendre le contenu plus lisible)
  • Configuration : Les différentes sections du fichier de configuration d'Ignition sont généralement destinées à contenir des fichiers qui sont simplement déposés dans le système de fichiers d'une machine, plutôt que des commandes pour modifier des fichiers existants. Par exemple, au lieu d'avoir une section sur NFS qui configure ce service, vous pouvez simplement ajouter un fichier de configuration NFS, qui sera ensuite lancé par le processus init au démarrage du système.
  • utilisateurs : Un utilisateur nommé core est créé, avec votre clé SSH assignée à cet utilisateur. Cela vous permet de vous connecter au cluster avec ce nom d'utilisateur et vos informations d'identification.
  • le stockage : La section stockage identifie les fichiers qui sont ajoutés à chaque machine. Parmi les fichiers les plus importants, citons /root/.docker/config.json (qui fournit les informations d'identification dont votre cluster a besoin pour puiser dans les registres d'images de conteneurs) et un certain nombre de fichiers manifestes dans /opt/openshift/manifests qui sont utilisés pour configurer votre cluster.
  • systemd : La section systemd contient le contenu utilisé pour créer les fichiers unitaires systemd. Ces fichiers sont utilisés pour démarrer les services au moment du démarrage, ainsi que pour gérer ces services sur les systèmes en cours d'exécution.
  • Primitives : Ignition expose également des primitives de bas niveau sur lesquelles d'autres outils peuvent s'appuyer.
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.