Desplegament d’un clúster de nodes de Cyberwatch independents amb Swarm

Aquesta pàgina indica el procediment d’instal·lació de Cyberwatch en mode satèl·lit sense utilitzar Swarm per a la comunicació entre els nodes.

Per garantir una comunicació correcta entre el mestre i el satèl·lit, és imprescindible que les dues instàncies de Cyberwatch tinguin la mateixa versió.

Requisits previs

Requisits de xarxa i matriu de fluxos

Fluxos necessaris per configurar un node satèl·lit:

OrigenDestinacióProtocolPortDescripció
node satèl·litnode mestreTCP3306Connexió a la base de dades SQL
node satèl·litnode mestreTCP6379Connexió a la base de dades en memòria cau Redis
node satèl·litdownload.docker.comTCP443Instal·lació i actualitzacions de Docker
node satèl·litharbor.cyberwatch.frTCP443Registre de les imatges Docker de Cyberwatch
node satèl·litdl.cyberwatch.comTCP443Repositori dels paquets de Cyberwatch
flowchart LR
  SAT["Node satèl·lit"]
  SAT -- "TCP 3306 · base de dades SQL" --> MASTER["Node mestre"]
  SAT -- "TCP 6379 · memòria cau Redis" --> MASTER
  SAT -- "TCP 443 · Docker" --> DOCKER["download.docker.com"]
  SAT -- "TCP 443 · imatges" --> HARBOR["harbor.cyberwatch.fr"]
  SAT -- "TCP 443 · paquets" --> DL["dl.cyberwatch.com"]

Requisits de maquinari

La màquina ha de disposar com a mínim de 2 vCPU, 8 GB de memòria i 32 GB d’espai de disc repartits entre /var/lib/docker (12 GB) i /var/lib/containerd (20 GB).

Es recomana assignar tot l’espai de disc a la partició arrel /. La distribució anterior només es dona a títol informatiu.

Així es comproven els requisits de maquinari:

  1. Comproveu el nombre de vCPU:

    lscpu | grep "CPU(s):"
    
  2. Comproveu la memòria disponible:

    free -m
    
  3. Comproveu l’espai de disc disponible per a la carpeta /var/lib/docker/:

    df /var/lib/docker/
    

Instal·lació del node mestre

  1. Seguiu el procediment estàndard de desplegament i atureu-vos just abans de configurar Cyberwatch

  2. Configureu Cyberwatch:

    • Configureu Cyberwatch en el cas d’un node mestre que allotja la base de dades:

      sudo cyberwatch configure --master
      
    • Configureu Cyberwatch en el cas d’un node mestre amb una base de dades externa:

      sudo cyberwatch configure --master --no-db
      

Instal·lació del node satèl·lit

Els secrets i el certificat arrel del node mestre es copien al node satèl·lit abans de configurar-lo:

sequenceDiagram
  participant M as Node mestre
  participant A as Administrador
  participant S as Node satèl·lit
  Note over M,S: Mateixa versió de Cyberwatch als dos nodes
  A->>S: Procediment estàndard, aturada abans de la configuració
  A->>M: cyberwatch show-secrets
  M-->>A: secrets
  A->>S: /etc/cyberwatch/secrets.env
  A->>M: cyberwatch show-root-cert
  M-->>A: certificat arrel
  A->>S: /etc/cyberwatch/certs/cbw-root-ca-cert.pem
  A->>S: cyberwatch configure --satellite
  S->>M: Connexió SQL (3306) i Redis (6379)
  1. Seguiu el procediment estàndard de desplegament i atureu-vos just abans de configurar Cyberwatch

  2. Executeu l’ordre següent al node mestre:

    sudo cyberwatch show-secrets
    
  3. Escriviu el resultat de l’ordre anterior al node satèl·lit, al fitxer /etc/cyberwatch/secrets.env:

    vim /etc/cyberwatch/secrets.env
    chmod 600 /etc/cyberwatch/secrets.env
    
  4. Executeu l’ordre següent al node mestre:

    sudo cyberwatch show-root-cert
    
  5. Escriviu el resultat de l’ordre anterior al node satèl·lit, al fitxer /etc/cyberwatch/certs/cbw-root-ca-cert.pem:

    mkdir -p /etc/cyberwatch/certs
    vim /etc/cyberwatch/certs/cbw-root-ca-cert.pem
    
  6. Configureu Cyberwatch:

    sudo cyberwatch configure --satellite
    

Validació del funcionament

  1. Per validar que el node satèl·lit pot connectar amb el node mestre, comproveu els registres de sidekiq:

    sudo cyberwatch logs sidekiq