機械翻訳について

よくある間違いと解決策

目次

ネームスペース関連の共通ミス。

デフォルトのHelmチャート値のWebLogic Kubernetes Operatorバージョン3.4から4.0への変更

オペレータが管理するネームスペースを選択する方法を指定する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の値(またはその他の値)を設定することもできます。

オペレータに通知せずにオペレータが管理するネームスペースの削除および再作成

削除して再作成したネームスペースに新しいドメインを作成した場合、オペレータに通知するまでドメインは起動しません。 問題と解決策の詳細については、「ネームスペース管理」を参照してください。

ネームスペースをモニターするオペレータの構成を忘れる

オペレータがドメイン・リソースを管理していないと思われる場合は、次のようになります:

  • ドメインYAMLファイルがデプロイされ、イントロスペクタまたはWebLogic Serverポッドが開始されません。
  • オペレータ・ログには、ドメインの記述が含まれていません。
  • ドメインのネームスペースのドメインにイベントは生成されません。
  • ドメイン・リソースの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チャートにリソースを暗黙的に採用します。また、別のドメイン・ネームスペースの管理を停止するように指示した場合は、そのネームスペースで作成されたロール・バインディングを破棄します。

たとえば、このリリースを削除すると、最初のオペレータは必要なロール・バインディングなしで終了します。 問題は、警告が表示されないため、修正する問題があることがわからないことです。

  • これは、Helmリリースをアップグレードするだけで修正できます。
  • これは、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ポートの競合

RESTポートの競合関連のミス。

オペレータのインストールと、別のオペレータと同じ外部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番目のオペレータに変更します。

オペレータのアップグレードおよび別のオペレータと同じ外部RESTポート番号の割当て

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リリースをアップグレードします(ポート番号を修正します)。
  • これは、Helmリリースをロールバックして修正することもできます。

サービス・アカウントがありません

サービス・アカウント関連のミスがありません。

オペレータのインストールおよび存在しないサービス・アカウントの割当て

次の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します。