CNE: Automatic Environment Licensing
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

CNE:環境ライセンスの確認とトラブルシューティング

DXP オペレーターは、環境の 自動ライセンス ステータスを、短い名前 lenv を持つ環境の LiferayEnvironment リソースに報告します。オペレーターはデフォルトで10分ごとにライセンスをチェックし、そのチェックはハートビートに相当する。 kubectlを使用してステータスを読み取り、 トラブルシューティング で各失敗条件を調べます。

以下の例では、名前空間 liferay と LiferayEnvironment 名前 liferay-default を使用しています。 liferay-default-activation などのシークレット名を含め、独自のものに置き換えてください。

ライセンスステータスの確認

2 つのコマンドでライセンスの状態が表示されます。 kubectl get lenv はそれを列に要約し、 kubectl describe lenv は各条件とその理由を一覧表示します。

柱と相

環境のライセンスステータスを確認するには、 kubectl get lenv を実行してください。

kubectl --namespace liferay get lenv

出力には以下の列が含まれます。

列説明
WORKLOAD環境のステートフルセット
ACTIVATED有効化 条件の状態
ADD-ONSAddOnsReady の状態
MAXライセンスの ノード制限
VALID-UNTILライセンスの有効期限
DESIREDliferay-default チャートの replicaCountは、オートスケーリングが有効になっている場合は空になります。
EFFECTIVEStatefulSet に設定されたオペレーターのレプリカ数をカウントします。

--output wide を追加して、 PHASE、 ENVIRONMENT-ID、 ACTIVATED-AT、および UNREACHABLE-SINCE も表示します。フェーズ には、次のいずれかの値があります。

段階説明
Pending環境はアクティベーションコードまたはバンドルを待っています。
Degradedアクティベーションに失敗しました。ライセンスの有効期限が切れているか無効であるか、プロビジョニングサービスに接続できません。
Ready保留中 も 劣化状態 も該当しません。準備完了 は、すべての状態が健康であることを意味するものではありません。

条件

各症状とその原因、メッセージを確認するには、環境を説明してください。

kubectl --namespace liferay describe lenv liferay-default

環境は以下のような状況を報告しています。

状態説明
Activated環境が活性化されているかどうか
AddOnsReady対象となるマーケットプレイスアドオンがすべてダウンロードされるかどうか
GracePeriodExpiredプロビジョニング サービスが猶予期間 (gracePeriod の liferay-dxp-operator チャート、 168 時間 がデフォルトで) よりも長く到達不能だったかどうかは、 True の場合にのみ表示されます。
LicenseValid現在のライセンスが検証に合格するかどうか
ProvisioningReachable最新のオンラインハートビートがプロビジョニングサービスからライセンスを取得したかどうか
ReplicasCountValid要求されたレプリカ数がライセンスのノード制限内に収まるかどうか

トラブルシューティング

問題を報告する条件を見つけると、その理由 kubectl describe lenv が表示されます。アクティベーションのワークフローが失敗した場合は、その失敗したステップを特定してください。

Activated

有効化 条件は、以下のいずれかの理由により 偽 です。

AwaitingActivationCode

オペレーターはアクティベーションコードを読み取ることができません。これが、アクティベーション シークレット (liferay-default-activation を作成した後でも ACTIVATED 列が空のままになる理由でもあります。

環境の名前空間にシークレットが存在しない場合は、 作成します。期待されるキーの下にコードがない場合 (デフォルトではactivationCode )、それを kubectl applyに置き換えます。これは、既に存在する Secret に対して kubectl create が失敗するためです。

kubectl --namespace liferay create secret generic liferay-default-activation \
    --from-literal=activationCode="[activation code]" \
    --dry-run=client --output yaml | kubectl apply --filename -

ActivationRejected

症状メッセージには原因が示されています。

  • アクティベーション: 予期しないステータス [コード]: サービスがエラーを返しました。次の再試行までお待ちください。それでもエラーが解消されない場合は、Liferayサポートにお問い合わせください。
  • プロビジョニング: アクティベーションが拒否されました: プロビジョニング サービスがコードを拒否しました。 One Liferay から新しいコードを取得し、 でアクティベーション シークレットのコードを置き換えます。
  • 接続エラーなどのその他のメッセージ: オペレーターがサービスに接続できませんでした。プロビジョニングサービスへの発信HTTPSアクセスを復元します(デフォルトではhttps://api.one.liferay.com)。

オペレーターは、遅延時間を徐々に長くしながら再試行する。すぐに再試行するには、 licensing.liferay.com/activation-requested-at アノテーションを現在時刻に設定してください。

kubectl --namespace liferay annotate lenv liferay-default \
    licensing.liferay.com/activation-requested-at="$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
    --overwrite

AwaitingOfflineActivationBundle

オペレーターがバンドルファイルを見つけられませんでした。理由は以下のいずれかです。

OfflineActivationBundleInvalid

バンドルが読み取れないか、 manifest.json または add-ons/ が不足しています。バンドル を置き換えます。

アクティベーションワークフローが失敗しました

アクティベーションワークフロー の失敗したステップを見つけてください。

  • read-environment: 何も変更されていません。環境が既にアクティブ化されているか、 LiferayEnvironment に liferay-environment-name パラメーターに指定された名前がありません。 2番目のケースでは、正しい名前でワークフローを再度送信してください。
  • 待機: オペレーターが 300 秒以内に環境をアクティブ化しませんでした。 Activated 条件の理由を kubectl describe lenv とログイン トークンではなく自分の認証情報で読み取ってください。原因を修正し、ワークフローを再度送信してください。
  • その他の手順:失敗した手順のログを読み、エラーを修正し、ワークフローを再度送信します。

AddOnsReady

AddOnsReady 条件は False で、理由は DownloadsFailingです。条件のメッセージには、オペレーターがダウンロードできないアドオンの名前が表示されます。

オンライン環境の場合は、 マーケットプレイスボリューム がオンになっていることを確認してください。そうであれば、オペレーターは遅延時間を徐々に長くしながらダウンロードを再試行します。エラーが解消しない場合は、Liferayサポートにお問い合わせください。

オフライン環境の場合、バンドルにアドオンが不足しているか、破損しています。バンドル を置き換えます。

ProvisioningReachable

ProvisioningReachable 条件は False で、理由は EntitlementsFetchFailedです。オペレーターが One Liferay のプロビジョニング サービスからライセンスを取得できませんでした。猶予期間が終了するまで、環境は最後に使用したライセンスで稼働し続けます。症状メッセージには原因が示されています。

  • で始まるメッセージ entitlements: decode または entitlements: 予期しないステータス: サービスがエラーまたはオペレーターが読み取れない応答を返しました。次の再試行までお待ちください。それでもエラーが解消されない場合は、Liferayサポートにお問い合わせください。
  • 接続エラーなどのその他のメッセージ: オペレーターがサービスに接続できませんでした。プロビジョニングサービスへの発信HTTPSアクセスを復元します(デフォルトではhttps://api.one.liferay.com)。

GracePeriodExpired

GracePeriodExpired 条件は True で、理由は ProvisioningUnreachable です。オペレーターは、猶予期間よりも長くライセンスの取得に失敗し続けたため (EntitlementsFetchFailed)、StatefulSet を 1 つのレプリカにスケールダウンしました。 EntitlementsFetchFailedの原因を修正する。

オペレーターがライセンスを再度取得すると、StatefulSet を レプリカ数に縮小し、ノード制限まで戻します。オートスケーリングの場合、StatefulSetはオートスケーラーがスケールするまで、1つのレプリカのままになります。

LicenseValid

LicenseValid 条件は、以下のいずれかの理由で False です。

Expired

購読を更新してください。オンライン環境は、ハートビートごとにライセンスを要求するため、次のハートビートでライセンスが更新されます。オフライン環境には 新しいバンドル が必要です。

Invalid

オペレーターは、ライセンスの所有者や有効期限を読み取ることができません。オンライン環境については、Liferayサポートにお問い合わせください。オフライン環境の場合は、 をバンドル に置き換えてください。

EnvironmentMismatch

ライセンスは別の環境向けに発行されたものであり、オペレーターはStatefulSetをゼロにスケールします。 kubectl get lenv は 0 を MAX 列に表示します。

オンライン環境については、Liferayサポートにお問い合わせください。オフライン環境の場合、 はこの環境の現在のオフライン要求を使用して新しいバンドル を要求します。

環境に対してライセンスが発行されると、オペレーターはステートフルセットを レプリカ数まで縮小し、ノード制限まで維持します。 StatefulSet のレプリカ数がゼロのままの場合は、例えば kubectl scale のようにして、自分でスケールアップしてください。

ReplicasCountValid

ReplicasCountValid 条件は、以下のいずれかの理由で False または Unknown です。

ExceedsLicensedMaximum

要求されたレプリカ数がライセンスのノード制限を超えているため、オペレーターは制限までしか実行されません。制限を超えてスケーリングすると、 レプリカ [カウント] がライセンスされた maxClusterNodes [制限] を超え、失敗します。

制限が 0の場合、 EnvironmentMismatch を修正します。条件メッセージに制限が 1 と表示され、 GracePeriodExpired が Trueである場合、 GracePeriodExpired を修正します。そうでない場合は、要求された数を減らして ノード制限 に収まるようにします。

WorkloadUpdateRejected

Kubernetesは、オペレーターによるStatefulSetのレプリカ数の変更を拒否しました。状態メッセージに示されている原因を修正してください。オペレーターは再試行します。

WorkloadNotFound

ReplicasCountValid は Unknownです。名前空間内の StatefulSet には spec.workloadRef.nameの名前がないため、この演算子はノード制限を適用しません。正しい workloadRef を LiferayEnvironment に記述しました。