「PowerFlex Manager:「405 Not Allowed」エラーが原因でRKE2のアップグレードが繰り返し失敗する
Summary: 「PowerFlex Manager:アップグレード ペイロードの作成中に「405 Not Allowed」エラーが発生し、RKE2アップグレードが繰り返し失敗する PowerFlex Management Platform (PFMP)のアップグレード中に、プロセスが繰り返し失敗し、http-shareにアップグレード ペイロード フォルダーを作成する時点でループします。この障害は、HTTP 405 Not Allowedエラーで発生します。 ...
Symptoms
影響を受けるバージョン:
PowerFlex Manager 4.x
ユーザーがPFMPアップグレードの一環としてRKE2アップグレードを実行すると、次の現象が発生します。
- アップグレード プロセスではバンドルが継続的にダウンロードされますが、ペイロード作成フェーズでは失敗します。
- ログ
alcmhttp-shareにアップグレード ペイロード フォルダーを作成しようとすると、podに「405 Not Allowed」というエラーが表示される2024-11-30T06:37:50.452413347-06:00 stdout F 2024-11-30 12:37:50 [pool-2-thread-1] (UpgradePFMP.java:168) [INFO] Starting PFMP upgrade .. 2024-11-30T06:49:06.712045703-06:00 stdout F 2024-11-30 12:49:06 [pool-2-thread-1] (UpgradePFMP.java:718) [DEBUG] PFMP Bundle download progress 100% .. 2024-11-30T06:53:47.628162548-06:00 stdout F 2024-11-30 12:53:47 [pool-2-thread-1] (UpgradePFMP.java:1681) [INFO] Current RKE2 version: 1.25.3 2024-11-30T06:53:47.629703367-06:00 stdout F 2024-11-30 12:53:47 [pool-2-thread-1] (UpgradePFMP.java:1688) [INFO] Available RKE2 version: 1.26.13 ... 024-11-30T06:54:02.071950984-06:00 stdout F 2024-11-30 12:54:02 [pool-2-thread-1] (ExecuteSystemCommands.java:106) [DEBUG] Moving RKE2 artifacts to upgrade-artifacts folder . . . 2024-11-30T06:54:02.344803044-06:00 stdout F 2024-11-30 12:54:02 [pool-2-thread-1] (ExecuteSystemCommands.java:106) [DEBUG] /opt/Dell/ASM/temp/upgrade853246658060560317/Upgrade/prepare-upgrade.sh: line 264: kubectl: command not found 2024-11-30T06:54:02.368496491-06:00 stdout F 2024-11-30 12:54:02 [pool-2-thread-1] (ExecuteSystemCommands.java:106) [DEBUG] Creating upgrade payload folder in http-share . . .<html> 2024-11-30T06:54:02.368527723-06:00 stdout F 2024-11-30 12:54:02 [pool-2-thread-1] (ExecuteSystemCommands.java:106) [DEBUG] <head><title>405 Not Allowed</title></head> 2024-11-30T06:54:02.368533448-06:00 stdout F 2024-11-30 12:54:02 [pool-2-thread-1] (ExecuteSystemCommands.java:106) [DEBUG] <body> 2024-11-30T06:54:02.368548798-06:00 stdout F 2024-11-30 12:54:02 [pool-2-thread-1] (ExecuteSystemCommands.java:106) [DEBUG] <center><h1>405 Not Allowed</h1></center> 2024-11-30T06:54:02.368553418-06:00 stdout F 2024-11-30 12:54:02 [pool-2-thread-1] (ExecuteSystemCommands.java:106) [DEBUG] <hr><center>nginx/1.21.5</center> 2024-11-30T06:54:02.368565659-06:00 stdout F 2024-11-30 12:54:02 [pool-2-thread-1] (ExecuteSystemCommands.java:106) [DEBUG] </body> 2024-11-30T06:54:02.36859845-06:00 stdout F 2024-11-30 12:54:02 [pool-2-thread-1] (ExecuteSystemCommands.java:106) [DEBUG] </html> 2024-11-30T06:54:02.369264313-06:00 stdout F 2024-11-30 12:54:02 [pool-2-thread-1] (ExecuteSystemCommands.java:106) [DEBUG] done.
Cause
PFMPは、ノード レベルのRKE2アップグレードのためにhttpshare-ingress-uploadイングレスに依存し、ノード アップグレード モジュールのアップロードを可能にします。
Dellサポート サイトが提供するスクリプト「CMO_Patch.zip」により、脆弱性を軽減するためにhttp-shareアップロード機能が制限され、アップグレードが失敗しました。
Resolution
対策
-
httpshare-ingress-upload ingressが存在しないことを確認します
kubectl get ingress -A | egrep httpshare-ingress
-
YAMLファイルを転送します。
このKBに添付されている「httpshare-ingress-upload.zip」ファイルをいずれかのMVMノードにコピーして抽出します。 -
イングレス修正を適用します。
MVMノードにログインし、YAMLファイルが保存されているディレクトリーに移動して、設定を適用します。kubectl apply -f httpshare-ingress-upload.yaml
-
イングレスの作成を確認します。
httpshare-ingress-upload イングレスが正常に作成されていることを確認します。IPアドレスが入力されるまでに15〜30秒かかる場合があります。合わせる:kubectl get ingress -n powerflex | egrep -i httpshare
-
alcmポッドを再起動します
kubectl delete pod $(kubectl get pods -n powerflex | egrep alcm | awk '{print $1}') -n powerflex -
aclm podログをチェックして、アップグレードが実行されているかどうかを確認します。そうでない場合は、PFMPアップグレードを再試行します。
アップグレード プロセスを再度開始します。これで問題は解決するはずです。
アップグレード後のアクション:
PFMPのアップグレードが完了したら、お使いのPFMPバージョンに基づいて次の手順に従います。
-
4.6.1より前のバージョンのPFMPを実行しているシステムの場合:
- CVE修復ツール(CMO_Patch.zip)を再適用して、セキュリティ コンプライアンスを維持します。KB Remediation for Powerflex Manager CVE-2024-37143 を参照してください(この記事を表示するにはDellサポート アカウントが必要です)
注:今後のアップグレードでは、システムをバージョン 4.6.1 以降にアップグレードしていない限り、前述の回避策を再度適用する必要があります。
- CVE修復ツール(CMO_Patch.zip)を再適用して、セキュリティ コンプライアンスを維持します。KB Remediation for Powerflex Manager CVE-2024-37143 を参照してください(この記事を表示するにはDellサポート アカウントが必要です)
-
PFMPバージョン4.6.1以降を実行しているシステムの場合:
- アップグレード後に追加のアクションは必要ありません。
次の修正済みバージョンにアップグレードします:PowerFlex Manager 4.6.1
Additional Information
重要
PFMP(PowerFlex Manager)のインストールが以前にrootユーザーとして実行されていた場合は、PFMPのアップグレードを続行する前に、次のディレクトリーの所有権が適切に更新されていることを確認してください。詳細については、「PowerFlex管理プラットフォーム - PFXMアップグレードがタスクで失敗する(英語)」を参照してください。 アーティファクトの宛先のランディング ディレクトリーをクリア