Restartになっている場合のレプリカ・セット障害のシミュレート
レプリカ・セットの障害をシミュレートしましょう。この例では、TimesTenScaleoutオブジェクトの.spec.ttspec.replicaSetRecovery
データ項目が指定されていません。デフォルトのRestart
になっていると仮定します。これは、レプリカ・セット全体の障害が発生した場合にTimesTenオペレータによってデータベースが強制的にアンロードされリロードされることを示しています。
TimesTenScaleoutオブジェクトの状態がどのように遷移するかを確認しましょう。
ノート:
この例は、デモンストレーションのためにのみ用意されています。この例を本番環境で試そうとしないでください。この例では、デプロイ済の正しく機能しているTimesTenScaleoutオブジェクトについて示されています。
kubectl get tts samplescaleout
NAME OVERALL MGMT CREATE LOAD OPEN AGE
samplescaleout Normal Normal created loaded-complete open 99m
高レベル状態はNormal
、管理の状態はNormal
、データベースの状態はcreated,loaded-complete,open
であることに注目してください。
この例では、3つのレプリカ・セットがあります。
kubectl get pods
NAME READY STATUS RESTARTS AGE
samplescaleout-data-1-0 2/2 Running 0 11m
samplescaleout-data-1-1 2/2 Running 0 11m
samplescaleout-data-1-2 2/2 Running 0 11m
samplescaleout-data-2-0 2/2 Running 0 11m
samplescaleout-data-2-1 2/2 Running 0 11m
samplescaleout-data-2-2 2/2 Running 0 11m
samplescaleout-mgmt-0 2/2 Running 0 11m
samplescaleout-zk-0 1/1 Running 0 11m
samplescaleout-zk-1 1/1 Running 0 10m
samplescaleout-zk-2 1/1 Running 0 9m35s
timesten-operator-7677964df9-sp2zp 1/1 Running 0 7d3h
それらのレプリカ・セットのうちの1つに属しているsamplescaleout-data-1-0
ポッドとsamplescaleout-data-2-0
ポッドを削除しましょう。
レプリカ・セット全体に障害が発生しましたが、TimesTen Scaleoutによってデータベースが強制的にアンロードされリロードされました。オペレータによってグリッドとデータベースがNormal状態に戻されました。これは、両方が正常に機能していることを示しています。手動での操作は必要ありませんでした。