ネームスペース1でのアップグレード
ネームスペーススコープのmynamespace
ネームスペースのTimesTenオペレータをアップグレードします。
- ネームスペース1に切り替えます(この例では
mynamespace
)。kubectl config set-context --current --namespace=mynamespace
出力は、次のようになります。
Context "default" modified.
- このネームスペースでTimesTenオペレータが実行されていることを確認します。
kubectl get pods
出力は、次のようになります。
NAME READY STATUS RESTARTS AGE ... timesten-operator-577f7fbc6f-tbr7m 1/1 Running 0 10d ...
- アップグレード用のYAMLマニフェスト・ファイルを含むディレクトリに移動します。この例では、
new_kube_files/deploy
ディレクトリにこのファイルが含まれています。cd new_kube_files/deploy
- サービス・アカウント、ロールおよびロール・バインディング・オブジェクトをアップグレードします。
kubectl replace -f service_account.yaml
出力は、次のようになります。role.rbac.authorization.k8s.io/timesten-operator replaced serviceaccount/timesten-operator replaced rolebinding.rbac.authorization.k8s.io/timesten-operator replaced
- 最初のネームスペース(この例では
service_account_cluster_n1.yaml
)のservice_account_cluster.yaml
ファイルのコピーを作成します。cp service_account_cluster.yaml service_account_cluster_n1.yaml
- 次の手順を実行して、
service_account_cluster_n1.yaml
YAMLファイルを置き換えます:- (オプション):
service_account_cluster_n1.yaml
ファイルの内容を表示します。cat service_account_cluster_n1.yaml
出力は、次のようになります。# Copyright (c) 2025, Oracle and/or its affiliates. apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: timesten-operator # If running multiple operators on the same cluster: #name: timesten-operator-<NAMESPACE> rules: - apiGroups: - "" resources: - nodes verbs: - get - list - watch - apiGroups: - "" resources: - persistentvolumeclaims verbs: - get - list - watch - delete --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: timesten-operator # If running multiple operators on the same cluster: #name: timesten-operator-<NAMESPACE> subjects: - kind: ServiceAccount name: timesten-operator #namespace: <NAMESPACE> roleRef: kind: ClusterRole name: timesten-operator # If running multiple operators on the same cluster: #name: timesten-operator-<NAMESPACE> apiGroup: rbac.authorization.k8s.io
- テキスト・エディタを使用して、
service_account_cluster_n1.yaml
ファイルを変更します。必要な変更を加えます:-
#namespace
を見つけ、#
を削除し、<NAMESPACE>
を実際のネームスペースの名前(この例ではmynamespace
)に置き換えます。 -
#name
の3つの出現箇所を見つけて#
を削除し、<NAMESPACE>
を実際のネームスペースの名前(この例ではmynamespace
)に置き換えます。
vi service_account_cluster_n1.yaml # Copyright (c) 2025, Oracle and/or its affiliates. apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: timesten-operator # If running multiple operators on the same cluster: name: timesten-operator-mynamespace rules: - apiGroups: - "" resources: - nodes verbs: - get - list - watch - apiGroups: - "" resources: - persistentvolumeclaims verbs: - get - list - watch - delete --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: timesten-operator # If running multiple operators on the same cluster: name: timesten-operator-mynamespace subjects: - kind: ServiceAccount name: timesten-operator namespace: mynamespace roleRef: kind: ClusterRole name: timesten-operator # If running multiple operators on the same cluster: name: timesten-operator-mynamespace apiGroup: rbac.authorization.k8s.io
-
service_account_cluster_n1.yaml
ファイルを保存して閉じます。service_account_cluster_n1.yaml
ファイルを置き換えます。kubectl replace -f service_account_cluster_n1.yaml
出力は、次のようになります。clusterrole.rbac.authorization.k8s.io/timesten-operator-mynamespace replaced clusterrolebinding.rbac.authorization.k8s.io/timesten-operator-mynamespace replaced
- (オプション):
- 次の手順を実行して、
operator.yaml
ファイルを変更します:- テキスト・エディタを使用して、
operator.yaml
ファイルを変更します。次のように置き換えます:
-
image
:container-registry.oracle.com/timesten/timesten:latest
をアップグレード用のイメージの名前に置き換えます。この例では、アップグレード用のイメージの名前はcontainer-registry.oracle.com/timesten/timesten:22.1.1.35.0
です。 -
マルチアーキテクチャ環境で実行している場合は、インストール時に使用した設定を使用して、
affinity
セクションを変更します。この例では、amd64
を使用します。
vi operator.yaml # Copyright (c) 2019 - 2025, Oracle and/or its affiliates. apiVersion: apps/v1 kind: Deployment metadata: name: timesten-operator spec: replicas: 1 ... spec: serviceAccountName: timesten-operator imagePullSecrets: - name: sekret containers: - name: timesten-operator image: container-registry.oracle.com/timesten/timesten:22.1.1.35.0 ... # An example affinity definition; this pod will only be assigned to a node # running on amd64 (the default) # affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: "kubernetes.io/arch" operator: In values: ["amd64"]
-
operator.yaml
ファイルを保存し、閉じます。
- テキスト・エディタを使用して、
- TimesTenオペレータのアップグレード
kubectl replace -f operator.yaml
出力は次のようになります。deployment.apps/timesten-operator replaced
- TimesTenオペレータが実行されていることを確認します。
kubectl get pods
出力は、次のようになります。NAME READY STATUS RESTARTS AGE ... timesten-operator-7fb9bddf-xrc8h 1/1 Running 0 41s ...
- (オプション) TimesTenオペレータが新しいイメージを実行していることを確認します。
kubectl describe deployment timesten-operator | grep Image
出力は次のようになります。
Image: container-registry.oracle.com/timesten/timesten:22.1.1.35.0
おめでとうございます。ネームスペーススコープのmynamespace
ネームスペースのTimesTenオペレータが正常にアップグレードされました。オペレータによってcontainer-registry.oracle.com/timesten/timesten:22.1.1.35.0
イメージが使用されており、このネームスペース内の既存のTimesTenClassicオブジェクトが自動的に管理されています。
ネームスペーススコープの2番目のネームスペースのTimesTenオペレータをアップグレードする場合は、「ネームスペース2でのアップグレード」に進みます。mynamespace
ネームスペースのTimesTenClassicオブジェクトをアップグレードする準備ができている場合は、「TimesTen Classicデータベースのアップグレードについて」に進みます。