4.9 インストールのトラブルシューティング

この項では、OAA、OARMおよびOUAのインストールに関するトラブルシューティングのヒントを示します。

OAA管理コンテナのインストール中のPodmanの問題

  • イメージまたはファイル形式のエラーのために、Podmanがtarファイル内のOAAイメージをロードできません。たとえば:
    Storing signatures
    Getting image source signatures
    Copying blob 01092b6ac97d skipped: already exists
    Copying blob dba9a6800748 skipped: already exists
    Copying blob bae273a35c58 skipped: already exists
    Copying blob 7f4b55b885b0 skipped: already exists
    Copying blob 93e8a0807a49 skipped: already exists
    Copying blob fa5885774604 skipped: already exists
    Copying blob 3b8528487f10 skipped: already exists
    Copying blob 3a1c2e3e35f4 [==========================>-----------] 213.8MiB / 298.1MiB
    Copying blob 6d31843e131e [=================================>----] 210.5MiB / 236.5MiB
    Copying blob f35b9630ef38 [===========>--------------------------] 213.8MiB / 672.2MiB
    Copying blob ef894c2768e3 done
    Copying blob 846fd069f886 [==========>---------------------------] 197.7MiB / 672.2MiB
    Copying blob 257c48b76c82 done
    Error: payload does not match any of the supported image formats (oci, oci-archive, dir, docker-archive)
    原因として、インストール・ホストのルート・パーティションの空き領域が不足している(Podmanは一時ファイルを/var/tmpに格納する)か、Podmanバージョンが3.3.0以降でないことが考えられます。このエラーが発生した場合は、問題に対処した後で、/var/tmp下のすべてのファイルを削除してから、インストールを再試行してください。
  • 権限の問題のために、Podmanがtarファイル内のOAAイメージをロードできません。たとえば:
    Using image release files ./releaseimages.txt and ./nonreleaseimages.txt...
    tee: ./oaainstall-tmp/run.log: Permission denied
    Using install settings from ./installOAA.properties.
    tee: ./oaainstall-tmp/run.log: Permission denied
    Checking kubectl client version...
    WARNING: version difference between client (1.23) and server (1.21) exceeds
    the supported minor version skew of +/-1
    tee: ./oaainstall-tmp/run.log: Permission denied
    kubectl version required major:1 minor:18, version detected major:1 minor:23
    tee: ./oaainstall-tmp/run.log: Permission denied

    原因として、あるユーザーとしてzipファイルを抽出したが、権限のない別のユーザーとしてinstallManagementContainer.shを実行したことが考えられます。この場合は、$WORKDIR/oaaimages/oaa-install/oaainstall-tmpディレクトリを削除して、zipファイルを抽出したユーザーと同じユーザーでインストールを再試行してください。

  • Podmanは、前回のインストール試行でOAAイメージのロードに失敗した後、必要なすべてのイメージのプル/タグ/プッシュを実行しません。この場合は、$WORKDIR/oaaimages/oaa-install/oaainstall-tmpディレクトリを削除して再試行してください。

OAA管理チャートのインストールの失敗

OAA管理チャートのインストールが次のエラーで失敗した場合:
Executing 'helm install ...  oaamgmt charts/oaa-mgmt'.
Continue? [Y/N]:
y
Error: unable to build kubernetes objects from release manifest: error validating "": error validating data: ValidationError(Deployment.spec.template.spec.containers[0]): unknown field "volumMounts" in io.k8s.api.core.v1.Container
OAA管理チャートのマニフェスト・ファイルが破損した可能性があります。installOAA.propertiescert.p12およびtrust.p12を安全な場所にコピーし、インストール・ディレクトリ$WORKDIR/oaaimages/oaa-installを削除してから、<OAA_Image>.zipを抽出してインストールを再開します。

インストール・スクリプトがOAA管理コンテナ・ポッドの起動を待ってタイムアウトしました

次のエラーが表示される場合があります。
NAME                                     READY   STATUS              RESTARTS   AGE
oaamgmt-oaa-mgmt-74c9ff789d-wq82h   0/1     ContainerCreating   0          2m3s
Waiting 15 secs for OAA mgmt deployment to run...
Executing 'kubectl get pods oaamgmt-oaa-mgmt-74c9ff789d-wq82h -n oaans'...
NAME                                     READY   STATUS              RESTARTS   AGE
oaamgmt-oaa-mgmt-74c9ff789d-wq82h   0/1     ContainerCreating   0          2m18s
Waiting 15 secs for OAA mgmt deployment to run...
...
OAA mgmt pod is not running after 450 secs, cannot proceed with install.
Critical error, exiting. Check ./oaainstall-tmp/run.log for additional information.
この場合は、次のコマンドを実行して追加情報を取得してください:
$ kubectl get pods -n oaans
$ kubectl describe pod oaamgmt-<pod> -n oaans
  • NFSのエラーの場合は、installOAA.propertiesのNFSボリューム情報が正しいことを確認します。この場合は、kubectl describeで次のように表示されます:
    Output: mount.nfs: mounting <ipaddress>:/scratch/oaa/scripts-creds failed, reason given by server: No such file or directory
      Warning  FailedMount  15s  kubelet, <ipaddress>  Unable to attach or mount volumes: unmounted volumes=[oaamgmt-oaa-mgmt-configpv oaamgmt-oaa-mgmt-credpv oaamgmt-oaa-mgmt-logpv], unattached volumes=[oaamgmt-oaa-mgmt-configpv oaamgmt-oaa-mgmt-credpv oaamgmt-oaa-mgmt-logpv oaamgmt-oaa-mgmt-vaultpv default-token-rsh62]: timed out waiting for the condition
  • イメージ・プル・エラーの場合は、イメージ・プル・シークレット(dockersecret)が正しく作成され、installOAA.propertiesのプロパティinstall.global.repoinstall.global.image.tagおよびinstall.global.imagePullSecrets\[0\].nameが正しいことを確認します。この場合は、kubectl describe podで次のように表示されます:
    Warning  Failed     21s (x3 over 61s)  kubelet, <ipaddress>  Error: ErrImagePull
    Normal   BackOff    7s (x3 over 60s)   kubelet, <ipaddress>  Back-off pulling image "container-registry.example.com/oracle/shared/oaa-mgmt:<tag>"
    Warning  Failed     7s (x3 over 60s)   kubelet, <ipaddress>  Error: ImagePullBackOff
  • 明らかなエラーがなくタイムアウトする場合、クラスタでOAA管理イメージのダウンロードに時間がかかりすぎている可能性があります。この場合、管理ポッドは最終的に起動されますが、インストールは中止されます。これが発生した場合は、helm delete oaamgmt -n oaansを使用してOAA管理helmリリースを削除し、インストール・スクリプトを再実行します。

OAA.shの実行中の一般的な失敗

インストール中のどこかのステージでOAA.shデプロイメントが失敗した場合、通常は問題を修正してOAA.shを再実行できます。インストールでは、データベース、OAuthおよびボールトに対して多数のチェックが実行されます。データベース・スキーマ、OAuth構成またはボールトがすでに存在するために、これらのチェックでOAA.shの再実行に失敗する場合は、installOAA.propertiesで次のプロパティを設定してから、OAA.shを再試行してください:
  • データベース・スキーマがすでに存在する場合:
    • database.createschema=false
  • OAuth構成がすでに存在する場合:
    • oauth.createdomain=false
    • oauth.createresource=false
    • oauth.createclient=false
  • ボールト構成が存在する場合:
    • vault.create.deploy=false

OAA.shの実行中にOAuthの作成に失敗する

インストール時に、OAuthドメイン、クライアントおよびリソース・サーバーが作成されます。失敗した場合は、OAuthのパラメータが正しいかどうかを確認します「Oracle Access Management OAuthの構成」を参照してください。

OAA.shの実行中にOAuthの作成に失敗する

これは、httpd.confおよびmod_wl_ohs.confファイルが更新されない場合に発生します。値を更新するには、「Oracle Access Management OAuthの構成」を参照してください。

コンテナ作成中ステータスのポッドが原因でOAA.shのインストールに失敗する

ログを確認するには、次のコマンドを実行します。たとえば:
kubectl logs oaainstall-email-6fd7c9b9dd-lr5lm -n oaans
エラーに関する必要な詳細がログに記録されていない場合は、describe podコマンドを実行します。たとえば:
kubectl describe pod oaainstall-email-6fd7c9b9dd-lr5lm -n oaans

OAA.shの実行中にポッドの起動に失敗し、CrashLoopBackOffが表示される

エラーが表示されたポッドに対してkubectl logs <pod> -n <namespace>コマンドを実行します。エラーの原因の1つとして、次のことが考えられます:

そのエントリのmod_wl_ohs.confPathTrimおよびPathPrependが更新されなかったため、ポッドはhttp://www.example.oracle.com:7791/.well-known/openid-configurationに接続できませんでした。「Oracle Access Management OAuthの構成」を参照してください。

OAA.shのインストールがタイムアウトしたのにポッドが実行中と表示される

OAAインストールがタイムアウトしたのに、OAAポッドにエラーが表示されず、最終的に実行中状態になった場合、クラスタでOAAイメージのダウンロードに時間がかかりすぎていた可能性があります。この場合、OAAポッドは最終的に起動されますが、インストールは完了しません。これが発生した場合は、インストールをクリーン・アップし、インストール・スクリプトを再実行します。

kubectlで"Unable to connect to the server: net/http: TLS handshake timeout"と報告される

考えられる原因は次のとおりです:
  • プロキシは環境で定義されていますが、no_proxy環境変数にクラスタ・ノードが含まれていません。この問題を解決するには、クラスタ・ノードのIPまたはホスト名をno_proxy環境変数に追加する必要があります。
  • kube構成ファイル~/.kube/configまたは/etc/kubernetes/admin.confが無効です。

クリーンアップ中にOAuthからOAAドメインを削除できない

ドメイン内のすべてのクライアントおよびリソースをリストし、1つずつ削除してから、ドメインを削除します:
  1. コマンドを使用して、OAM管理者ユーザーとそのパスワードをエンコードします:
    echo -n <username>:<password> | base64
    たとえば:
    echo -n weblogic:<password> | base64
    この値は、次の例の<ENCODED_OAMADMIN>に使用する必要があります。
  2. 次を実行します:
    $ curl --location --request DELETE 'http://<OAuth_Host>:<OAuth_port>/oam/services/rest/ssa/api/v1/oauthpolicyadmin/oauthidentitydomain?name=OAADomain' \
    --header 'Authorization: Basic <ENCODED_OAMADMIN>'
    OAuth Identity Domain is not empty. Kindly remove (resource/client) entities from identity domain
    $ curl --location --request GET 'http://<OAuth_Host>:<OAuth_port>/oam/services/rest/ssa/api/v1/oauthpolicyadmin/client?identityDomainName=OAADomain' --header 'Content-Type: application/json' --header 'Authorization: Basic <ENCODED_OAMADMIN>'
    $ curl --location --request GET 'http://<OAuth_Host>:<OAuth_port>/oam/services/rest/ssa/api/v1/oauthpolicyadmin/application?identityDomainName=OAADomain' --header 'Content-Type: application/json' --header 'Authorization: Basic <ENCODED_OAMADMIN>'

OAAでのTAPパートナの作成中のエラー'jq: error: Invalid escape at line 1, column 6`

OAA.shの実行中に次のエラーが表示された場合は、oua.tapAgentFilePass値がbase64で設定されていません:
jq: error: Invalid escape at line 1, column 6 (while parsing '"\�"') at <top-level>, line 1:
.agentName |= if . == "" then "MFAOAAPartner17ohsapr9" else . end |             .privateKey |= if . == "" then "CECECECE0000000200000001..etc..  
jq: 1 compile error
Creating tap partner in OAA

この問題を解決するには、値をbase64バージョンのパスワードに設定し、OAA.shを再度実行します。「Oracle Universal Authenticatorの構成」を参照してください。

DRSSログの不正なOracle Access Managerリクエスト

DRSSポッド・ログに次のエラーが表示される場合:
<DATE> Thread[http-thread-34,5,server]: INFO oracle.security.am.drss.handler.oam.OAMHandler parseOAMResponse Exception during parseOAMResponse Unexpected character ('<' (code 60)): expected a valid value (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
 at [Source: (String)"<html><head><title>Bad Oracle Access Manager Request</title><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"></head><body><h1>Bad Oracle Access Manager Request</h1><p>Unable to process the request due to unexpected error.</p></body></html>
oua.oamRuntimeEndpointinstallOAA.propertiesで正しく設定されていないか、OAMサーバーの完全修飾ホスト名に設定されていないか、OAMサーバーが正しく機能していません。