Copia NCC_Onprem_12_4_Installer.zip nella directory home di tutti i nodi.
Ad esempio, scp NCC_Onprem_12_4_Installer.zip -i ssh_key.pem my-user@webrtc.corp.example.com:/home/my-user/
Introduzione
Adobe Connect utilizza il framework WebRTC più recente per offrire funzionalità audio e video ottimizzate. Questa impostazione audio-video avanzata viene eseguita in genere su più nodi Linux® che hanno ruoli specifici. Sono presenti nodi multimediali, di segnalazione e di registrazione. Questa configurazione utilizza anche i database PostgreSQL e Redis che possono essere installati su uno o più computer a seconda dell’utilizzo.
Ogni nodo viene configurato copiando il file zip del programma di installazione, modificando i file di configurazione, eseguendo lo script di installazione della dipendenza e infine eseguendo lo script di installazione principale. Di seguito sono riportati gli argomenti trattati:
- Preparazione dell’ambiente
- Aggiornamento di un sistema con 12.0, 12.1, 12.1.5
- Configurare audio-video avanzato in Adobe Connect Service (CPS)
Questi passaggi sono descritti nella sezione Installazione.
Prerequisiti e requisiti di sistema
Stima delle dimensioni dei server/nodi audio/video ottimizzati
È possibile eseguire il file session_participants_count.sql per stimare le dimensioni dei server audio/video ottimizzati. L’output delle query SQL è costituito dagli input per il calcolatore, ovvero un file Excel denominato Additional Enhanced A/V hardware estimator.xlsx.
Il calcolatore ti aiuta a stimare il numero di macchine virtuali necessarie in base all’utilizzo precedente di Adobe Connect. Il calcolatore ha bisogno della seguente serie di input.
- Il numero di RAM e core CPU dei server.
Le query SQL allegate vengono utilizzate per determinare il numero massimo di sessioni simultanee eseguite negli ultimi 12 mesi e il numero medio di partecipanti.
Il numero di editori stimato in ciascuna sessione. Un editore è un partecipante alla riunione (ospitante, relatore o partecipante) che collega il microfono (disattivato o attivato) e la webcam (sia attivata che in pausa) nella sala riunioni.
Entrambi i file session_participants_count.sq e Additional Enhanced A/V hardware estimator.xlsx sono inclusi nel pacchetto del programma di installazione e non sono disponibili altrove.
Stima dei requisiti di certificato FQDN e SSL
FQDN:
Un record DNS pubblico per un Application Load Balancer esterno, ad esempio webrtc.example.com
Un record DNS pubblico per ogni server multimediale, ad esempio media-1.example.com
CERTIFICATI SSL:
Un certificato SSL per LB FQDN
La configurazione TURNS è consigliata per i server multimediali, quindi è consigliato un certificato per ciascun server multimediale.
Nozioni fondamentali sull’architettura di rete
Requisiti per l’apertura delle porte
Origine | Destinazione | Porta | Protocollo | Usa |
---|---|---|---|---|
Nodo di segnalazione | Redis | 6379 | TCP | |
Postgres | 5432 | TCP | ||
Nodo di registrazione | 5000-5100 | TCP | ||
Nodo ASR | 6000-6100 | TCP | ||
Nodo server multimediale o SIP |
5060 | UDP | Per segnalazione SIP |
|
Nodo server multimediale o SIP |
5060 | TCP | ||
Server CPS | 80 | TCP | Per configurazioni POC o demo in esecuzione senza SSL |
|
Server CPS/bilanciatore del carico | 443 | TCP | ||
Nodo di registrazione | Nodo server multimediale (*) |
443 | TCP | TURNS |
3478 | UDP | STUN/TURN | ||
3478 | TCP | STUN/TURN | ||
30000 - 65535 | UDP | SRTP (flusso multimediale in tempo reale) | ||
Server CPS | 80 | TCP | Per configurazioni POC o demo in esecuzione senza SSL |
|
Server CPS/bilanciatore del carico | 443 | TCP | ||
Redis | 6379 | TCP | ||
Nodo di segnalazione | 8090 | TCP |
||
Nodo di segnalazione |
18443 | TCP | Per configurazioni POC o demo in esecuzione senza bilanciatore del carico |
|
Bilanciamento del carico WebRTC (**) | 443 | TCP |
||
Nodo server multimediale | Redis | 6379 | TCP |
|
Postgres | 5432 | TCP |
||
stun.I.google.com | 19302 | UDP | Per scoprire l’IP pubblico. Verifica del tipo NAT. |
|
stun1.I.google.com |
19302 | UDP | Per scoprire l’IP pubblico. Verifica del tipo NAT. |
|
Nodo di segnalazione | 18443 | TCP | Per configurazioni POC o demo in esecuzione senza bilanciatore del carico |
|
Nodo server multimediale | 8445 | TCP | Per eseguire il clustering in caso di più supporti |
|
Bilanciamento del carico WebRTC (**) | 443 | TCP |
Per la registrazione su gateway WebRTC |
|
Server CPS | Bilanciamento del carico WebRTC |
443 | TCP | |
Nodo di registrazione | 80 | TCP |
Download dei file di registrazione | |
Nodo di segnalazione | 18443 | TCP | Per configurazioni POC o demo in esecuzione senza bilanciatore del carico |
|
Utenti/client/Internet | Nodo server multimediale (*) |
443 | TCP |
TURNS (audio-video su TLS) |
3478 | UDP | STUN/TURN |
||
3478 | TCP | STUN/TURN |
||
30000 - 65535 | UDP | SRTP (flusso multimediale in tempo reale) |
||
Server CPS | 80 | TCP |
Per configurazioni POC o demo in esecuzione senza SSL |
|
Server CPS/bilanciatore del carico | 443 | TCP | ||
Nodo di segnalazione | 18443 | TCP | Per configurazioni POC o demo in esecuzione senza bilanciatore del carico |
|
Bilanciamento del carico WebRTC |
443 | TCP |
||
Nodo SIP | Redis | 6379 | TCP |
Nella maggior parte dei casi, il servizio SIP viene eseguito sul nodo server multimediale |
Postgres | 5432 | TCP |
||
Bilanciamento del carico WebRTC |
443 | TCP |
||
Nodo di segnalazione | 18443 | TCP | Per configurazioni POC o demo in esecuzione senza bilanciatore del carico |
|
Sottotitoli automatici/nodo ASR | Redis | 6379 | TCP | |
Nodo di segnalazione | 8080 | TCP | Per connessione multimediale |
|
Nodo server multimediale (*) | 3000-65535 | UDP | SRTP (flusso multimediale in tempo reale) |
|
443 | TCP |
TURNS | ||
3478 | UDP | STUN/TURN | ||
3478 | STUN/TURN | |||
Nodo di segnalazione | 8090 | TCP |
||
Server CPS | 80 | TCP |
Per configurazioni POC o demo in esecuzione senza SSL |
|
Server CPS/bilanciatore del carico | 443 | TCP |
* Nella maggior parte dei casi, i server multimediali hanno un indirizzo IP pubblico, ma in ambienti con restrizioni in cui non è necessario l’accesso ad Adobe Connect tramite Internet, le porte devono essere aperte per il suo indirizzo IP privato.
** È disponibile un bilanciamento del carico WebRTC esterno per indirizzare il traffico a più nodi di segnalazione e per l’offload SSL. Il bilanciamento del carico funge da interfaccia tra i nuovi server WebRTC, i CPS e gli utenti finali.
Il bilanciamento del carico viene in genere effettuato tramite un Application Load Balancer esterno con la configurazione seguente.
Porta HTTPS 443: porta HTTP 18443 dei nodi di segnalazione - CPS e utenti finali si connettono a questo listener, ovvero il punto di ingresso del nuovo cluster WebRTC.
Porta HTTPS 443: porta HTTP 9090 dei nodi di segnalazione. L’amministratore utilizza questa porta per connettersi al pannello Web dell’amministratore WebRTC per configurare TURNS e SIP/telefonia.
Per ulteriori informazioni, consulta Configurazione del bilanciamento del carico per l’impostazione locale dell’esperienza audio/video avanzata (WebRTC).
Requisiti di sistema per i server audio/video ottimizzati
- Sistema operativo: Red Hat Enterprise Linux 8.6 versione a 64 bit
- Librerie di terze parti (open source) installate sui server:
- Podman 4.2.0
- Virtualenv 20.19.0
- Python 3.9
- Pip 21.3.1
- Librerie di Python (pydantic, pyhocon, docker, redis, packaging, psycopg2-binary, python-json-logger, pystun3, coloredlogs, colorama)
Una configurazione AV standard richiede almeno tre server Red Hat. Uno per ciascun nodo di segnalazione, registrazione e multimediale. La stima basata sul carico della riunione potrebbe suggerire più nodi server multimediali, di registrazione e segnalazione. Un Application Load Balancer sarebbe usato per l’offload SSL e per la comunicazione tra CPS e client degli utenti finali con nodi di segnalazione.
Alcune configurazioni basate sul carico potrebbero avere solo due server con i contenitori del servizio di registrazione in esecuzione sul nodo di segnalazione.
Di seguito vengono descritte in dettaglio le tre configurazioni di server più comuni.
- Seleziona 3 server Red Hat. Per la configurazione, fai riferimento alla stima dell’hardware.
- L’installazione richiede un utente non root con accesso sudo.
- Dopo una nuova installazione di Red Hat, crea un nuovo ID utente.
- Per abilitare sudo per il nuovo ID utente in RHEL, aggiungi l’ID al gruppo di ruote:
- Diventa root eseguendo su.
- Esegui usermod -aG wheel your_user_id.
- Esci e riaccedi utilizzando il nuovo ID.
- Diventa root eseguendo su.
- Assegna indirizzi IP statici ai nodi di segnalazione e registrazione.
- Fornisci e assegna un indirizzo IP pubblico al server multimediale. Se utilizzi un NAT 1:1, l’IP pubblico deve essere mappato all'IP privato del server multimediale.
- Crea un record DNS pubblico per server multimediale. È altamente consigliato configurare TURNS (connessione su TLS 443) e un certificato SSL per questo FQDN.
- Apri le porte di rete richieste tra i tre nodi. Consulta la sezione Architettura di rete.
- Imposta un Application Load Balancer esterno come descritto nella sezione precedente. Inoltre, configura un record DNS pubblico per il bilanciatore del carico e fornisci un certificato SSL.
Copia il file zip Installer
-
-
Facoltativamente, puoi verificare lo zip firmato scaricato utilizzando Jarsigner. Jarsigner è installato come parte di JAVA.
- Verifica se JAVA è installato mediante il comando [ java -version ]. Se Java è installato, viene visualizzata la versione JAVA come output.
- Se Java non è presente nel computer, installa JAVA.
sudo yum install java-1.8.0-openjdk-devel - Ora copia il comando seguente nella finestra Terminale e premi Invio.
jarsigner -verify -verbose NCC_Onprem_12_4_Installer.zip - L’output di verifica include:
- l’elenco dei file all’interno del pacchetto zip
- le informazioni sul certificato fornite da Adobe per l’autenticazione
- il messaggio di output che indica che l’operazione è riuscita "jar is verified" o non è riuscita "jar is not verified"
- Se le informazioni sul certificato sono valide e se il messaggio di output relativo alla verifica riuscita viene stampato, l’utente può utilizzare i contenuti del pacchetto zip e procedere quindi all’installazione. In caso contrario, l’utente deve contattare il supporto di Adobe.
-
Estrai il pacchetto ZIP. Assicurati che i file dispongano delle autorizzazioni appropriate.
Utilizza i comandi: Non eseguire alcun comando con accesso root/sudo a meno che non sia specificato chiaramente.Decomprimi NCC_Onprem_12_4_Installer.zip
Passa alla directory principale del programma di installazione, ad esempio
cd ~/ncc-onprem-installer/
sudo chmod +x ExternalDependencies/install.sh
sudo chmod +x MainInstall.sh
sudo chmod +x check-connection.sh
sudo chmod +x uninstall.shNota:Quando esegui la configurazione in un ambiente senza accesso a Internet o con un ambiente bloccato, esegui il comando seguente:
sudo chmod +x Externaldependecies/package-util.sh
-
Esecuzione dello script di installazione della dipendenza.
- Quando esegui la configurazione in un ambiente senza accesso a Internet o con un ambiente bloccato, esegui il comando seguente per installare dipendenze esterne. Se disponi di un accesso a Internet, continua con il passaggio 2.
Passa alla directory principale del programma di installazione, ad esempio, assicurati di essere nella directory ~/ncc-onprem-installer/.
Esegui bash ExternalDependencies/package-util.sh —install. Verranno così installate tutte le dipendenze esterne nella posizione.
Questo è necessario una volta per nodo.
- Passa alla directory principale del programma di installazione, ad esempio, assicurati di essere nella directory ~/ncc-onprem-installer/.
Esegui bash ExternalDependencies/install.sh. Verranno così installate tutte le dipendenze esterne nella posizione.
Questo è necessario una volta per nodo.
- Quando esegui la configurazione in un ambiente senza accesso a Internet o con un ambiente bloccato, esegui il comando seguente per installare dipendenze esterne. Se disponi di un accesso a Internet, continua con il passaggio 2.
Processo di installazione
La procedura seguente illustra come installare l’ambiente WebRTC (ad esempio) in 4 istanze Red Hat separate. Un nodo di segnalazione, un nodo di registrazione, un nodo server multimediale e un nodo ASR. Presta particolare attenzione ai servizi configurati in containers.conf per le istruzioni di ogni nodo. È necessario configurare ogni nodo con un set specifico di servizi/contenitori nei file di configurazione.
** Su un sistema lab, è possibile installare tutti questi “nodi” (segnalazione, registrazione, multimediale e server ASR) su un’istanza Linux. In tal caso, in containers.conf imposta 'count=1' per tutti i server/contenitori necessari per l’ambiente.
Nodo di segnalazione
Nei nodi di segnalazione, in genere si eseguono i seguenti servizi. Ogni servizio viene eseguito come un contenitore docker.
- config (servizio di configurazione)
- cas (nuovo servizio API Connect)
- apigw (Gateway/router API)
- liveswitch-gateway (servizio WebRTC Gateway)
I nodi di segnalazione si trovano tipicamente nella sottorete privata accessibile al client Connect tramite un bilanciamento del carico esterno.
Procedura
-
Modifica il file hosts
Sul nodo di segnalazione, il file hosts deve essere aggiornato. Si potrebbe usare un editor di testo come nano o vi.
- Apri il file /etc/hosts utilizzando l’editor nano o vi, ad esempio sudo vi /etc/hosts
- Aggiungi la riga seguente alla fine. Sostituisci <private-ip> con l’IP privato dell’host. Nota lo spazio tra ciascuna delle parole sottostanti.
<private-ip> cas.ncc.svc.cluster.local gw.fm.ncc.internal config.ncc.svc.cluster.local pi.ncc.svc.cluster.local auth.ncc.svc.cluster.local
192.168.1.100 cas.ncc.svc.cluster.local gw.fm.ncc.internal config.ncc.svc.cluster.local pi.ncc.svc.cluster.local auth.ncc.svc.cluster.local
Sul nodo ASR, il file hosts deve essere aggiornato. Si potrebbe usare un editor di testo come nano o vi.
- Apri il file /etc/hosts utilizzando l’editor nano o vi, ad esempio sudo vi /etc/hosts
- Aggiungi la riga seguente alla fine. Sostituisci <private-ip> con l’IP privato dell’host. Nota lo spazio tra ciascuna delle parole sottostanti.
<private-ip> gw.fm.ncc.internal
Nota:Modifica <private-ip> con l’IP privato dell’host di segnalazione
- Apri il file /etc/hosts utilizzando l’editor nano o vi, ad esempio sudo vi /etc/hosts
-
Modifica i file di configurazione
- Modifica il file di configurazione presente in ncc-onprem-installer/Config/config.conf. Le istruzioni per modificare il file vengono aggiunte come commenti nel file di configurazione. Questo file deve essere modificato separatamente per ciascun host.
- Quindi modifica ncc-onprem-installer/Config/containers.conf. Le istruzioni per modificare il file vengono aggiunte come commenti nel file. Questo file deve essere modificato separatamente per ciascun host. A seconda dei servizi da installare e del numero di contenitori da adottare.
- In un normale nodo di segnalazione, si installa:
- casServer
- configService
- apiGateway
- gatewayServer
- redis
- postgres
- lb (Facoltativo. Per ulteriori passaggi di configurazione, consulta la sezione Bilanciamento del carico riportata di seguito.)
- Quindi, imposta count=1 per tutti i servizi sopra e 0 per tutti gli altri.
- Importante: dopo aver apportato qualsiasi modifica a Config.conf, imposta restart=1 per configService.
- Nelle configurazioni che richiedono più nodi di segnalazione, i database Redis e Postgres sono installati solo sul primo nodo.
- Modifica il file di configurazione presente in ncc-onprem-installer/Config/config.conf. Le istruzioni per modificare il file vengono aggiunte come commenti nel file di configurazione. Questo file deve essere modificato separatamente per ciascun host.
-
Esecuzione dello script del programma di installazione principale .
Passa alla directory del programma di installazione principale cd ~/ncc-onprem-installer/
Esegui lo script del programma di installazione principale, bash MainInstall.sh. Attendi il messaggio di conferma.
Messaggio di esito positivo:
2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful.
Messaggio di errore:
2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed. Controlla il file installer.log per ulteriori informazioni.Fai riferimento alla sezione risoluzione dei problemi.
-
Verifica dell’installazione
- API di verifica dello stato
Per la verifica dello stato del nodo, puoi accedere all’URL: http://<private_ip>:18443/health. Una risposta positiva deve essere 200 OK {"apigw":"ok"}.
Per verificare dal computer RedHat, puoi usare il comando CURL
Ad esempio, curl -v http://172.31.56.203:18443/health - Verifica stato contenitore
Nella finestra Terminale, esegui il comando docker ps.
L’output come quello riportato di seguito e lo STATO non devono essere riavviati per nessuno dei contenitori.
- API di verifica dello stato
-
Utilizzare il contenitore combinato Nginx Load Balancer (bilanciamento del carico)
Il programma di installazione è ora fornito con un contenitore open source Nginx per l’offload SSL.
Questo deve essere utilizzato solo per laboratori o piccole configurazioni con solo 1 nodo di segnalazione.
Dovresti installare il bilanciamento del carico sul nodo di segnalazione.
Quando si utilizza questo bilanciamento del carico combinato, il nodo di segnalazione deve essere nelle sottoreti pubbliche (o DMZ) e assegnato a un IP pubblico o mappato a un IP pubblico tramite NAT 1:1. I client si connettono al nodo direttamente tramite l’URL del bilanciamento del carico sulla porta 443.
Nelle configurazioni in cui l’accesso a Connect non è richiesto da Internet, il nodo di segnalazione dovrebbe essere nella sottorete privata ma ancora accessibile dalla rete interna sulla porta 443.
Requisiti:
- Record DNS pubblici/privati a seconda del caso di utilizzo
- Certificato SSL per il record DNS
- Chiave privata per il certificato SSL
Passaggi per l’uso del bilanciamento del carico:
- mkdir -p ~/connect/loadbalancer/certs
- Copia il certificato SSL (rilasciato per FQDN del nodo di segnalazione) e la chiave privata nella directory certs. Verifica che i nomi siano cert.crt e key.key.
- Nel file config.conf, aggiungi il file FQDN nelle sezioni hostnames>lb e hostnames>fqdn in quanto punto di ingresso del cluster WebRTC.
- Nel file container.conf, aggiorna il numero del bilanciamento del carico a 1.
- Quindi esegui bash MainInstall.sh.
Se utilizzi un certificato con carattere jolly con un’istanza AWS EC2:
- Crea un record A in Route53. Ad esempio, se il certificato carattere jolly è *.example.com, crea il record A come webrtc.example.com e mappalo sull’IP elastico dell’istanza EC2.
- Copia il certificato con carattere jolly e la chiave nella directory ~/connect/loadbalancer/certs. Verifica che i nomi siano cert.crt e key.key.
- Aggiungi il FQDN. Ad esempio, webrtc.example.com nelle sezioni hostnames>lb e hostnames>fqdn.
- Nel file container.conf, aggiorna il numero del bilanciamento del carico a 1.
- Quindi esegui bash MainInstall.sh.
Nei nodi multimediali, eseguirai i seguenti servizi:
- liveswitch-media-server (Media Server) – Per un audio-video ottimizzato
- liveswitch-sip-connector (SIP service) – Per utilizzare SIP
I nodi multimediali devono essere nelle sottoreti pubbliche (o DMZ) ed essere assegnati a un IP pubblico o mappati ad un IP pubblico tramite NAT 1:1. I client si connettono direttamente agli IP pubblici del nodo multimediale.
Il client AV (WebRTC) ottimizzato utilizza il metodo ICE per la connettività e tenta di stabilire un flusso audio-video con il server multimediale sulle porte e sul protocollo seguenti:
- Le porte UDP nell’intervallo 30000 - 65535 gestiscono il flusso multimediale in tempo reale.
- Le porte UDP e TCP 3478 gestiscono il traffico STUN e TURN per aiutare i client a passare attraverso i firewall.
- TLS sulla porta 443 per abilitare TURNS per garantire un’alta disponibilità per lo streaming in reti limitate.
- Il client basato su WebRTC C12 prova a utilizzare tutte le opzioni (TCP e UDP) prima di passare a TLS sulla porta 443.
- Le porte UDP e TCP 5060 gestiscono il traffico SIP per la registrazione trunk/PBX e le chiamate in entrata/uscita. (Richiesto se utilizzi SIP)
Procedura
-
Esecuzione dello script del programma di installazione principale.
Passa alla directory del programma di installazione principale cd ~/ncc-onprem-installer/
Eseguire lo script del programma di installazione principale, bash MainInstall.sh. Attendi il messaggio di conferma.
Messaggio di operazione completata
2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful.
Messaggio di errore
2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed. Controlla il file installer.log per ulteriori informazioni.Fai riferimento alla sezione risoluzione dei problemi.
-
Verifica dell’installazione
Nella finestra Terminale, esegui il comando docker ps e assicurarti che il contenitore liveswitch-media-server sia in esecuzione.
Nodo di registrazione
I nodi di registrazione devono essere eseguiti in una rete privata. Sui nodi di registrazione, puoi eseguire una o più istanze di:
- hcr (Contenitore di registrazione. numero di contenitori hcr decidono le registrazioni simultanee che possono essere eseguite)
- recordingserver (WebServer per gestire i file di registrazione su CPS. 1 per nodo di registrazione)
I nodi di registrazione devono essere raggiungibili su:
- TCP 80 dalla rete locale, in modo che CPS possa scaricare le registrazioni.
- TCP 5000-5100 dalla rete locale: i singoli contenitori di registrazione vengono associati alle porte host in quell’intervallo.
- TCP 8090 dalla rete locale.
Per effettuare correttamente una registrazione, i nodi di registrazione devono poter raggiungere i nodi multimediali nell’IP pubblico sulle porte elencate nella sezione nodi multimediali e a CPS sulla porta 443.
Procedura
-
Modifica i file di configurazione
- Modificare il file config.conf o copiarlo dal nodo di segnalazione, ~/ ncc-onprem-installer /Config/config.conf.
- Quindi modifica ~/ncc-onprem-installer/Config/containers.conf. Le istruzioni per modificare il file vengono aggiunte come commenti nel file.
- Su un nodo server di registrazione, installerai:
- recordingContainer
- recordingserver
- recordingContainer
- Pertanto, imposta count >= 1 per recordingContainer, 1 per recordingserver e 0 per tutti gli altri.
-
Esecuzione dello script del programma di installazione principale
Passa alla directory del programma di installazione principale cd ~/ncc-onprem-installer/ncc-onprem-installer/.
Esegui lo script del programma di installazione principale bash MainInstall.sh. Attendi il messaggio di conferma.
Messaggio di esito positivo
2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful.
Messaggio di errore
2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed. Controlla il file installer.log per ulteriori informazioni.Fai riferimento alla sezione risoluzione dei problemi.
-
Verifica dell’installazione
Nella finestra Terminale, esegui il comando B e assicurati che i contenitori hcr e recordingserver siano in esecuzione.
Nodo ASR
I nodi ASR o di sottotitoli devono essere eseguiti in una rete privata. Sui nodi ASR, puoi eseguire una o più istanze di ASR (Contenitore ASR: il numero di contenitori ASR decide il numero di riunioni che avranno sottotitoli in esecuzione contemporaneamente).
I nodi ASR dovrebbero essere raggiungibili su TCP 6000-6100 dalla rete locale: i singoli contenitori ASR vengono associati alle porte host in quell’intervallo.
Procedura
-
Modifica i file di configurazione.
-
Modificare il file config.conf o copiarlo dal nodo di segnalazione, ~/ ncc-onprem-installer /Config/config.conf.
-
Quindi modifica ~/ncc-onprem-installer/Config/containers.conf.
-
In un nodo ASR, installerai:
asrContainer
Pertanto, imposta set count >= 1 per asrContainer
-
Esecuzione dello script del programma di installazione principale.
Passa alla directory del programma di installazione principale cd ~/ncc-onprem-installer/ncc-onprem-installer/.
Esegui lo script del programma di installazione principale bash MainInstall.sh. Attendi il messaggio di conferma.Messaggio di esito positivo
2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful.
Messaggio di errore
2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed. Controlla il file installer.log per ulteriori informazioni.
Preparazione dell’ambiente
Copia il file zip Installer.
-
Copia NCC_Onprem_12_4_Installer.zip nella directory home di tutti i nodi.
Ad esempio, scp NCC_Onprem_12_4_Installer.zip -i ssh_key.pem my-user@webrtc.corp.example.com:/home/my-user/ -
Facoltativamente, puoi verificare lo zip firmato scaricato utilizzando Jarsigner. Jarsigner è installato come parte di JAVA.
- Verifica se JAVA è installato mediante il comando [ java -version ]. Se Java è installato, viene visualizzata la versione JAVA come output.
- Se Java non è presente nel computer, installa JAVA.
sudo yum install java-1.8.0-openjdk-devel - Ora copia il comando seguente nella finestra Terminale e premi Invio.
jarsigner -verify -verbose NCC_Onprem_12_4_Installer.zip - L’output di verifica include:
- l’elenco dei file all’interno del pacchetto zip
- le informazioni sul certificato fornite da Adobe per l’autenticazione
- il messaggio di output che indica che l’operazione è riuscita "jar is verified" o non è riuscita "jar is not verified"
- Se le informazioni sul certificato sono valide e se il messaggio di output relativo alla verifica riuscita viene stampato, l’utente può utilizzare i contenuti del pacchetto zip e procedere quindi all’installazione. In caso contrario, l’utente deve contattare il supporto di Adobe.
-
Estrai il pacchetto ZIP. Assicurati che i file dispongano delle autorizzazioni appropriate.
Utilizza i comandi: Non eseguire alcun comando con accesso root/sudo a meno che non sia specificato chiaramente.Decomprimi NCC_Onprem_12_4_Installer.zip
Passa alla directory principale del programma di installazione, ad esempio
cd ~/ncc-onprem-installer/
sudo chmod +x ExternalDependencies/install.sh
sudo chmod +x MainInstall.sh
sudo chmod +x check-connection.sh
sudo chmod +x uninstall.sh -
Esecuzione dello script di installazione della dipendenza.
Passa alla directory principale del programma di installazione, ad esempio
Assicurati di essere in ~/ncc-onprem-installer/ directory
Esegui bash ExternalDependencies/install.sh. Verranno così installate tutte le dipendenze esterne nella posizione.Questo è necessario una volta per nodo.
Il processo di aggiornamento richiede tempi di inattività.
Nodo di segnalazione
Nei nodi di segnalazione, in genere si eseguono i seguenti servizi. Ogni servizio viene eseguito come un contenitore docker.
- config (servizio di configurazione)
- cas (nuovo servizio API Connect)
- apigw (Gateway/router API)
- liveswitch-gateway (servizio WebRTC Gateway)
Procedura
-
Modifica i file di configurazione
- Modifica il file di configurazione presente in ncc-onprem-installer/Config/config.conf. Le istruzioni per modificare il file vengono aggiunte come commenti nel file di configurazione. Questo file deve essere modificato separatamente per ciascun host. Puoi utilizzare il file config.conf dell’installazione precedente come riferimento. Non sostituire il nuovo file con quello precedente. La versione più recente ha aggiornamenti importanti.
- Quindi modifica ncc-onprem-installer/Config/containers.conf. Le istruzioni per modificare il file vengono aggiunte come commenti nel file. Questo file deve essere modificato separatamente per ciascun host.
- Quando aggiorni il nodo di segnalazione, solitamente installerai:
- casServer
- configService
- apiGateway
- gatewayServer
- Fai riferimento al file della precedente installazione per identificare i servizi da installare e il numero di contenitori da adottare. Imposta count=1 per tutti i servizi precedentemente installati e 0 per tutti gli altri.
- Importante: dopo aver apportato qualsiasi modifica a Config.conf o quando aggiorni utilizzando una nuova versione del programma di installazione, imposta restart=1 per configService.
- Importante: quando esegui l’aggiornamento, i database Redis e Postgres forniti non vengono installati, quindi mantieni il loro conteggio nel file containers.conf su 0.
-
Passa alla directory del programma di installazione principale cd ~/ncc-onprem-installer/
Esegui lo script del programma di installazione principale, bash MainInstall.sh. Il programma di installazione aggiorna automaticamente i servizi alla versione più recente. Attendi il messaggio di conferma.
Messaggio di esito positivo:
2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful.
Messaggio di errore:
2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed. Controlla il file installer.log per ulteriori informazioni. -
Verifica dell’installazione
- API di verifica dello stato
Per la verifica dello stato del nodo, puoi accedere all’URL: http://<private_ip>:18443/health. Una risposta positiva deve essere 200 OK {"apigw":"ok"}. Per verificare dal computer RedHat potete usare il comando CURL.
Ad esempio, curl -v http://172.31.56.203:18443/health Verifica stato contenitore
Nella finestra Terminale, esegui il comando docker ps
L’output come quello sottostante e lo STATO non devono essere riavviati per nessuno dei contenitori.
- API di verifica dello stato
Nodo server multimediale
Nei nodi multimediali, eseguirai i seguenti servizi:
- liveswitch-media-server (Media Server) – Per un audio-video ottimizzato
- liveswitch-sip-connector (SIP service) – Per utilizzare SIP
Procedura
-
Modifica dei file di configurazione.
-
Modifica il file config.conf o copialo dal nodo di segnalazione, ~/ncc-onprem-installer /Config/config.conf. Puoi utilizzare il file config.conf dell’installazione precedente come riferimento. Non sostituire il nuovo file con quello precedente. La versione più recente ha aggiornamenti importanti.
Nota:In un ambiente con restrizioni, lascia le voci vuote per externalStunUrls0 e externalStunUrls1 nella sezione gatewayServer. Ad esempio, externalStunUrls0="" , externalStunUrls1="".
-
Quindi modifica ~/ncc-onprem-installer/Config/containers.conf. Le istruzioni per modificare il file vengono aggiunte come commenti nel file.
-
Quindi modifica ~/ncc-onprem-installer/Config/containers.conf. Le istruzioni per modificare il file vengono aggiunte come commenti nel file.
-
Su un nodo server multimediale eseguirai l’aggiornamento di:
- mediaServer
- sipServer (se è necessario SIP/telefonia)
-
Fai riferimento al file della precedente installazione per identificare i servizi da installare e il numero di contenitori da adottare. Imposta count=1 per tutti i servizi precedentemente installati e 0 per tutti gli altri.
-
Nel blocco mediaServer, aggiorna i valori per mediaNodePublicIP e mediaNodePublicFQDN. Per ulteriori dettagli, consulta i commenti inline.
-
-
Esegui lo script del programma di installazione principale
Passa alla directory del programma di installazione principale cd ~/ncc-onprem-installer/
Esegui lo script del programma di installazione principale, bash MainInstall.sh. Il programma di installazione aggiorna automaticamente i servizi alla versione più recente. Attendi il messaggio di conferma.
Messaggio di esito positivo:
2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful.
Messaggio di errore:
2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed. Controlla il file installer.log per ulteriori informazioni.Fai riferimento alla sezione risoluzione dei problemi.
-
Verifica dell’installazione
Nella finestra Terminale, esegui il command docker ps e verifica che i contenitori liveswitch-media-server e liveswitch-sip-connector (installazione facoltativa) siano in esecuzione.
Nodo di registrazione
I nodi di registrazione devono essere eseguiti in una rete privata. Sui nodi di registrazione, puoi eseguire una o più istanze di:
hcr (Container di registrazione. Il numero di contenitori hcr è uguale al numero di registrazioni simultanee eseguibili.)
Procedura
-
Modifica i file di configurazione
- Modifica il file config.conf o copialo dal nodo di segnalazione, ~/ ncc-onprem-installer /Config/config.conf. Puoi utilizzare il file config.conf dell’installazione precedente come riferimento. Non sostituire il nuovo file con quello precedente. La versione più recente ha aggiornamenti importanti.
- Quindi modifica ~/ncc-onprem-installer/Config/containers.conf. Le istruzioni per modificare il file vengono aggiunte come commenti nel file.
- Su un nodo server di registrazione, eseguirai l’aggiornamento di:
- recordingContainer
- Fai riferimento a containers.conf dalla precedente directory di installazione e imposta lo stesso valore del conteggio per recordingContainer e 0 per tutti gli altri servizi.
- Modifica il file config.conf o copialo dal nodo di segnalazione, ~/ ncc-onprem-installer /Config/config.conf. Puoi utilizzare il file config.conf dell’installazione precedente come riferimento. Non sostituire il nuovo file con quello precedente. La versione più recente ha aggiornamenti importanti.
-
Esecuzione dello script del programma di installazione principale.
Passa alla directory del programma di installazione principale cd ~/ncc-onprem-installer/ncc-onprem-installer/
Esegui lo script del programma di installazione principale, bash MainInstall.sh. Il programma di installazione aggiorna automaticamente i servizi alla versione più recente. Attendi il messaggio di conferma.
Messaggio di esito positivo:
2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful.
Messaggio di errore:
2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed. Controlla il file installer.log per ulteriori informazioni.Fai riferimento alla sezione risoluzione dei problemi.
-
Verifica dell’installazione
Nella finestra Terminale, esegui il comando docker ps e assicurati che i contenitori hcr siano in esecuzione.
I seguenti passaggi devono essere eseguiti su tutti i server Adobe Connect 12 (CPS):
- Aggiungi le seguenti configurazioni in custom.ini dei server Connect presenti in <Installation_Dir>/Connect/custom.ini.
# elenco separato da virgole degli URL di individuazione CAS
# Possibili valori
WEBRTC_CAS_DISCOVERY_URLS=http://<Signalling Node IP >:18443/api/cps/ingest
WEBRTC_CAS_DISCOVERY_URLS=http://<Load Balancer URL>/api/cps/ingest
# Segreto condiviso per CAS, utilizzato per firmare le richieste a CAS. Immetti quello impostato nella sezione hmac nel file config.conf sul nodo di segnalazione.
WEBRTC_CAS_SHARED_SECRET=CorrectHorseBatteryStaple - Salva il file e riavvia il servizio connectpro.
Processo di post-installazione
-
Verifica della connettività di rete
Esegui il flusso di lavoro Connectivity Test per verificare la connettività di rete tra nodi diversi
- Accedi al nodo di segnalazione.
- Passa alla directory principale del programma di installazione, ad esempio
cd ~/ncc-onprem-installer/ncc-onprem-installer/ - Esegui il comando bash check-connection.sh.
- Lo strumento connettività utilizza i valori forniti nella proprietà Config.conf per eseguire test di rete di base come:
- Richieste HTTP tra servizi diversi
- Test di connettività di rete sulle porte TCP e UDP richieste
- Risoluzione nome
- Connettività database
- Questo test controlla la connettività richiesta tra i nodi e i servizi, e condivide i risultati per aiutare a diagnosticare i problemi di connettività di rete.
-
Test di Adobe Connect Meeting con funzionalità audio-video ottimizzate
- Crea una nuova riunione e accertati che sia selezionata l’opzione audio/video ottimizzati.
- Entra nella sala riunioni e accendi il microfono e la videocamera.
- Se possibile, entra nella sala anche da un altro PC o dispositivo mobile e verifica lo scambio audio-video.
- Prova la condivisione dello schermo.
- Avvia la registrazione. Aspetta 30 secondi e interrompi. Quindi verifica se la registrazione è accessibile.
Configura le funzioni aggiuntive
Configurazione di SIP
Per configurare SIP, è necessario accedere al pannello Web dell’amministratore FM.
-
Visita il sito http://<your-load-balancer-address>:9090/admin e accedi con il nome utente e la password configurati in config.conf. Se non usate il bilanciamento del carico, passate a http://<Signalling_Node-address>:9090/admin.
-
Vai su APPLICAZIONI, adobeconnect, quindi scorri verso il basso fino a Canali.Effettua la configurazione dell’ID chiamante in uscita SIP per default (*) e broadcast-*.
-
Dal menu principale, accedi a IMPLEMENTAZIONI e modifica la Configurazione SIP.
Carica il certificato TURNS su Amministratore FM
Per fornire la terminazione SSL per i binding TURNS, carica un certificato nel pannello dell’amministratore FM.
Il certificato deve essere in formato PFX .
Procedi come segue:
-
Visita il sito http://<your-load-balancer-address>:9090/admin e accedi con il nome utente e la password configurati in config.conf. Se non usi il bilanciamento del carico, passa a http://<Signalling_Node-address>:9090/admin.
-
Vai a CERTIFICATI.
-
In Certificati di file, seleziona il segno + e carica il certificato per il dominio in uso.
Configura il binding TURNS
Questa operazione è necessaria per poter avere una comunicazione TURN sicura.
Se hai già caricato il certificato come descritto nella sezione precedente, procedi come segue:
-
Vai a IMPLEMENTAZIONI, quindi selezionaImpostazione predefinita.
-
Scorri verso il basso fino alla sezione Configurazione avanzata.
-
Configura i Binding TURNS con il certificato caricato in precedenza.
Disinstallazione
-
Modifica la directory di installazione principale (contiene uninstall.sh), cd ~/ncc_onprem_installer.
-
Esegui bash uninstall.sh.
-
Per rimuovere la directory dei dati dei database Postgres e Redis dal nodo di segnalazione, esegui il comando seguente.
sudo rm -rf ~/connect
In questo modo vengono rimossi dal sistema tutti i componenti NCC e le immagini. Tuttavia, le dipendenze esterne (pacchetti Python, PIP, Virtualenv e Python) non vengono eliminate.
docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))
Questo messaggio di errore viene visualizzato quando la variabile di ambiente DOCKER_HOST non è impostata correttamente. Procedi come segue:
- Passa alla directory principale del programma di installazione, ad esempio
cd ~/ncc-onprem-installer/
- Esegui il comando, source ~/.bash_profile
Se i passaggi precedenti non risolvono il problema, segui i passaggi riportati di seguito:
- Rimuovi Podman, sudo yum remove podman-remote
- Effettua la disconnessione dall’account utente corrente ed esegui l’accesso di nuovo.
- Passa alla directory principale del programma di installazione, ad esempio
cd ~/ncc-onprem-installer/
- Esegui bash ExternalDependencies/install.sh.
Non eseguire alcun comando con accesso root/sudo a meno che non sia specificato chiaramente.
2023-03-22 03:27:12 : ERROR : Main : 48 : Failed to start Postgres.
Questo messaggio di errore viene visualizzato quando il contenitore del docker Postgres non è in grado di montare il volume host a causa di un problema di autorizzazione. Segui i passaggi riportati di seguito:·
- Passa alla directory principale del programma di installazione, ad esempio
cd ~/ncc-onprem-installer/ - Esegui il comando docker load -i images/postgres.tar.gz
- Quindi esegui:
docker run -d \
--env POSTGRES_PASSWORD='PostPass1234' \
--volume ~/connect/postgres/data:/var/lib/postgresql/data \
--publish 5432:5432 \
--network host \
--user 0 \
--restart always \
--name postgres \
docker-connect-release.dr-uw2.adobeitc.com/ncc-onprem/postgres:12.4.1 - Questo correggerà i problemi di autorizzazione nella directory host.
- A questo punto, esegui il comando seguente per rimuovere il contenitore del docker Postgres.
docker rm -f postgres - Infine, esegui di nuovo MainInstaller.
bash MainInstall.sh
pydantic.errors.PydanticImportError: `BaseSettings` è stato spostato nel pacchetto `pydantic-settings`. Consultahttps://docs.pydantic.dev/2.0/migration/#basesettings-has-moved-to-pydantic-settings per ulteriori dettagli.
Segui i passaggi riportati di seguito:·
- Passa alla directory principale del programma di installazione, ad esempio
cd ~/ncc-onprem-installer/ - Esegui il comando, source bin/activate
- Quindi esegui questo comando per disinstallare Pydantic:
python3 -m pip uninstall pydantic - Esegui questo comando per installare nuovamente Pydantic:
python3 -m pip install "pydantic==1.*"
- Infine, esegui di nuovo MainInstaller.
bash MainInstall.sh
Il media server necessita di un NAT 1:1, il che significa che tutto il traffico in entrata e in uscita dal media server verso Internet deve utilizzare l’IP pubblico. Il media server rileva automaticamente l’IP pubblico per utilizzare il protocollo STUN, una volta configurato il NAT 1:1 per il media server sul router o sul firewall. Accedere all’interfaccia di amministrazione del gateway WebRTC e verificare che il mediaver possa rilevare il suo indirizzo IP pubblico.
https://adminwebrtc.yourdomain.com/admin/#/servers
Il Media Server non è raggiungibile dai client anche se NAT 1:1 funziona bene
Il client WebRTC utilizza ICE e cerca di stabilire un flusso audio-video con il media server nell’ordine seguente:
UDP nell’intervallo di porte da 35000 a 65535
TCP sulla porta 3478
TLS sulla porta 443
C12 Il client basato su WebRTC proverà a utilizzare tutte le opzioni (TCP e UDP) prima di passare a TLS sulla porta 443
Per impostazione predefinita, Connect 12.4.1 presuppone che CPS, WebRTC e New Connect Cluster (alias NCC) si trovino nella stessa VLAN/VPC o dominio di broadcast. Nel caso in cui si trovino in reti diverse, assicurarsi che il routing di livello tre tra il CPS e l’NCC/WebRTC sia adeguato per garantire la connettività di rete in entrambe le direzioni.
Per verificare la connettività di rete tra CPS e NCC, utilizzare CURL e Telnet.
La connettività CPS e NCC funziona solo su HTTPS.
L’errore riportato di seguito viene visualizzato nei registri del contenitore FMGW La seconda istanza di Redis è impostata per funzionare come replica.
ERRORE [FM.LiveSwitch.Signalling.Server.IdleThread][-] 2022-07-21T12:46:29.439Z Errore imprevisto nel thread inattivo.
StackExchange.Redis.RedisServerException: READONLY Non è possibile scrivere su una replica di sola lettura.
Soluzione:
Aprire il file di configurazione corrispondente al servizio Redis e modificare il valore dell’attributo “slave-read-only” in “no”.
Per una soluzione alternativa, segui i passaggi riportati di seguito:
- cd ncc-onprem-installer.
- mv Images images.
- sed -i 's/Images\//images\/' Installer/utils/global_constants.py.
- Disinstalla - Esegui uninstall.sh.
- Reinstalla - Esegui MainInstall.sh.
Per il momento è possibile ignorare le eccezioni di influxDB nei registri.
Dopo aver riavviato un’istanza e un contenitore docker, potrai visualizzare le eccezioni se controlli i registri per il contenitore cas.
Per risolvere questo problema, riavvia il contenitore cas. Digita docker restart cas.