WebLogicドメインの作成中に次のメッセージが表示される場合があります: "the job status is not Completed!"
status on iteration 20 of 20
pod domain1-create-weblogic-sample-domain-job-nj7wl status is Init:0/1
The create domain job is not showing status completed after waiting 300 seconds.
Check the log output for errors.
Error from server (BadRequest): container "create-weblogic-sample-domain-job" in pod "domain1-create-weblogic-sample-domain-job-nj7wl" is waiting to start: PodInitializing
[ERROR] Exiting due to failure - the job status is not Completed!
次に示すように、kubectl describe pod
を実行すると、さらにエラーの詳細を取得できます:
$ kubectl describe pod <your-pod-name>
出力例を次に示します:
$ kubectl describe pod domain1-create-weblogic-sample-domain-job-nj7wl
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 4m2s default-scheduler Successfully assigned default/domain1-create-weblogic-sample-domain-job-qqv6k to aks-nodepool1-58449474-vmss000001
Warning FailedMount 119s kubelet, aks-nodepool1-58449474-vmss000001 Unable to mount volumes for pod "domain1-create-weblogic-sample-domain-job-qqv6k_default(15706980-73cb-11ea-b804-b2c91b494b00)": timeout expired waiting for volumes to attach or mount for pod "default"/"domain1-create-weblogic-sample-domain-job-qqv6k". list of unmounted volumes=[weblogic-sample-domain-storage-volume]. list of unattached volumes=[create-weblogic-sample-domain-job-cm-volume weblogic-sample-domain-storage-volume weblogic-credentials-volume default-token-zr7bq]
Warning FailedMount 114s (x9 over 4m2s) kubelet, aks-nodepool1-58449474-vmss000001 MountVolume.SetUp failed for volume "wls-azurefile" : Couldn't get secret default/azure-secrea
この失敗の一般的な理由と、調査に役立つヒントをいくつか示します。
WebLogicドメインの作成ジョブが失敗しました
デプロイ・ログを確認し、kubectl describe pod podname
で失敗の詳細を見つけてください。 「ポッド・エラーの詳細を取得しています」に進んでください。
サーバーの起動プロセスはまだ実行中です
kubectl get svc
でチェックし、domainUID-admin-server
、domainUID-managed-server1
およびdomainUID-managed-server2
がリストされていない場合は、管理サーバーが起動するまで待機する必要があります。
次の出力は、管理サーバーが起動した場合の例です。
$ kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
domain1-admin-server ClusterIP None <none> 30012/TCP,7001/TCP 7m3s
domain1-admin-server-ext NodePort 10.0.78.211 <none> 7001:30701/TCP 7m3s
domain1-admin-server-external-lb LoadBalancer 10.0.6.144 40.71.233.81 7001:32758/TCP 7m32s
domain1-cluster-1-lb LoadBalancer 10.0.29.231 52.142.39.152 8001:31022/TCP 7m30s
domain1-cluster-cluster-1 ClusterIP 10.0.80.134 <none> 8001/TCP 1s
domain1-managed-server1 ClusterIP None <none> 8001/TCP 1s
domain1-managed-server2 ClusterIP None <none> 8001/TCP 1s
internal-weblogic-operator-svc ClusterIP 10.0.1.23 <none> 8082/TCP 9m59s
kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 16m
サービスは稼働しているが、WLS管理コンソールがまだ使用できない場合は、kubectl describe domain
を使用してドメイン・ステータスを確認します。
$ kubectl describe domain domain1
cluster-1
のステータスがServersReady
およびAvailable
であることを確認します。 admin-server
、managed-server1
およびmanaged-server2
のステータスは、RUNNING
である必要があります。 それ以外の場合、クラスタはまだ完全に準備できている可能性があります。
ドメインYAMLファイルのデプロイ後にModel in Imageの問題をデバッグするための推奨事項については、「デバッグ」を参照してください。
WSL2で実行している場合は、「タイムスタンプの問題が不正です」というエラーにより、Azure CLIがブロックされる可能性があります。 次のエラーが表示されることがあります。
$ kubectl get pod
Unable to connect to the server: x509: certificate has expired or is not yet valid: current time 2020-11-25T15:58:10+08:00 is before 2020-11-27T04:25:04Z
次のコマンドを実行して、WSL2システム時間を更新できます:
# Fix the outdated systime time
$ sudo hwclock -s
# Check systime time
$ data
Fri Nov 27 13:07:14 CST 2020
オペレータのインストール中にタイムアウトが発生し、次のエラーが表示される場合があります:
$ helm install weblogic-operator weblogic-operator/weblogic-operator \
--namespace sample-weblogic-operator-ns \
--set serviceAccount=sample-weblogic-operator-sa \
--wait
Error: timed out waiting for the condition
メイン・ブランチで作業していることを確認します。 オペレータを削除して再度インストールしてください。
$ helm uninstall weblogic-operator -n sample-weblogic-operator-ns
release "weblogic-operator" uninstalled
メインをチェックアウトし、オペレータをインストールします。
$ cd weblogic-kubernetes-operator
$ git checkout main
$ helm install weblogic-operator weblogic-operator/weblogic-operator \
--namespace sample-weblogic-operator-ns \
--set serviceAccount=sample-weblogic-operator-sa \
--wait
WITのバージョンが1.9.8より古い場合、Dockerビルド・キットが有効になっていると、./imagetool/bin/imagetool.sh
の実行中にエラーが発生します。
次の警告メッセージが表示されます:
failed to solve with frontend dockerfile.v0: failed to create LLB definition: failed to parse stage name "WDT_BUILD": invalid reference format: repository name must be lowercase
このエラーを解決するには、新しいバージョンのWITにアップグレードするか、次のコマンドを使用してDockerビルド・キットを無効にし、imagetool
コマンドを再度実行します。
$ export DOCKER_BUILDKIT=0
$ export COMPOSE_DOCKER_CLI_BUILD=0
現在、オペレータのインストールをブロックする2つのケースに対応しています:
次のステップに従って、エラーを掘り下げます。
AKSクラスタ内のシステムポッドが保留中の場合、オペレータのインストールはブロックされます。
これはエラー例で、警告メッセージは「ポッドのスケジュールに使用できるノードがありません」です。
$ kubectl get pod -A
NAMESPACE NAME READY STATUS RESTARTS AGE
default weblogic-operator-c5c78b8b5-ssvqk 0/1 Pending 0 13m
kube-system coredns-79766dfd68-wcmkd 0/1 Pending 0 3h22m
kube-system coredns-autoscaler-66c578cddb-tc946 0/1 Pending 0 3h22m
kube-system dashboard-metrics-scraper-6f5fb5c4f-9f5mb 0/1 Pending 0 3h22m
kube-system kubernetes-dashboard-849d5c99ff-xzknj 0/1 Pending 0 3h22m
kube-system metrics-server-7f5b4f6d8c-bqzrn 0/1 Pending 0 3h22m
kube-system tunnelfront-765bf6df59-msj27 0/1 Pending 0 3h22m
sample-weblogic-operator-ns weblogic-operator-f86b879fd-v2xrz 0/1 Pending 0 35m
$ kubectl describe pod weblogic-operator-f86b879fd-v2xrz -n sample-weblogic-operator-ns
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 71s (x25 over 36m) default-scheduler no nodes available to schedule pods
このエラーが発生した場合は、AKSクラスタを削除して新しいクラスタを作成します。
kubectl get pod -A
を実行して、すべてのシステム・ポッドが実行されていることを確認します。
$ kubectl get pod -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-79766dfd68-ch5b9 1/1 Running 0 3h44m
kube-system coredns-79766dfd68-sxk4g 1/1 Running 0 3h43m
kube-system coredns-autoscaler-66c578cddb-s5qm5 1/1 Running 0 3h44m
kube-system dashboard-metrics-scraper-6f5fb5c4f-wtckh 1/1 Running 0 3h44m
kube-system kube-proxy-fwll6 1/1 Running 0 3h42m
kube-system kube-proxy-kq6wj 1/1 Running 0 3h43m
kube-system kube-proxy-t2vbb 1/1 Running 0 3h43m
kube-system kubernetes-dashboard-849d5c99ff-hrz2w 1/1 Running 0 3h44m
kube-system metrics-server-7f5b4f6d8c-snnbt 1/1 Running 0 3h44m
kube-system omsagent-8tf4j 1/1 Running 0 3h43m
kube-system omsagent-n9b7k 1/1 Running 0 3h42m
kube-system omsagent-rcmgr 1/1 Running 0 3h43m
kube-system omsagent-rs-787ff54d9d-w7tp5 1/1 Running 0 3h44m
kube-system tunnelfront-794845c84b-v9f98 1/1 Running 0 3h44m
ポッド・ステータスからErrImagePullのエラーが発生した場合は、docker pull
を使用してオペレータ・イメージを確認します。 エラーが発生した場合は、3.1.1
より大きいバージョンに切り替えることができます。
$ docker pull ghcr.io/oracle/weblogic-kubernetes-operator:<version>
# Example: pull 3.1.1.
$ docker pull ghcr.io/oracle/weblogic-kubernetes-operator:3.1.1
3.1.1: Pulling from oracle/weblogic-kubernetes-operator
980316e41237: Pull complete
c980371d97ea: Pull complete
db19c8ff0d12: Pull complete
550f44317ae5: Pull complete
be2e701f5ee0: Pull complete
1cb891615559: Pull complete
4f4fb700ef54: Pull complete
Digest: sha256:6b060ec1989fcb26e1acb0d0b906d81fce6b8ec2e0a30fa2b9d9099290eb6416
Status: Downloaded newer image for ghcr.io/oracle/weblogic-kubernetes-operator:3.1.1
ghcr.io/oracle/weblogic-kubernetes-operator:3.1.1
ACRを作成できず、サービス・プリンシパルを使用している場合は、「サービス・プリンシパルによるAzure Container Registry認証」の説明に従って手動ロール割当てを使用してACRへのアクセス権を付与できます。
まず、AKSクラスタの作成時に使用されるサービス・プリンシパルのobjectId
を見つけます。 ファイルに保存するように指示されたaz ad sp create-for-rbac
からの出力が必要になります。 出力内では、name
プロパティの値が必要です。 http
で開始されます。 このコマンドを使用してobjectId
を取得します。
$ az ad sp show --id http://<your-name-from-the-saved-output> | grep objectId
"objectId": "nror4p30-qnoq-4129-o89r-p60n71805npp",
次に、このコマンドを使用して、acrpull
ロールをそのサービス・プリンシパルに割り当てます。
$ az role assignment create --assignee-object-id <your-objectId-from-above> --scope $AKS_PERS_RESOURCE_GROUP --role acrpull
{
"canDelegate": null,
"condition": null,
...
"type": "Microsoft.Authorization/roleAssignments"
}
その後、エラーが発生したコマンドを再試行します。
AKSクラスタの作成時に次のエラーが発生した場合は、リージョンで使用可能なVMサイズを使用してください。
$ az aks create \
--resource-group $AKS_PERS_RESOURCE_GROUP \
--name $AKS_CLUSTER_NAME \
--node-count 2 \
--generate-ssh-keys \
--nodepool-name nodepool1 \
--node-vm-size Standard_DS2_v2 \
--location $AKS_PERS_LOCATION \
--service-principal $SP_APP_ID \
--client-secret $SP_CLIENT_SECRET
BadRequestError: Operation failed with status: 'Bad Request'. Details: Virtual Machine size: 'Standard_DS2_v2' is not supported for subscription subscription-id in location 'eastus'. The available VM sizes are 'basic_a0,basic_a1,basic_a2,basic_a3,basic_a4,standard_a2'. Please refer to aka.ms/aks-vm-sizes for the details.
ResourceNotFoundError: The Resource 'Microsoft.ContainerService/managedClusters/wlsaks1613726008' under resource group 'wlsresourcegroup1613726008' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix
例に示すように、standard_a2
を使用できます。そのサイズのCPUおよびメモリーに注意し、メモリー要件を満たしていることを確認してください。
exec /weblogic-operator/scripts/introspectDomain.sh: exec format error
このエラーは、imagetool.sh
コマンドを実行して、Apple Siliconを使用してmacOSの下にDockerイメージをビルドした場合に発生します。 これはサポートされていません。 「WebLogic Image Tool問題トラッカでのこの問題」を参照してください。