Perform an Automated Upgrade
The .spec.ttspec.imageUpgradeStrategy
datum of a TimesTenClassic object determines the upgrade strategy. You can use the kubectl get ttc -o yaml
command to determine the value of this datum for any TimesTenClassic object. For example, let's assume there is a sample
TimesTenClassic object in our namespace. Let's review the setting for the .spec.ttspec.imageUpgradeStrategy
datum for sample
.
kubectl get ttc sample -o yaml
The output is similar to the following. Note: Not all output is shown.
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
...
The value for .spec.ttspec.imageUpgradeStrategy
is Auto
.
Let's walk through the steps for an automated upgrade.
Note:
Recall that when you do an automated upgrade, your databases are taken down, restarted, and failed over immediately. Do not perform this procedure at the busiest time of your production day. Applications see short outages and perhaps reduced performance as a result of the upgrade procedure.
Modify a TimesTenClassic Object: Automated Upgrade
The automated upgrade process requires you to modify the .spec.ttspec.image
datum of a TimesTenClassic object to reference the new TimesTen container image. After you modify the TimesTenClassic object to reference the new TimesTen image, the Operator notices the change and modifies the StatefulSet that it created. The Operator then starts the upgrade process. You can use the kubectl
describe
command to monitor this upgrade process.
You have modified the sample
TimesTenClassic object to use the new TimesTen container image. You are now ready to monitor the automated upgrade process performed by the Operator.