Installation/Configuration Complexe Infrastructure
November 26, 2025 at 2:48 AMAdapter le nombre de réplica, des briques infra, selon le cluster.
DEV : replica=1
QUAL : replica=3
Zookeeper
- Déployer Zookeeper (nécessaire pour Kafka)
Kafka
- Déployer Kafka
- Lancer l’outil de création des topics.
Pour lancer l’outil de création des topics, dans le project cineges-backend, se déplacer dans le répertoire tools et lancer l’outil.
cd tools
./run-dev-cinecity.sh nc.wdt.cineges.tools.kafka.EnsureKafkaTopicsExists
Si l’outil est lancé en environnement de développement, ajouter l’argument -dev.
Kafka Notif
- Déployer Kafka Notif.
Utile pour les différentes interfaces.
Elasticsearch
- Déployer la dernière version d’ElasticSearch 6
- Lancer l’outil de création des indexes.
Pour lancer l’outil de création des indexes, dans le project cineges-backend, se déplacer dans le répertoire tools et lancer l’outil.
cd tools
./run-dev-cinecity.sh nc.wdt.cineges.tools.es.Remap
Kibana
- Déployé Kibana (doit-être à la même version qu’ElasticSearch)
- Importé les objets Kibana (visuels, dashboards, index-pattern).
Pour l’import des objets Kibana, nous allons tous d’abords exporter les objets Kibana d’un Kibana existant et ensuite importé dans le Kibana cible.
Cet export, peut-être selectif, mais nous allons tous exportés.
Export des dashboards : Kibana > Management > Saved Objects > Export x objects
Import des dashboards : Kibana > Management > Saved Objects > Import
ETCD
- Déployer ETCD.
- Tester ETCD
Une particularité du déploiement d’ETCD :
- Pour le 1er déploiement, dans les
values.yaml, le paramètreinitialClusterStatedoit êtrenew. - Après le 1er déploiement, le paramètre
initialClusterStatedoit êtreexisting.
Pour tester ETCD, dans le pod etcd, saisissez la commande :
etcdctl put /message hello
# Un message OK est retourné (foncitonnel)
Erreur possible :
user name is empty: L’autentification est sûrement actif. Il faut la désactivé.
Entrez les commandes suivante :
# entre en intéraction avec le pods etcd-0
kubectl exec -it etcd-0 -- bash
# déterminer le status d'autentification d'ETCD
etcdctl --user=root --password={ROOT_ETCD_PASSWORD_IN_SECRETS} auth status
# désactive authentification d'ETCD
etcdctl --user=root --password={ROOT_ETCD_PASSWORD_IN_SECRETS} auth disable
Postgresql
- Déployer Postgresql.
Utiliser les chart isi pour déployer Postgresql en utilisant les images debezium, pour plus de compatibilité avec pgdbz-exportjob.
Odoo
- Déployer Odoo.
- Créer la base de données pour le complexe.
!! Pour toutes manipulations de la base de données (initialisation, import de base de donnée), désactiver le multithread (afin d’éviter que la base de donnée soit endommagée) !!
Modifier le sts de odoo et ajouter en paramètre--worker=0- args: - --worker=0 env: ...NE PAS OUBLIER D’ENLEVER L’ARGUMENT worker, APRES INITIALISATION/IMPORT DE LA BASE DE DONNEES
Si une erreur survient à l’affichage d’Odoo avant la création de la BDD, supprimé la base de donnée existante par défaut de postgresql. 3. Reporter les éléments nécessaire dans le configmap (cineges-config):
- Nom de la BDD
- Login/Mot de passe du compte admin
- Installer les applications, dans l’ordre :
- Comptabilité - France (l10n_fr)
- Annuaire des contacts (contacts)
- Gestion de la facturation (account_invoicing)
- Point de vente (point_of_sale)
- Gestion de facturation
- Gestion des achats
- Manual Bank Reconciliation
- ISI - Pos with analytic accounting
- Configurer le stockage des pièces jointes en BDD.
En mode développeur :
- Configuration > Paramètres > Paramètres systèmes
- Ajout une nouvelle valeur : ̀
ir_attachment.location=db
Autentigo
- Lancer l’outil de génération de secrets autentigo (autentigo-init)
- Installer Autentigo.
Configurer le backend d’autentigo sur etcd, via lesvalues.yaml.
# autentigo.values.yaml
extraArgs: "-token-duration=15h"
backend: etcd
Templated
Code Source : GitHub
- Déployer le service
templated. - Déployer le service
templated-lite.
Kafka2kafka
- Installer et activer Kafka2Kafka ou KafkaMirror selon le cas.
- Vérifier que les topics “.saveToComplexe” se remplissent.
Pour Kafka2Kafka, configurer le fichier configmap définissant kafka source et kafka cible (à adapter).
Configmap : cineges-kafka2kafka
kubectl apply -f cineges-kafka2kafka.yaml
Si le topic kafka2kafka.status-topic n’est pas créé, créé le et assurez vous que le topic est bien pour configuration cleanup.policy=compact
kafka-configs.sh --zookeeper zookeeper:2181 --alter --entity-type topics --entity-name kafka2kafka.status-topic --add-config=min.insync.replicas=2,cleanup.policy=compact,segment.bytes=1073741824,max.message.bytes=200000000,message.timestamp.type=LogAppendTime
Debezium
- Installer debezium.
- Vérifier que les topics “odoo” se remplissent
Erreur possible :
org.postgresql.util.PSQLException: ERROR: logical decoding requires wal_level >= logical
Dans le pods de postgresql, executer les commandes :
kubectl exec -it postgresql-0 -- bash
mv /var/lib/postgresql/data/pgdata/postgresql.conf /var/lib/postgresql/data/pgdata/postgresql.conf.orig
cp usr/local/share/postgresql/postgresql.conf.sample /var/lib/postgresql/data/pgdata/postgresql.conf
Minio
- Installer Minio sur le complexe.
- Prévoir les infos minio “central” pour les fichiers qui remontent du complexe.
Pour MinIO, deployer par manuellement (avec les objets kubernets déjà configués et les appliquer sur le namespace cible).
Créer les buckets suivant, si ce n’est pas déjà fait :
customer-photo-filecustomer-photo-file-synccustomer-webmovieprepaidprepaidlot-dematerializereportsubscriptions
Minio Mirror
- Installer les minio mirror.
- Movie - MinIO Mirror Deploiment - Movie 2Complexe
- Report - MinIO Mirror Deploiment - Report 2Complexe
- Customer-Photo MinIO Mirror Deploiment - Customer 2Complexe
- Customer-Photo-Sync MinIO Mirror Deploiment - Customer Complexe2Central
Pour installer les minio mirror, adapter les fichiers de deploiement en fonction du complexe cible et déployez les minio mirror manuellement en lancant la commande :
kubectl apply -f {minio-mirror}.yaml