ネームスペース関連の共通ミス。
オペレータが管理するネームスペースを選択する方法を指定するdomainNamespaceSelectionStrategy Helmチャート値のデフォルトは、バージョン3.4と4.0の間で変更されました。 バージョン3.4では、デフォルトはListで、バージョン4.0では、デフォルトはLabelSelectorです。 これは、domainNamespaces Helmチャート値にリストされているネームスペースのセットをデフォルトで管理するために使用されるオペレータで、更新されたデフォルトは、domainNamespaceLabelSelector Helmチャート値で指定されたラベルを持つネームスペース(デフォルトはweblogic-operator=enabled)をオペレータが検索することです。
オペレータを3.4から4.0にアップグレードする場合、--reuse-valuesオプション(helm upgrade --reuse-valuesなど)を使用して、元のインストール時に使用された値(デフォルト値を含む)でアップグレードしたチャートをインストールできます。 --reuse-valuesを使用しない場合、アップグレードされたチャートは更新されたデフォルト値でインストールされるため、オペレータが管理しているネームスペースのセットが予期せず変更される可能性があります。 または、値ファイルまたは--setオプションを使用して、domainNamespaceSelectionStragegyの値(またはその他の値)を設定することもできます。
削除して再作成したネームスペースに新しいドメインを作成した場合、オペレータに通知するまでドメインは起動しません。 問題と解決策の詳細については、「ネームスペース管理」を参照してください。
オペレータがドメイン・リソースを管理していないと思われる場合は、次のようになります:
domain.statusフィールドには、ドメインのステータスに関する更新情報は含まれません。 次に、ドメインのネームスペースがオペレータによってモニターされるように設定されていることを確認します。 詳細は、「ネームスペース管理」を参照してください。
新しいFAILED Helmリリースが作成されます。
$ helm install --no-hooks --name op2 --namespace myuser-op-ns --values custom-values.yaml weblogic-operator/weblogic-operator
Error: release op2 failed: secrets "weblogic-operator-secrets" already exists
前のリリースと新しいリリースの両方が、前のオペレータによって作成されたリソースを所有します。
helm upgradeではネームスペースを変更できないため)。DEPLOYED状態ではないため、このリリースをロールバックして修正することはできません。https://github.com/helm/helm/issues/2349を参照してください。
新しいFAILED Helmリリースが作成されます。
$ helm install --no-hooks --name op2 --namespace myuser-op2-ns --values custom-values.yaml weblogic-operator/weblogic-operator
Error: release op2 failed: rolebindings.rbac.authorization.k8s.io "weblogic-operator-rolebinding-namespace" already exists
リカバリするには:
helm delete --purgeします。
helm upgrade <old op release> weblogic-operator/weblogic-operator --values <old op custom-values.yaml>
helm upgradeは成功し、ドメイン・ネームスペース(rolebindingなど)で作成された最初のオペレータのHelmチャートにリソースを暗黙的に採用します。また、別のドメイン・ネームスペースの管理を停止するように指示した場合は、そのネームスペースで作成されたロール・バインディングを破棄します。
たとえば、このリリースを削除すると、最初のオペレータは必要なロール・バインディングなしで終了します。 問題は、警告が表示されないため、修正する問題があることがわからないことです。
新しいFAILED Helmリリースが作成されます。
$ helm install --no-hooks --name op2 --namespace myuser-op2-ns --values o.yaml weblogic-operator/weblogic-operator
Error: release op2 failed: namespaces "myuser-d2-ns" not found
リカバリするには:
helm delete --purgeします。helm installします。helm upgradeが失敗し、リリースがFAILED状態に移行します。
$ helm upgrade myuser-op weblogic-operator/weblogic-operator --values o.yaml --no-hooks
Error: UPGRADE FAILED: failed to create resource: namespaces "myuser-d2-ns" not found
リカバリするには:
helm rollback。helm upgradeします。RESTポートの競合関連のミス。
新しいFAILED Helmリリースが作成されます。
$ helm install --no-hooks --name op2 --namespace myuser-op2-ns --values o.yaml weblogic-operator/weblogic-operator
Error: release op2 failed: Service "external-weblogic-operator-svc" is invalid: spec.ports[0].nodePort: Invalid value: 31023: provided port is already allocated
リカバリするには:
helm delete --purgeします。helm installを再度2番目のオペレータに変更します。helm upgradeが失敗し、リリースがFAILED状態に移行します。
$ helm upgrade --no-hooks --values o23.yaml op2 weblogic-operator/weblogic-operator --wait
Error: UPGRADE FAILED: Service "external-weblogic-operator-svc" is invalid: spec.ports[0].nodePort: Invalid value: 31023: provided port is already allocated
サービス・アカウント関連のミスがありません。
次のhelm installコマンドは、存在しないサービス・アカウントop2-saでオペレータ・リリースをインストールしようとするため、失敗します。
$ helm install op2 weblogic-operator/weblogic-operator --namespace myuser-op2-ns --set serviceAccount=op2-sa --wait --no-hooks
出力には、次のエラー・メッセージが含まれます。
ServiceAccount op2-sa not found in namespace myuser-op2-ns
リカバリするには:
helm installします。存在しないサービス・アカウントを持つhelm upgradeは、前の項で説明したのと同じエラー・メッセージで失敗し、既存のオペレータのデプロイメントは変更されません。
リカバリするには:
helm upgradeします。