Hochverfügbarkeit für SMS Gateway einrichten
Sie können das SMS Gateway-Feature von IBM® Voice Gateway für die Ausführung in einer hoch verfügbaren Umgebung konfigurieren, indem Sie es in einem Kubernetes-Cluster in IBM Cloud Private bereitstellen und anschließend als Kubernetes-Service verfügbar machen. Die Skalierung dieser Instanzen in einem Kubernetes-Cluster ermöglicht SMS Gateway, größere Nachrichtenvolumen, Failover und rollierende Aktualisierungen zu verarbeiten.
-
In einer hoch verfügbaren Umgebung wird SMS Gateway als statusunabhängiger Container zusammen mit einem verteilten Sitzungscache-Container in einem Kubernetes-Cluster in IBM Cloud ausgeführt.
-
XSLD-Caching-Server einrichten
Konfigurieren Sie den Caching-Server von IBM® WebSphere® eXtreme Scale Liberty Deployment (XSLD) und stellen Sie ihn in IBM Cloud Private bereit. Der XSLD-Caching-Server speichert und teilt den Sitzungscache über SMS Gateway-Instanzen hinweg.
-
SMS Gateway in IBM Cloud Private einrichten
Konfigurieren Sie SMS Gateway in einem Kubernetes-Cluster in IBM Cloud Private und stellen Sie es bereit, nachdem Sie XSLD konfiguriert haben.
SMS Gateway-Container starten
Stellen Sie mithilfe einer Bereitschaftsprüfung sicher, dass die Anforderungen zugestellt bereitgestellt werden, sobald der Server die Konfiguration lädt. Fügen Sie die Bereitschaftsprüfung der Bereitstellungsscriptdatei (deploy script)
hinzu, wie im folgenden Beispiel gezeigt.
"readinessProbe":{
"exec": {
"command": [
"/opt/readiness.sh"
],
"timeoutSeconds": 5
}
},
Die Variable timeoutSeconds gibt die Anzahl der Sekunden an, bevor das Zeitlimit für die Bereitschaftsprüfung überschritten wird. Der Standardwert ist 1 Sekunde. Der Mindestwert ist 1 Sekunde.
Sie können auch die Variable periodSeconds hinzufügen, um anzugeben, wie oft (in Sekunden) die Prüfung ausgeführt werden soll. Der Standardwert ist 10 Sekunden. Der Mindestwert ist 1 Sekunde. Beispiel periodSeconds: 30
Optional können Sie zum Authentifizieren der REST-API-Anforderung für die Bereitschaftsprüfung die folgenden Variablen für Benutzernamen und Kennwort der Bereitstellungsdatei (deploy script) hinzufügen.
SMS_ADMIN_USERNAME: Diese Variable gibt den Benutzernamen für den Administrator an, um die Anforderung der Bereitschaftsprüfung zu authentifizieren.SMS_ADMIN_PASSWORD: Diese Variable gibt das Kennwort für den Administrator an, um die Anforderung der Bereitschaftsprüfung zu authentifizieren.
Verwenden Sie die folgende API, um die REST-API anzufordern.
curl -X GET --user SMS_ADMIN_USERNAME:SMS_ADMIN_PASSWORD --header 'Accept: application/json' 'http://localhost:9080/sms.gateway/ready'
SMS Gateway-Container beenden
Bevor der Server gestoppt werden kann, benötigen Berichtsereignisse Zeit, um die Berichte für alle aktiven Transaktionen zu verarbeiten. Wenn die Berichterstellung aktiviert ist, können Sie dem preStop-Handle 25 Sekunden hinzufügen,
damit SMS Gateway Zeit hat, um eine Sicherung zu erstellen oder um Berichterstellungsereignisse zu senden.
"lifecycle": {
"preStop": {
"exec": {
"command": [
"sh", "-c","sleep 25 ;"
]
}
}
},
SMS Gateway in IBM Cloud Private unter Red Hat Enterprise Linux bereitstellen
Wenn Sie SMS Gateway in IBM Cloud Private auf einem RHEL-Knoten (Red Hat Enterprise Linux) bereitstellen, muss SELinux (Security Enhanced Linux) inaktiviert werden, bevor Sie eine SMS Gateway-Hochverfügbarkeitsumgebung bereitstellen können.
-
Bearbeiten Sie die SELinux-Konfigurationsdatei im Verzeichnis
/etc/selinux/configund setzen SieSELINUX=disabledwie im folgenden Beispiel gezeigt:SELINUX=disabled SELINUXTYPE=targeted -
Starten Sie das System erneut.
- Überprüfen Sie, ob die SELinux-Richtlinie inaktiviert ist, indem Sie den folgenden Befehl ausführen:
bash getenforce
Wenn SELinux inaktiviert ist, wird eine Nachricht mit dem Hinweis Disabled ausgegeben.