ページの先頭行へ戻る
Enterprise Service Development Platform V1.2.0 運用ガイド
FUJITSU Software

12.7.5 Container Managementの切り戻し手順

ここでは、Container Managementを切り戻す手順について説明します。

以下の事項が前提です。

注意

  • Container Managementの切り戻しでは、Kubernetes nodeサーバーを1台ずつ、配備されたアプリケーション(コンテナ)を別のKubernetes nodeサーバーに退避させながら切り戻しを行います。そのため、アプリケーションが一部のKubernetes nodeサーバーに偏って配置される場合があります。偏って配置された場合でも正常に動作するようリソース使用量を考慮し、切り戻しを計画してください。

  • Container Managementの切り戻しでは、Kubernetesで管理されるリソースの状態がバックアップ取得時点に戻ります(更新時にバックアップが取得されます)。 更新後にリソースの変更(アプリケーションの配備など)を行った場合、切り戻し後は変更が反映されていない状態となるため、必要に応じてリソースの変更操作をやり直してください。 永続ボリューム上のデータはKubernetesで管理されるリソースではないため、切り戻し処理で変更されません。

  • 更新、および、切り戻しの操作は多重実行できません。各操作はシーケンシャルに実行してください。

  • Container Management切り戻し中はアプリケーションが停止されます。停止時に業務の影響が少ない時間帯に実施することを推奨します。

  • Container Managementの切り戻しには、Container Managementの更新実行後に出力されたバックアップが必要です。バックアップが存在しない状態で切り戻しを実行した場合、切り戻しの再実行ができない状態になります。 Kubernetes masterサーバーの/var/FJSGHD/update_k8sにバックアップを配置してください。 バックアップのパーミッション設定は生成された際の設定値と同じにしてください。

Kubernetes masterサーバーで、以下の手順を行うことでContainer Managementの切り戻しができます。

  1. 事前準備

    更新前に以下のコマンドを実行し、切り戻しに必要なファイルを生成します。

    $ cd /var/FJSGHD/playbook
    $ ansible-playbook -i /var/FJSGHD/inventories/hosts play_create_playbook_for_update_tool.yml
  2. Container Managementの切り戻し

    以下のコマンドを実行し、Container Managementを切り戻します。 コマンド実行時にオプションを指定することができます。 オプションの詳細については、下記参考をご覧ください。

    $ ansible-playbook -i /var/FJSGHD/inventories/hosts play_backout_container_mng.yml

    コマンドを実行すると、以下のメッセージが表示されます。誤って実行した場合や前提条件を満たしていない場合は、「n」を入力し、Enterキーを押下することで切り戻しを中断できます。切り戻しを継続する場合は「y」を入力し、Enterキーを押下します。

    [Please confirm]
    ==============================================================
    [WARNING] Do you want to backout Container Management? (y/n)
    ==============================================================
    :

    参考

    【オプション説明】

    以下に示すAnsibleのコマンドオプションを利用することができます。

    -eオプション

    切り戻しコマンド実行後のコンソール画面上での確認 y/n や Enterキー などの入力をスキップできます。

    $ ansible-playbook -i /var/FJSGHD/inventories/hosts play_backout_container_mng.yml -e <指定値>
    指定値 オプション内容
    no_interactive=True 切り戻し確認のための y/n 入力をスキップします。
    interactive_backout=False 切り戻し中、ロードバランサーからKubernetes nodeサーバーへの振り分け停止/再開を行う操作の確認のためのEnterキーの入力待ちをスキップできます。

    注意

    • Container Managementを切り戻す際に、Container ManagementのIngress Controllerが使用しているPersistent Volume内のファイルを削除する必要があります。 切り戻し中、以下のようなメッセージが出力され、切り戻し処理が一時停止されます。

      ======================================================
      [WARNING] Please delete the files in Persistent Volume
                used by Ingress Controller.
                Press enter key after deleting data.
      ======================================================

      Ingress Controllerが使用しているPersistent Volume内の全てのファイル(隠しファイルを含む)を削除し、 Enterキーを押下して処理を再開させてください。 Persistent Volumeに設定しているストレージは/var/FJSGHD/inventories/group_vars/all/storage.ymlを参照してください。

    • Kubernetesの切り戻し処理では、nodeサーバーを1台ずつ、配備されたPodを別のnodeサーバーに退避させながらメンテナンスします。 nodeサーバーが2台以上の場合、メンテナンス中のnodeサーバーにアプリケーションへのリクエストを振り分けないように、メンテナンス前後で 以下のメッセージが出力され切り戻し処理が一時停止されます。 ロードバランサーからnodeサーバーへの振り分け停止および再開を実施し、Enterキーを押下してください。

      メンテナンス前には以下のメッセージが表示されます。

      【メッセージ】

      [backout/container_mng/k8s_cluster : confirm]
      ======================================================
      [WARNING]
      Backout the version of the kubernetes node [<IPアドレス>] to <バージョン>.
      Please stop routing requests to the kubernetes node [<IPアドレス>] from the load balancer.
      If you have stopped routing requests, please press the enter key.
      ======================================================

      【説明】

      <IPアドレス>のKubernetes nodeサーバーを<バージョン>に切り戻します。
      ロードバランサーから<IPアドレス>のKubernetes nodeサーバーへの振り分けを停止してください。
      振り分け停止後、Enterキーを押下してください。

      メンテナンス後には以下のメッセージが表示されます。

      【メッセージ】

      [backout/container_mng/k8s_cluster : confirm]
      ======================================================
      [WARNING]
      The kubernetes node [<IPアドレス>] has been backout to <バージョン>.
      Please resume routing requests to the kubernetes node [<IPアドレス>] from the load balancer.
      If you have resumed routing requests, please press the enter key.
      ======================================================

      【説明】

      <IPアドレス>のKubernetes nodeサーバーが<バージョン>に切り戻されました。
      ロードバランサーから<IPアドレス>のKubernetes nodeサーバーへの振り分けを再開してください。
      振り分け再開後、Enterキーを押下してください。

    【正常終了時】

    正常終了時は下記のようにunreachable=0, failed=0となり、XX、YYは任意の整数が記載されています。

    PLAY RECAP *********************************************************************
    127.0.0.1                  : ok=XX  changed=YY  unreachable=0    failed=0

    【異常終了時】

    異常終了時は下記のようにunreachable, failedのAAおよびBBは1以上の任意の整数が記載されています。

    PLAY RECAP *********************************************************************
    127.0.0.1                  : ok=XX  changed=YY  unreachable=AA    failed=BB