1.5.3.2.8. Red Hat OpenShift Service on AWS への HyperShift のインストールが、アドミッション Webhook エラーにより失敗する
Red Hat OpenShift Service on AWS (classic) に multicluster engine for Kubernetes Operator 2.10 をインストールすると、HyperShift のインストールジョブが、namespace-validation.managed.openshift.io denied the request のようなメッセージと同様のアドミッション Webhook エラーで繰り返し失敗する可能性があります。エラーの詳細な説明は次のとおりです。
-
インストールプロセスでは、
openshift.io/cluster-monitoring: "true"ラベルが含まれるhypershiftnamespace の作成が試行されます。 -
Red Hat OpenShift Service on AWS (classic) のマネージドアドミッション Webhook は、ユーザーによる、namespace 上の保護されたラベル (
cluster-monitoringを含む) の変更を阻害します。 -
プラットフォーム監視フラグは、デフォルトで Operator を監視するように設定されており、これにより
hypershiftnamespace にcluster-monitoringラベルが追加されます。 - 通常、Red Hat OpenShift Service on AWS (classic) のようなマネージド環境では、サービスプロバイダーがプラットフォームレベルの監視を担当します。したがって、この監視は不要であり、namespace 保護ポリシーと競合します。
この問題を解決するには、以下の手順に従って、local-cluster namespace に ConfigMap を作成し、プラットフォーム監視を無効にします。
次の内容で
ConfigMap用の YAML ファイルを作成します。kind: ConfigMap apiVersion: v1 metadata: name: hypershift-operator-install-flags namespace: local-cluster data: installFlagsToAdd: "--platform-monitoring=None" installFlagsToRemove: ""ConfigMapをクラスターに適用します。次のコマンドを実行します。<filename>は YAML ファイルの名前に置き換えます。oc apply -f <filename>.yaml
この設定により、HyperShift インストーラーは cluster-monitoring ラベルをスキップするように指示され、アドミッション Webhook の競合が回避されます。