Hoppa till innehållet
Stackship-dokumentation English

LivscykelhanteringAdministratörerMaskinöversatt

Inställningar ändrade för hand

Hitta plattformsinställningar som någon har ändrat direkt i klustret, för in dem i plattformskonfigurationen, eller låt en releaseutrullning sätta tillbaka releasens värden.

Kräver: lifecycle/plan, lifecycle/execute

Installationsprogrammet genererar plattformens egna klusterobjekt — bland annat dess ingress — utifrån plattformskonfigurationen, Secret stackship-install-config i stackship-system. Ett fält som någon ändrar direkt i klustret, till exempel med kubectl edit, stämmer inte längre med det som den körda releasen installerar: det är en plattformsavvikelse.

Plattformen letar efter sådana på två ställen:

  • En kontroll kör den körda releasens installationsprogram som en torrkörning: två minuter efter att Lifecycle-modulen har startat, därefter var sjätte timme, efter varje lyckad utrullning och när du väljer Kontrollera nu. Den körs aldrig medan en utrullning pågår eller är pausad; en kontroll som ska köras då väntar och startar inom en minut efter att utrullningen har avslutats.
  • Plattformssteget i en releaseutrullning stannar innan det skriver över ett fält som ändrats för hand, och pausar utrullningen.

En ändring görs antingen permanent i konfigurationen — den adopteras — eller sätts tillbaka av nästa releaseutrullning.

Se den senaste kontrollen

Öppna Inställningar → Livscykelhantering, fliken Efter uppgradering och avsnittet Plattformsavvikelser. Det visar resultatet av den senaste kontrollen — Inga avvikelser, Ändrat för hand, Kontrollen misslyckades eller Inte tillgänglig, med orsaken, eller Inte kontrollerad än — vilken release den jämförde mot, när och varför den kördes, och när nästa är planerad. Medan en ny kontroll körs ligger det förra resultatet kvar, med en rad som säger att en ny pågår.

Kontrollera nu startar en kontroll och kräver lifecycle/plan. Den nekas medan en kontroll redan pågår, eller medan en utrullning pågår — en utrullning kontrollerar plattformen själv.

Inte tillgänglig betyder oftast att operatorn som körs är för gammal för att kontrollera, eller att den körda releasen saknar installationsprogram.

Bestäm vad som ska hända med varje ändring

När kontrollen hittade ändringar listas var och en med Objekt, Fält och Ändrat av — verktyget eller kontrollern som klustret registrerade. Visa värden visar Releasens värde bredvid Värde i klustret. Den sista kolumnen, Det här kan du göra, erbjuder Adoptera i konfigurationen eller förklarar varför ändringen Kan inte adopteras.

Det du lämnar som det är får nästa releaseutrullning att pausa vid sitt plattformssteg.

För in en ändring i konfigurationen

Att adoptera skriver värdet från klustret till plattformskonfigurationen, så att nästa releaseutrullning behåller det i stället för att återställa det. Det kräver lifecycle/execute.

  1. Välj Adoptera i konfigurationen på ändringen. En knapp täcker alla fält som samma inställning förklarar.
  2. Läs dialogen. Den visar Inställning och det nya Värde; under Objekt som installationsprogrammet renderar annorlunda alla andra objekt som ändras till följd av det, före och efter — en ny portaldomän ändrar till exempel också tillåtna ursprung; och under Läses också av vad mer som läser inställningen och när det följer efter: vid nästa releaseutrullning, vid nästa uppgradering av ett tredjepartschart eller bara vid installation. Det som är märkt Fördröjd behåller det gamla värdet till dess.
  3. Kryssa i Jag förstår att plattformskonfigurationen ändras till värdet från klustret och välj Adoptera i konfigurationen.

Ändringen registreras i aktivitetsloggen, och en ny kontroll startar för att bekräfta att avvikelsen är borta. Att adoptera ändrar bara konfigurationen; objekten följer efter som dialogen sa.

Adopteringen nekas, och du granskar igen, när det finns en nyare kontroll, när värdet i klustret eller konfigurationen har ändrats sedan kontrollen, eller när en utrullning pågår.

När en ändring inte kan adopteras

Den sista kolumnen säger då varför:

  • Det är inte en inställning i plattformskonfigurationen. Nästa releaseutrullning pausar och erbjuder att återställa den.
  • Värdet ensamt förklarar inte ändringen — andra skillnader finns kvar.
  • Objekten har olika värden, så det finns inget enskilt värde att adoptera.
  • Certifikatutfärdaren hanteras av installationsprogrammet. Bara en extern utfärdare kan adopteras.
  • En del av plattformen läser inställningen bara vid installation, så en ändring kräver en ominstallation.

När en releaseutrullning pausar på grund av den

En releaseutrullning som hittar inställningar som ändrats för hand ändrar ingenting och pausar. Dess sida visar Inställningar ändrade manuellt i klustret: varje objekt, fält och vem som ändrade det, med klustrets eget meddelande under Visa detaljer. Du har två vägar vidare, båda med lifecycle/execute:

  • Behåll ändringen, eller ångra den, och välj sedan Resume. För att behålla den adopterar du den enligt ovan, eller skriver in den i stackship-install-config själv; för att släppa den ångrar du den i klustret. Välj sedan Resume: steget körs igen mot klustret som det ser ut då.
  • Återställ sätter tillbaka releasens värden, och utrullningen fortsätter. Det som ändrats för hand i de fälten går förlorat, så du kryssar i Jag förstår att de här manuella ändringarna skrivs över och väljer Återställ i dialogen. Om ändringarna i klustret flyttar sig medan du bestämmer dig visar dialogen dem som de är nu och ber dig granska igen. Återställningen registreras på utrullningen och i aktivitetsloggen.

Återställ är inte tillgängligt, med orsaken angiven, när operatorn som körs är för gammal för att skriva över manuella ändringar. En senare vanlig Resume skriver aldrig över något.