forked from NationTech/harmony
186 lines
5.7 KiB
Markdown
186 lines
5.7 KiB
Markdown
## 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::shell::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: <stringified key>
|
||
- 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
|