Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 46s (x5 over 3m7s) default-scheduler 0/3 nodes are available: 3 Insufficient cpu.
Troubleshoot Adapter Provisioning Issues
When you provision the adapter, you might encounter issues such as insufficient resources or an image that cannot be accessed. The following section provides possible causes and solutions for your deployment and service issues:
Insufficient Resource Allocation
When you attempt to provision the adapter, your adapter pod will not be able to start.
Diagnose
To diagnose the issue:
-
Check the adapter status:
$ asmctl adapter list
The status is displayed in a few minutes.
-
If the adapter displays a
Failed
status, run the following command:$ kubectl -n service-mesh get pods
-
Check the status of the adapter pod:
$ kubectl -n service-mesh get pods | grep grpcmule
If the status is Pending, describe the pod:
$ kubectl -n service-mesh describe pods -l namespace=namespace
-
If you do not see the
grpcmule-namespace
pod, run the same command immediately after creating the adapter, while it is being provisioned but before it has failed:$ kubectl -n service-mesh describe pods -l namespace=namespace
-
Perform one of the following actions:
-
In the Events section, verify that you have an “Insufficient CPU” or other resource listing:
-
-
Describe the nodes to check the resource allocation:
$ kubectl describe nodes
The allocated resources are displayed:
Diagnosis
To diagnose the issue, verify the status of the affected pods:
$ kubectl -n service-mesh get pods
Your pod might appear in either a ErrImagePull
or a ImagePullBackOff
state.
Solution
To resolve this issue:
-
Ensure that the registry-credentials-rotator pod is running:
$ kubectl -n service-mesh get pod -l app=service-mesh-registry-credentials-rotator
-
Review the logs of the pod to ensure that no client ID and client secret, entitlement, or permissions issues occurred:
$ kubectl -n service-mesh logs $(kubectl -n service-mesh get pod -l app=service-mesh-registry-credentials-rotator -oname)
-
Verify that the pull secret was created:
$ kubectl -n service-mesh get secret service-mesh-pull-secret
-
Verify that the correct platform URL and credentials are provided:
$ kubectl -n service-mesh get secret service-mesh-registry-credentials-rotator-env -ogo-template='CLIENT_ID:{{.data.CLIENT_ID|base64decode}} CLIENT_SECRET:{{.data.CLIENT_SECRET|base64decode}}'
$ kubectl -n service-mesh get cm service-mesh-registry-credentials-rotator-env -ogo-template='PLATFORM_URI:{{.data.PLATFORM_URI}}'
Mule Runtime Engine Fails to Start Due to License Issues
When you attempt to list your adapters, you might receive a Failed
status.
Cause
If you did not provide a valid Mule runtime engine (Mule) license, with the required entitlements, your Mule adapter does not start.
Catalog Content Initialization Failed
When you attempt to provision an adapter, it might fail because the catalog content did not correctly initialize.
Cause
The Anypoint Service Mesh Catalog component is required to provision adapters, create bindings, and create APIs. If the catalog is not initialized correctly, the adapter fails.
Diagnosis
To diagnose the issue:
-
Review the adapter logs:
$ asmctl adapter logs --namespace=adapter_namespace --name=adapter_name
Output similar to the following is displayed:
2019-11-26T20:46:35Z Error provisioning ServiceInstance of ClusterServiceClass (K8S: "4f6e6cf6-ffdd-425f-a2c7-3c9258ad246a" ExternalName: "anypoint-service-mesh-adapter") at ClusterServiceBroker "service-mesh-incluster-broker": Status: 500; ErrorMessage: <nil>; Description: Catalog content init failed; ResponseError: <nil>
Adapter Failed to Delete
When you attempt to delete an adapter that you previously created, you might encounter issues.
Cause
If the adapter that you want to delete has service bindings associated with it, you cannot delete that adapter.