skip to Main Content

I’m trying to deploy a grobid:0.7.3 custom image on Azure Container Apps, but keep having in return "Failed:grobidContainerCreation" failed.
Container goes in that status, and then in Degraded.
Azure Container Apps workload profile size is consumption 4 cpus and 8 Gb memory.

The custom image just copies a .pem certificate.
but that’s not the problem [enter image description here]

I tried to deploy the same image on a 4cpu x 8memory x 30gb storage vm and it works with no problems.
Tryed to deploy the same azure container app in a development environment and still not working.

2

Answers


  1. Chosen as BEST ANSWER

    The crash of the application was likely due to the insufficient memory allocation within the Azure Container Apps environment. he full Grobid image requires 30GB of space, but the consumption model for Azure Container Apps provides a maximum of 8GB per replica.

    https://learn.microsoft.com/en-us/azure/container-apps/hardware#:~:text=Consumption,8*

    To address this issue, consider requesting a quota increase or optimizing the application to fit within the available memory limits.


  2. To deploy a custom Grobid image on Azure Container Apps, you can follow these steps-

    Assuming you already have a custom Grobid image (e.g., grobid:0.7.3) already built and available in your ACR

    Create a Container App Environment

       az containerapp env create --name grobid-env 
      --resource-group <RGname> 
      --location westus
    

    enter image description here
    Next, create a Container App using the custom Grobid Docker image. Add your startup command accordingly for your custom image as below-

    az containerapp create --name grobid-app 
      --resource-group <RGname> 
      --environment grobid-env 
      --image arkoacr.azurecr.io/grobid:0.7.3 
      --cpu 4 --memory 8Gi 
      --target-port 8080 
      --ingress 'external' 
      --registry-server arkoacr.azurecr.io 
      --registry-username <your-acr-username> 
      --registry-password <your-acr-password> 
      --startup-command "java -jar grobid-service-0.7.3.jar"
    

    For this example, since the image is hosted on Docker Hub, no special configuration is required for authentication. I am not using any startup script so –

    az containerapp create --name grobid-app 
      --resource-group <RGname> 
      --environment grobid-env 
      --image lfoppiano/grobid:0.7.3 
      --cpu 4 --memory 8Gi 
      --target-port 8070 
      --ingress 'external'
      
    

    enter image description here

    After deploying the container app, you can monitor and debug the deployment using the following steps:

    Check App Status:

    az containerapp show --name grobid-app --resource-group <RGname>
    

    enter image description here
    enter image description here
    View Logs:

    az containerapp logs show --name grobid-app --resource-group <RGname>
    

    enter image description here

    Additional troubleshooting steps-

    1. Check if Grobid requires more memory or storage than currently allocated.
    2. Ensure that Azure Container Apps provide sufficient disk space for Grobid’s needs.
    3. Make sure the startup command in Azure Container Apps matches the expected command for Grobid.
    4. Ensure that Grobid has the necessary network access to external services or APIs.
    5. Use the logging capabilities of Azure Container Apps to identify specific issues during container creation and startup.

    Reference:
    Grobid setup

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search