Förhandsgranskning av containrar i Azure Container Apps

Azure Container Apps hanterar information om Kubernetes och behållarorkestrering åt dig. Containrar i Azure Container Apps kan använda valfri körnings-, programmeringsspråk- eller utvecklingsstack.

Azure Container Apps: Containrar

Azure Container Apps stöder:

  • Valfri Linux-baserad containeravbildning
  • Containrar från offentliga eller privata containerregister

Här är några andra funktioner:

  • Det finns ingen obligatorisk bascontaineravbildning.
  • Ändringar i template AVSNITTET ARM-konfiguration utlöser en ny containerapprevision.
  • Om en container kraschar startas den om automatiskt.

Konfiguration

I följande exempelkonfiguration visas de alternativ som är tillgängliga när en container konfigureras.

{
  ...
  "template": {
    "containers": [
      {
        "image": "myacr.azurecr.io/myrepo/api-service:v1",
        "name": "my-container-image",
        "command": ["/bin/queue"],
        "args": [],
        "env": [
          {
            "name": "HTTP_PORT",
            "value": "8080"
          }
        ],
        "resources": {
            "cpu": 1,
            "memory": "250Mb"
        }
    }]
  }
}
Inställning Beskrivning Kommentarer
image Containeravbildningens namn för containerappen. Det här värdet har formen repository/image-name:tag .
name Eget namn på containern. Används för rapportering och identifiering.
command Containerns startkommando. Motsvarar Dockers startpunktsfält.
args Argument för startkommando. Poster i matrisen är sammanfogade för att skapa en parameterlista som ska överföras till startkommandot.
env En matris med nyckel/värde-par som definierar miljövariabler. Använd secretRef i stället för fältet för att referera till en value hemlighet.
resources.cpu Antalet processorer som har allokerats till containern. Värdena måste följa följande regler: värdet måste vara större än noll och mindre än 2 och kan vara val annat decimaltal med högst en decimal. är till exempel 1.1 giltigt, men 1.55 är ogiltigt. Standardvärdet är 0,5 CPU per container.
resources.memory Mängden RAM-minne som allokerats till containern. Det här värdet är upp till 4Gi . Det enda tillåtna usa är gibibytes ( Gi ). Värdena måste följa följande regler: värdet måste vara större än noll och mindre än och kan vara val annat decimaltal med högst 4Gi två decimaler. är till exempel 1.25Gi giltigt, men 1.555Gi är ogiltigt. Standardvärdet är 1Gi per container.

Den totala mängden processorer och minne som begärs för alla containrar i en containerapp måste lägga till en av följande kombinationer.

Virtuella processorer Minne i Gi
0,5 1.0
1.0 2.0
1.5 3.0
2.0 4,0
  • Alla CPU-begäranden i alla dina containrar måste matcha ett av värdena i kolumnen vCPUs.
  • Alla minnesbegäranden i alla dina containrar måste matcha minnesvärdet i minneskolumnen på samma rad i CPU-kolumnen.

Flera containrar

Du kan definiera flera containrar i en enda containerapp. Grupper av containrar kallas poddar. Containrarna i en podd delar hårddisk- och nätverksresurser och har samma programlivscykel.

Du kör flera containrar tillsammans genom att definiera mer än en container i konfigurationens containers matris.

Skäl till att köra containrar tillsammans i en podd är:

  • Använd en container som sidovagn till din primära app.
  • Användning av ett delat diskutrymme och virtuellt nätverk.
  • Dela skalningsregler mellan containrar.
  • Gruppera flera containrar som alltid måste köras tillsammans.
  • Aktivera direkt kommunikation mellan containrar på samma värd.

Containerregister

Du kan distribuera avbildningar som finns i privata register där autentiseringsuppgifter tillhandahålls via containerappkonfigurationen.

Om du vill använda ett containerregister definierar du först de obligatoriska fälten i konfigurationsavsnittet. registries

{
  ...
  "registries": {
    "server": "docker.io",
    "username": "my-registry-user-name",
    "passwordSecretRef": "my-password-secretref-name"
  }
}

Med den här uppsättningen kan de sparade autentiseringsuppgifterna användas när du refererar till en containeravbildning i image en i containers matrisen.

I följande exempel visas hur du distribuerar en app från Azure Container Registry.

{
  ...
  "configuration": {
      "secrets": [
          {
              "name": "acr-password",
              "value": "my-acr-password"
          }
      ],
      "registries": [
          {
              "server": "myacr.azurecr.io",
              "username": "someuser",
              "passwordSecretRef": "acr-password"
          }
      ]
  }
}

Begränsningar

Azure Container Apps har följande begränsningar:

  • Privilegierade containrar: Azure Container Apps kan inte köra privilegierade containrar. Om programmet försöker köra en process som kräver rotåtkomst får programmet i containern ett körningsfel.

  • Operativsystem: Linux-baserade containeravbildningar krävs.

Nästa steg