ネームスペース関連の共通ミス。
オペレータが管理するネームスペースを選択する方法を指定する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
します。