Adapter le nombre de réplica, des briques infra, selon le cluster.
DEV : replica=1
QUAL : replica=3

Zookeeper

  1. Déployer Zookeeper (nécessaire pour Kafka)

Kafka

  1. Déployer Kafka
  2. 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

  1. Déployer Kafka Notif.

Utile pour les différentes interfaces.

Elasticsearch

  1. Déployer la dernière version d’ElasticSearch 6
  2. 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

  1. Déployé Kibana (doit-être à la même version qu’ElasticSearch)
  2. 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

  1. Déployer ETCD.
  2. Tester ETCD

Une particularité du déploiement d’ETCD :

  • Pour le 1er déploiement, dans les values.yaml, le paramètre initialClusterState doit être new.
  • Après le 1er déploiement, le paramètre initialClusterState doit être existing.

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

  1. Déployer Postgresql.

Utiliser les chart isi pour déployer Postgresql en utilisant les images debezium, pour plus de compatibilité avec pgdbz-exportjob.

Odoo

  1. Déployer Odoo.
  2. 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
  1. 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
  1. 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

  1. Lancer l’outil de génération de secrets autentigo (autentigo-init)
  2. Installer Autentigo.
    Configurer le backend d’autentigo sur etcd, via les values.yaml.
  # autentigo.values.yaml
  extraArgs: "-token-duration=15h"
  backend: etcd

Templated

Code Source : GitHub

  1. Déployer le service templated.
  2. Déployer le service templated-lite.

Kafka2kafka

  1. Installer et activer Kafka2Kafka ou KafkaMirror selon le cas.
  2. 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

  1. Installer debezium.
  2. 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

  1. Installer Minio sur le complexe.
  2. 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).

MinIO Deploiement

Créer les buckets suivant, si ce n’est pas déjà fait :

  • customer-photo-file
  • customer-photo-file-sync
  • customer-web
  • movie
  • prepaid
  • prepaidlot-dematerialize
  • report
  • subscriptions

Minio Mirror

  1. Installer les minio mirror.

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