Files
harmony/examples/okd_installation/DEVELOP.md

5.7 KiB

opnsense

fonctionnalité

  • ajout de clef ssh

prérequis environnement d'exécution harmony

  • git-lfs est installé et les gros fichiers ont été téléchargés localement

prérequis physique

  • les disques dur de toutes les nodes doivent être effacés (dd if=/dev/zero of=/dev/... ou

prérequis opnsense

procédure

Actuelle

  • mettre en place le setup physique
  • mettre en place le setup opnsense
  • initialisation opnsense et démarrage de l'agent inventaire (OKDipxeScore et OKDSetup01InventoryScore)
  • mise en place de la node bootstrap (OKDSetup01InventoryScore)

idéale

  • setup physique
  • setup opnsense (avec topology harmony)

OKDipxeScore

  • Améliore visibilité de l'erreur si les packages ne sont pas à jour. En particulier, certains packages ne cont pas accessible lorsque le registre n'est pas à jour (os-caddy, haproxy, etc)

OKDSetup01InventoryScore

OKDSetup02BootstrapScore

[INFO ] [Bootstrap] Rebooting bootstrap node via SSH ? Now reboot the bootstrap node so it picks up its pxe boot file. Press enter when ready.

  • on devrait pas assigner le role à la node après que le pxe boot soit ok?

génère localement (.data/okd) tout le nécessaire à installer okd 1 node (config, certificat, exécutables, etc)

OKDSetup03ControlPlaneScore

OKDSetupPersistNetworkBondScore

OKDSetup04WorkersScore

OKDSetup05SanityCheckScore

OKDSetup06InstallationReportScore

Conception

Ce qu'il manque / bug

  • le webgui de opensense n'est plus utilisable après la mise en place de ha proxy. Il faut changer son port à 8443

  • création du sqlite

  • dépendance sur git-lfs. sinon, ne récupère pas correctement les gros fichiers

  • le plugin os-caddy doit être installé manuellement

  • réexécution de OKDipxeScore efface le fichier authorized_keys. les cles ssh ajouter par l'utilisateur sont détruite

  • Si l'on change les fichiers dans data, une réexécution de OKDipxeScore ne les mets pas à jour

OKDSetup01InventoryScore ne termine pas

  • l'agent inventaire est lancé en background
  • ceci empêche de terminer le score

fichiers data manquants

  • ce qui arrive: plante avec erreur non explicite

  • raison: fichier ./data/pxe/okd/tftpboot/

  • composante affectée: opnsense_config::config:🐚:ssh.

  • mitigation: Afficher un meilleur message

  • solutions:

    • passer le path vers data en paramètre
    • documenter

chargement des fichiers requis

  • Execute the copy : scp -r data/pxe/okd/http_files/* root@192.168.1.1:/usr/local/http/ and confirm when done to continue

[INFO ] Http Server running and serving files from folder No ne and content for ./boot.ipxe,./inventory.kickstart,./fallback .ipxe,./cluster_ssh_key.pub  ? Execute the copy : scp -r data/pxe/okd/http_files/* root@192 .168.1.1:/usr/local/http/ and confirm when done to continue

  • pas idempotent, redemande à toutes les exécutions

Configurer les hostnames dans opnsense

[INFO ] Setting up base DNS config for OKD ? Set hostnames manually in your opnsense dnsmasq config : *.apps.demo.harmony.mcd -> 192.168.1.1 api.demo.harmony.mcd -> 192.168.1.1 api-int.demo.harmony.mcd -> 192.168.1.1 When you can dig them, confirm to continue.

Base de donnée sqlite

[ERROR] ⚠️ Interpret error : Could not connect to the database: error returned from database: (code: 14) unable to open database fi

voir: https://git.nationtech.io/NationTech/harmony/src/branch/feat/rebuild_inventory/empty_database.sqlite

  • initialiser automatiquement la bd mysql
  • vérifier aviser si la bd n'est pas trouvée ou si elle n'est pas lisible ou mauvais schema

À améliorer

  • inventory agent: meilleur gestion des nodes et de leur role (exemple, pas possible de voir quels sont les nodes et leur rôle)

  • pour boot sur node bootsratp , l user est core et non root

  • clarifier le 'nom du cluster' (arg 2 de location) ve secret namespace

  • meilleur manière de sélectionner la node pour bootstrap

  • comment vérifier que OKDSetup01InventoryScore est terminé avec succès?

  • Avant d'installer os, vérifier que les disques sont bien effacés et aviser l'utilisateur dans le cas contraire

  • où trouver le pullsecret de redhat? https://console.redhat.com/openshift/install/pull-secret

  • documenter le format de la clef Redhat: pull_secret:

  • lorsque harmony lance une commande et que ça plante, afficher la commande qui a été lancée pour que l'on puisse reproduire manuellement

Mieux informer l'utilisateur

[INFO ] Launching discovery agent, make sure that your nodes ar e successfully PXE booted and running inventory agent. They sho uld answer on http://<node_ip>:8080/inventory

  • le message est pas évident et passe rapidement
  • il faut savoir que les nodes doivent être démarrés par pxe pour être identifier par harmony
  • fix rapide: demander à user de confirmer

instruction sur le setup matériel

  • inclure une documentation sur le setup matériel
  • avoir des prérequis et une check list

checklist:

  • spec min (...)
  • setup bios: no tmp, no secure boot,
  • effacer les disques durs

score plan

  • Le plus tôt possible, s'assurer (dans l'implémentation des scores) que l'exécution est possible. (score plan)
  • sinon fail fast (avant toute exécution

prérequis opnsense

  • opnsense fonctionnel et interfaces configurés
  • ssh actif et connectivité possible => credentials dans harmony secrets manager
  • update faits
  • port = 8443 (443 sera utilisé par HAProxy

PR

Questions

  • comment faire pour configurer opnsense (ssh ok, mans pas root, création d'utilisateur + role/permission)

  • wipefs

  • sgdisk