Hoppa till innehållet
Stackship-dokumentation English

ContainerinstanserAnvändareMaskinöversatt

Skapa en containerinstans

Skapa en containerinstans i portalen — namn och placering, avbild och register, miljö och kommando, beräkningsplan, portar och publik exponering — eller med CLI:t.

Kräver: containerinstance/write

För att skapa en instans behöver du behörigheten containerinstance/write i resursgruppen; rollerna Owner, Contributor, Apps Operator och Blueprints Operator har den.

Öppna guiden

Öppna Container Instanser i sidomenyn i portalen på https://portal.example.com och välj Skapa Containerinstanser. Guiden Skapa containerinstans har sex steg: Grunder, Avbildning, Körning, Beräkning, Nätverk och Granska. Nästa kontrollerar ett steg innan du går vidare, och Skicka i sista steget skapar instansen.

Guiden skapar en komponent, main, med en container. Fler komponenter, containrar, slutpunkter och volymer kan läggas till när instansen finns.

Grunder

  • Instansnamn — 3 till 50 tecken: gemener, siffror och bindestreck, utan bindestreck först eller sist, och unikt i resursgruppen. Börja namnet med en bokstav: ett namn som börjar med en siffra godtas, men Kubernetes vägrar klusternamnet för en komponent med portar, och instansen hamnar i Error utan något meddelande om varför. Namnet kan inte ändras senare; det ingår i instansens klusternamn och i dess standardvärdnamn.
  • Boundary, Cluster och Resource group — var instansen körs. Varje fält fylls i åt dig när det bara finns ett val.

Avbildning

  • Avbildning — förrådet, utan tagg eller digest: ghcr.io/acme/worker. Gemener; registrets värdnamn får ha en port, som i registry.example.com:5000/team/worker.
  • Tagg — en tagg som 1.4.2 (standard är latest), eller en digest skriven sha256: följt av 64 hexadecimala tecken. En tagg görs om till en digest när instansen driftsätts, så en nyare avbild som pushas under samma tagg hämtas inte förrän du distribuerar om — se Avbilder och uppdateringar. En digest låser avbilden exakt.
  • Privat register — behåll Publik avbild — inga uppgifter behövs för en publik avbild. För en privat avbild väljer du registret att hämta genom. Listan visar de privata register som är anslutna som distributionskällor i boundaryn; anslut ett först under Distributionskällor — se Privat register. Instansen lagrar bara vilken källa som ska användas, aldrig inloggningsuppgifterna. Att använda en källa kräver kernel/deployments/read på boundaryn; utan den vägrar plattformen skapa instansen, och senare att spara ändringar i den.

Körning

  • Miljövariabler — välj Lägg till variabel, ge den ett Namn och välj dess Källa: Literal med ett Värde, eller Valvhemlighet med ett valv och en nyckel. Ett literalt värde lagras i klartext och syns i revisionshistoriken, så använd en valvhemlighet för allt som är känsligt. Importera .env ersätter de literala variablerna med innehållet i en .env-fil och behåller de valvbaserade.
  • Kommando och Argument — Kommando ersätter avbildens ENTRYPOINT, Argument dess CMD. Lämna båda tomma för att köra avbilden som den byggdes.

En container som använder en valvhemlighet måste ange sitt kommando — avbildens ENTRYPOINT — eftersom plattformen levererar värdena genom att kapsla in det; steget säger till när det saknas. Se Ange kommandot.

När instansen skapas får dess identitet Secrets Reader på varje valv som en variabel refererar till, med dina behörigheter: du behöver rollen Owner på valvet, dess resursgrupp eller boundaryn, tilldelad dig direkt eller aktiverad via just-in-time-åtkomst. Har du den inte erbjuder steget att begära tillfällig åtkomst, och plattformen vägrar skapa instansen tills du har den — se När det sker åt dig. Varje senare sparning av instansen gör samma tilldelning igen och kräver därför samma roll — se Behörigheter.

Beräkning

  • Beräkningsplan — hur mycket CPU och minne komponenten får; varje kort visar planens namn, CPU och minne. Planerna finns i Beräkningsplaner. När boundaryn begränsar vilka planer som får användas visas de andra, men de går inte att välja, med skälet.
  • Repliker — hur många kopior av komponenten som ska köras, 0 till 10. Med 0 skapas instansen stoppad.

Nätverk

  • Portar — portarna containern lyssnar på, var och en med Namn, Port och Protokoll (TCP eller UDP). Guiden börjar med en TCP-port som heter http på 8080. Ett portnamn är upp till 15 gemener, siffror eller bindestreck och börjar med en bokstav. En arbetare som inte lyssnar på något kan sakna portar. En deklarerad port nås inom boundaryn oavsett om den exponeras — se Hur en instans nås.
  • Exponera publikt — av som standard, vilket håller instansen intern. Påslaget får instansen en HTTPS-slutpunkt som heter web.
  • Port att exponera — visas när containern har mer än en TCP-port: porten slutpunkten skickar trafik till. En UDP-port kan inte exponeras här.
  • Eget värdnamn (valfritt) — lämna tomt för att använda plattformens värdnamn som visas under Publik URL, eller ange en egen domän, som behöver en DNS-post som pekar på plattformen innan dess certifikat kan utfärdas. Se Värdnamn.

Slutpunkter med lastbalanserare, sökvägsroutning och inloggningsskydd läggs till senare, på fliken Slutpunkter.

Granska

Granska visar inställningarna för avbild, beräkning, nätverk och körning. Skicka skapar instansen och går tillbaka till listan. Instansen är Creating tills dess poddar är redo och sedan Running; följ den på instansens flik Operations — se Operationer.

Med CLI:t

CLI:t och API:et tar emot instansen som plattformen lagrar den: en lista med komponenter och en lista med slutpunkter. Spara definitionen som en fil:

json
{
  "components": [
    {
      "name": "main",
      "replicas": 1,
      "startupOrder": 1,
      "computePlan": "small",
      "containers": [
        {
          "name": "main",
          "image": "ghcr.io/acme/worker",
          "tag": "1.4.2",
          "ports": [{ "name": "http", "port": 8080, "protocol": "TCP" }]
        }
      ]
    }
  ],
  "endpoints": [
    { "name": "web", "component": "main", "port": "http", "expose": "ingress" }
  ]
}

och skapa instansen från den:

bash
stsh ci create worker -g my-resource-group -c my-cluster --file instance.json

En container hämtar via ett privat register när dess sourceRef är id:t för den distributionskällan. En ingress-slutpunkt utan hostname får plattformens värdnamn.

Nästa steg