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