事象
Red Hat OpenShift Service Mesh(2.1.0-0 provided by Red Hat, Inc)OperatorにてCreate ServiceMeshControlPlaneをGUI上で行うも以下エラーで失敗する。
Danger alert:An error occurred admission webhook "smcp.validation.maistra.io" denied the request: service mesh may not be installed in the same project/namespace as the operator
環境情報
$ oc version Client Version: 4.6.X Server Version: 4.6.X Kubernetes Version: v1.19.X
原因/解決策
実体は以下のYAMLの適用だがデフォルトのnamespaeceがopenshift-operatorsとなっている。
apiVersion: maistra.io/v2 kind: ServiceMeshControlPlane metadata: namespace: openshift-operators name: basic spec: tracing: sampling: 10000 type: Jaeger policy: type: Istiod addons: grafana: enabled: true jaeger: install: storage: type: Memory kiali: enabled: true prometheus: enabled: true version: v2.1 telemetry: type: Istiod
同namespaceにはservicemeshoperatorが存在するため
$ oc get operator NAME AGE jaeger.openshift-operators 4m19s kiali-ossm.openshift-operators 8m45s servicemeshoperator.openshift-operators 18m
namespaceを変更すると作成に成功した。
$ oc get smcp -n istio-system NAME READY STATUS PROFILES VERSION AGE basic 10/10 ComponentsReady ["default"] 2.1.0 10m
以下、補足です。
補足
エラー文言の通りですが、オペレータと同じ名前空間に作成しようとすると冒頭のエラーとなります。
よって既存の別namespaceを利用するか以下のように新規でprojectを作成して
$ oc new-project istio-system ...
そのnamespaceを入れたYAMLを適用すると以下のようにインストール処理が進みました。
$ oc get deployment -n istio-system NAME READY UP-TO-DATE AVAILABLE AGE grafana 1/1 1 1 5m51s istio-egressgateway 1/1 1 1 5m53s istio-ingressgateway 1/1 1 1 5m54s istiod-basic 1/1 1 1 7m4s jaeger 1/1 1 1 5m55s kiali 1/1 1 1 3m55s prometheus 1/1 1 1 6m27s wasm-cacher-basic 1/1 1 1 4m59s
以上です。