17.1.1 コンテナ・イメージへのパッチ適用
この項の手順では、新しいOIGコンテナ・イメージを使用した既存の14.1.2.1.0 Oracle Access Management (OAM)デプロイメントへのパッチ適用またはアップグレードについて説明します。
ノート:
管理者は、次のことに注意する必要があります:- Oracle Container Registryまたは独自のコンテナ・レジストリを使用していない場合は、まずKubernetesクラスタ内のすべてのノードに新しいコンテナ・イメージをロードする必要があります。
- Kubernetes Horizontal Pod Autoscaler (HPA)が有効になっている場合は、次のステップを実行する前にHPAを無効にする必要があります。「HPAの削除」を参照してください。
- コンテナ・イメージを更新すると、ポッドがローリング再起動されます。管理サーバーは終了してから再起動し、OAM管理対象サーバーおよびポリシー・マネージャ・サーバーがそれに続きます。
次のオプションのいずれかを選択し、新しいイメージでOAMデプロイメントを更新します:
kubectl edit domain
コマンドの実行。kubectl patch domain
コマンドの実行。
kubectl edit domainコマンドの実行
ドメインを更新するには:
- 次のコマンドを実行します。
例:kubectl edit domain <domainname> -n <namespace>
kubectl edit domain accessdomain -n oamns
ノート:
これにより、標準のviコマンドを使用してパラメータを変更できるドメインの編集セッションが開きます。 - 新しいOAMコンテナ・イメージを参照するように
image
パラメータを更新します:- OAMコンテナ・イメージにOracle Container Registryまたは独自のコンテナ・レジストリを使用する場合は、次のように新しいイメージの場所を指すようにイメージを更新します:
... image: container-registry.oracle.com/middleware/oam_cpu:<new_tag> imagePullPolicy: IfNotPresent imagePullSecrets: - name: orclcred ...
- コンテナ・レジストリを使用せずに、各ワーカー・ノードにイメージをロードしている場合は、新しいイメージを指すようにイメージを更新します:
... image: container-registry.oracle.com/middleware/oam_cpu:<new_tag> imagePullPolicy: oracle/oam:<new_tag> ...
- OAMコンテナ・イメージにOracle Container Registryまたは独自のコンテナ・レジストリを使用する場合は、次のように新しいイメージの場所を指すようにイメージを更新します:
- ファイルを保存して終了します(
:wq!
)
kubectl patchコマンドの実行
ドメインを更新するには:
- 次のコマンドを実行して、
image
パラメータを新しいイメージの場所に設定します:
例:kubectl patch domain <domain> -n <namespace> --type merge -p '{"spec":{"image":"<repository>:<new_tag>"}}'
- OAMコンテナ・イメージにOracle Container Registryまたは独自のコンテナ・レジストリを使用する場合:
kubectl patch domain accessdomain -n oamns --type merge -p '{"spec":{"image":"container-registry.oracle.com/middleware/oam_cpu:<new_tag>"}}'
- コンテナ・レジストリを使用せずに、各ワーカー・ノードにイメージをロードしている場合:
出力は次のようになります:kubectl patch domain accessdomain -n oamns --type merge -p '{"spec":{"image":"oracle/oam:<new_tag>"}}'
domain.weblogic.oracle/accessdomain patched
- OAMコンテナ・イメージにOracle Container Registryまたは独自のコンテナ・レジストリを使用する場合:
OAMデプロイメントが新しいイメージを使用していることの確認
前述のステップに従うと、ローリング再起動が実行されます。管理サーバーは終了してから再起動し、OAM管理対象サーバーおよびポリシー・マネージャ・サーバーがそれに続きます。
サーバーの再起動中に、次のコマンドを実行してステータスを表示できます:
kubectl get pods -n <domain_namespace> -w
例:kubectl get pods -n oamns -w
ポッドが稼働したら、次のコマンドを実行して、ポッドで使用されているイメージを表示できます:
kubectl describe pod <pod> -n <domain_namespace>
例:kubectl describe pod accessdomain-oam-server1 -n oamns
新しいイメージは次のセクションに表示されます:...
Containers:
weblogic-server:
Container ID: cri-o://220fa83d079e079ac183c00f884b10ea30a794527dbb65e6964a035d450384f8
Image: container-registry.oracle.com/middleware/oam_cpu:<new_tag>
Image ID: container-registry.oracle.com/middleware/oam_cpu@sha256:cdf51b6aa47cd05573bc53244681b193fb4e2f6db56e50d2251b9416bc68ebc0
Port: 14100/TCP
Host Port: 0/TCP
Command:
...