自動アップグレードの実行
TimesTenClassicオブジェクトの.spec.ttspec.imageUpgradeStrategy
データ項目によって、アップグレード方法が決まります。kubectl get ttc -o yaml
コマンドを使用すると、どのTimesTenClassicオブジェクトについてもこのデータ項目の値を確認できます。たとえば、ネームスペースにsample
というTimesTenClassicオブジェクトがあるとします。sample
の.spec.ttspec.imageUpgradeStrategy
データ項目の設定を確認しましょう。
kubectl get ttc sample -o yaml
出力は次のようになります。ノート: 出力のすべては示していません。
apiVersion: timesten.oracle.com/v1
kind: TimesTenClassic
metadata:
...
name: sample
namespace: mynamespace
resourceVersion: "74826407"
uid: 76038b9b-4635-4974-88cf-385739499ec4
spec:
...
ttspec:
additionalMemoryRequest: 1Gi
automaticMemoryRequests: true
daemonLogCPURequest: 200m
daemonLogMemoryRequest: 20Mi
dbConfigMap:
- sample
exporterCPURequest: 200m
exporterMemoryRequest: 200Mi
...
imageUpgradeStrategy: Auto
memoryWarningPercent: 90
...
.spec.ttspec.imageUpgradeStrategy
の値はAuto
です。
自動アップグレードの手順を説明します。
ノート:
前述のとおり、自動アップグレードを実行するとデータベースがすぐに停止され、再起動され、フェイルオーバーされます。本番日の最も忙しい時間にこの手順を実行しないでください。アップグレード手順の結果として、アプリケーションは短期間停止され、パフォーマンスが低下する場合もあります。
TimesTenClassicオブジェクトの変更: 自動アップグレード
自動アップグレード・プロセスを利用するには、新しいTimesTenコンテナ・イメージを参照するようにTimesTenClassicオブジェクトの.spec.ttspec.image
データ項目を変更する必要があります。新しいTimesTenイメージを参照するようにTimesTenClassicオブジェクトを変更すると、オペレータは変更を認識して、オペレータが作成したStatefulSetを変更します。その後、オペレータがアップグレード・プロセスを開始します。kubectl
describe
コマンドを使用して、このアップグレード・プロセスを監視できます。
新しいTimesTenコンテナ・イメージを使用するようにsample
TimesTenClassicオブジェクトを変更しました。これで、オペレータが実行する自動アップグレード・プロセスを監視する準備が整いました。