ページの先頭行へ戻る
Interstage Application Server V12.2.0 Red Hat OpenShift上での利用手順書
FUJITSU Software

B.3 CORBAサービス

CORBAサービスのコンテナをRed Hat OpenShift上で作成するための、Red Hat OpenShiftアプリケーションの設定ファイルのテンプレートの変更内容の例を以下に記載します。

赤字部分が、追加/変更箇所です。

注意

  • 追加する行の場所やインデントは、必ず上の例に合わせてください。追加する箇所のインデントがずれているとコンテナが起動できません。

図中の1~5について以下に説明します。

  1. IPCパラメーターの設定

              security.alpha.kubernetes.io/unsafe-sysctls: "kernel.shmmni=4164,kernel.sem=512 37793 50 1302,kernel.msgmax=16384,kernel.msgmnb=32768,kernel.msgmni=4177"
    • 上記は、IPCパラメーターに"kernel.shmmni=4164,kernel.sem=512 37793 50 1302,kernel.msgmax=16384,kernel.msgmnb=32768,

      kernel.msgmni=4177"を設定する場合の例です。設定する値は"ISAS-IPCtuning.xlsx"を使用して算出してください。

  2. CORBAサービスが動作するDockerコンテナを特権コンテナとして起動する設定

              securityContext:
    privileged: true
            securityContext:
    runAsUser: 0

    serviceAccount: privsvcacct

    serviceAccountName: privsvcacct
    • serviceAccount、および、serviceAccountNameに設定するサービスアカウント名については、Red Hat OpenShift環境のクラスタ管理者に確認してください。上記は、serviceAccountとserviceAccountNameが"privsvcacct"の場合の例です。

  3. livenessProbeでCORBAサービスの生存状態を監視する設定

    #          livenessProbe: 
    # exec:

    # command:

    # - /interstage/probe/probe.sh

    # initialDelaySeconds: 60

    # timeoutSeconds: 1
    • Podが再起動するとDockerコンテナが削除され、Dockerイメージから新たなDockerコンテナが生成されるため、本書ではlivenessProbeによる監視を推奨していません。

      設定する場合はコメントアウト"#"を解除してください。

    • Interstageの起動完了前にlivenessProbeが実行されると、Podが再起動を繰り返すため、initialDelaySecondsに指定する値は、systemdの起動時間(秒)より大きい値(systemdの起動時間の2倍を目安)とし、環境に合わせて調節してください。Podが再起動を繰り返す場合、シスログを参照し、"Started Inspect whether IAPS is alive."のメッセージが出力されておらず、かつ"Received SIGTERM."のメッセージが出力されている場合は、initialDelaySecondsの値を大きくしてください。systemdの起動時間は、CORBAアプリケーションを配備したDockerコンテナを起動した状態、あるいは、livenessProbeを指定せずにRed Hat OpenShift上でPodを起動した環境で、systemd-analyzeコマンドを実行することで確認できます。

  4. 永続ボリュームを利用する設定

              volumeMounts:
    - mountPath: "/var/log"

    name: pv01

    volumes:

    - name: pv01

    persistentVolumeClaim:

    claimName: pvc01
    • ユーザーアプリケーションが出力するログやシスログを永続ボリュームへ出力する場合に設定します。本製品が出力するログ(例えば、CORBAサービスのログ)は永続ストレージを指定できません。

    • PersistentVolume(PV)と紐づいたPersistentVolumeClaim(PVC)をPodに接続することで、Podから外部のボリュームを利用できるようになります。

    • 上記は、PVが"pv01"、マウントパスが"/var/log"(シスログの格納先)、PVCが"pvc01"の場合の例です。

      PVCは以下のように、STATUSが"Bound"になっていることを確認します。

      $ oc get pvc
      NAME   STATUS  VOLUME  CAPACITY  ACCESS MODES  STORAGECLASS  AGE
      pvc01  Bound   pv01    50Gi       RWX          slow           4h
  5. NodePortタイプのサービス定義の設定

    - apiVersion: v1
    kind: Service

    metadata:

    annotations:

    openshift.io/generated-by: OpenShiftNewApp

    creationTimestamp: null

    labels:

    app: corbamyapp

    name: corbamyapp

    spec:

    ports:

    - nodePort: 31563

    port: 31563

    protocol: TCP

    targetPort: 31563

    selector:

    app: corbamyapp

    deploymentconfig: corbamyapp

    sessionAffinity: None

    type: NodePort

    status:

    loadBalancer: {}
    • CORBAサービスにアクセスするポートを外部に公開する場合に設定します。

    • CORBAサービスのポート番号"8002"はNodePortのデフォルトでは指定できません。NodePortはRed Hat OpenShiftのドキュメントに従って設定してください。

    • NodePortには、ホスト情報変更用シェルスクリプトに設定するOD_PORTと同じポートを設定してください。ホスト情報変更用シェルスクリプトについては、「A.3.3 ホスト情報変更用シェルスクリプト」を参照してください。