フェイルオーバーおよびリカバリ・プロセスの説明

この例では、アクティブTimesTenデータベースの障害をシミュレートします。これは、デモのみを目的としています。本番環境では実行しないでください。

  1. kubectl delete podコマンドを使用して、アクティブ・データベース(この場合はsample-0)を削除します
    % kubectl delete pod sample-0
    
  2. kubectl describeコマンドを使用して、オペレータがどのように障害からリカバリするかを確認します。オペレータは、スタンバイ・データベース(sample-1)をアクティブに昇格させます。sample-0データベースに接続されていたすべてのアプリケーションは、TimesTenによってsample-1データベースに自動的に再接続されます。短時間の停止後、アプリケーションは引き続きデータベースを使用できます。アクティブ・スタンバイ・ペアの正常性および状態の詳細は、「TimesTenClassicオブジェクトの高レベル状態について」を参照してください。

    ノート: この例では、3つの状態変更に対するMessage列のテキストが2行に表示されています。ただし、これら3つの状態変更に対する実際の出力は1行に表示されます。

    % kubectl describe ttc sample
    Name:         sample
    ...
    Events:
      Type  Reason       Age    From       Message
      ----  ------       ----   ----       -------
      -     StateChange  2m1s   ttclassic  TimesTenClassic sample: was Normal, now ActiveDown
      -     StateChange  115s   ttclassic  Pod sample-1 Database Updatable: Yes
      -     StateChange  115s   ttclassic  TimesTenClassic sample:was ActiveDown, now StandbyDown
      -     StateChange  115s   ttclassic  Pod sample-1 RepState ACTIVE
      -     StateChange  110s   ttclassic  Pod sample-0 High Level State Unknown
      -     StateChange  63s    ttclassic  Pod sample-0 Pod Phase Running
      -     StateChange  63s    ttclassic  Pod sample-0 Agent Up
      -     StateChange  63s    ttclassic  Pod sample-0 Instance Exists
      -     StateChange  63s    ttclassic  Pod sample-0 Daemon Up
      -     StateChange  63s    ttclassic  Pod sample-0 Database None
      -     StateChange  42s    ttclassic  Pod sample-0 Database Loaded
      -     StateChange  42s    ttclassic  Pod sample-0 Database Updatable: No
      -     StateChange  42s    ttclassic  Pod sample-0 RepAgent Running
      -     StateChange  42s    ttclassic  Pod sample-0 CacheAgent Not Running
      -     StateChange  42s    ttclassic  Pod sample-0 RepScheme Exists
      -     StateChange  42s    ttclassic  Pod sample-0 RepState IDLE
      -     StateChange  36s    ttclassic  Pod sample-0 High Level State Healthy
      -     StateChange  36s    ttclassic  Pod sample-0 RepState STANDBY
      -     StateChange  36s    ttclassic  TimesTenClassic sample:was StandbyDown,now Normal
    

    Kubernetesは新しいsample-0ポッドを自動的に生成し、削除したポッドに置き換えます。オペレータはそのポッド内でTimesTenを構成し、ポッドのデータベースを新しいスタンバイ・データベースとして起動します。データベースのレプリケート・ペアは、再び正常に機能します。