SMS Gateway の高可用性のセットアップ

IBM® Voice Gateway の SMS Gateway 機能を、IBM Cloud Private の Kubernetes クラスターにデプロイし、Kubernetes サービスとして公開することで、その機能が高可用性環境で稼働するように構成できます。 Kubernetes クラスターでこれらのインスタンスをスケーリングすることで、SMS Gateway で、より大きいメッセージングの負荷、フェイルオーバー、およびローリング更新を処理できます。

SMS Gateway コンテナーの始動

作動可能プローブを使用して、構成がサーバーにロードされるとすぐに要求が処理されるようにします。 以下の例で示すように、作動可能プローブを deploy script ファイルに追加してください。

            "readinessProbe":{
                "exec": {
                    "command": [
             "/opt/readiness.sh"
          ],
                "timeoutSeconds": 5
              }
        },

timeoutSeconds 変数は、プローブがタイムアウトになるまでの秒数を指定します。 デフォルト値は 1 秒です。 最小値も 1 秒です。

また、periodSeconds 変数を追加すると、プローブを実行する頻度を秒単位で指定することもできます。 デフォルト値は 10 秒です。 最小値は 1 秒です。 例: periodSeconds: 30

オプションとして、作動可能プローブの REST API 要求を認証する場合には、以下のユーザー名変数とパスワード変数を deploy script ファイルに追加します。

REST API を要求するには、以下の API を使用します。

curl -X GET --user SMS_ADMIN_USERNAME:SMS_ADMIN_PASSWORD --header 'Accept: application/json' 'http://localhost:9080/sms.gateway/ready'

SMS Gateway コンテナーのシャットダウン

サーバーを停止するためには、レポート・イベントが、未処理のトランザクションのレポートを停止前に処理するための時間が必要です。 レポート作成を有効にする際は、preStop ハンドルに 25 秒を追加して、レポート・イベントをバックアップするか送信するための時間を SMS Gateway に与えることができます。


"lifecycle": {
                            "preStop": {
                                "exec": {
                                    "command": [
                                        "sh", "-c","sleep 25 ;"
                                    ]
                                }
                            }
                        },

Red Hat Enterprise Linux 上の IBM Cloud Private への SMS Gateway のデプロイ

Red Hat Enterprise Linux ノード上の IBM Cloud Private に SMS Gateway をデプロイする場合、Security Enhanced Linux (SELinux) を無効にしてから SMS Gateway 高可用性環境をデプロイする必要があります。

  1. /etc/selinux/config ディレクトリーにある SELinux 構成ファイルを編集して、以下の例に示すように SELINUX=disabled を設定します。

    SELINUX=disabled
    SELINUXTYPE=targeted
    
  2. システムの再始動

  3. 以下のコマンドを実行して、SELinux ポリシーが無効であることを確認します。
    bash getenforce
    

SELinux は、無効である場合、Disabled メッセージを出力します。