Kontroller före uppgradering
Varje kontroll plattformen kör före en utrullning — vad den tittar på, när den hoppas över, vad en varning eller ett fel betyder och vilka fel som inte kan åsidosättas.
Var kontrollerna körs
- På en granskad plan. När en plan är validerad kör planeringssidan kontrollerna för den planen. Det är i den rapporten du åsidosätter fel — se Hantera kontrollerna före uppgradering.
- När en utrullning startar. Att köra utrullningen kör alla kontroller igen och går efter den körningen.
- På fliken Components kör Run checks dem utan plan. De kontroller som gäller en plans komponenter, avbildningar eller charts blir då Skipped, och märket Upgrade readiness visar det sammanlagda resultatet.
- På en utrullnings sida visas kontrollerna som de såg ut när utrullningen startade.
Resultat
| Resultat | Betydelse |
|---|---|
| Pass | Inget att göra. |
| Warn | Värt att läsa; stoppar aldrig en utrullning. En kontroll som fallerar eller tar längre än fem sekunder rapporterar också Warn: den säger då ingenting om plattformen, så kontrollera den delen för hand. |
| Fail | Stoppar utrullningen om du inte åsidosätter den. Åsidosättandet och kontrollens id registreras på utrullningen. |
| Fail, märkt Kan inte åsidosättas | Stoppar utrullningen tills orsaken är åtgärdad. |
| Skipped | Gäller inte den här planen eller plattformen, och säger varför. |
Det sammanlagda resultatet är det sämsta; Skipped räknas som godkänt. En kontroll märkt release har deklarerats av releasen som rullas ut i stället för att vara inbyggd i plattformen.
release.prerequisites kan aldrig åsidosättas. En release kan märka fler av sina kontroller som
omöjliga att åsidosätta; platform.drift är aldrig en av dem.
Kontroller av plattformen och planen
Kontrollernas namn visas på engelska i portalen.
| Kontroll | Vad den tittar på | Varnar eller fallerar när |
|---|---|---|
Platform components are healthy platform.health |
Varje plattformskomponent som körs, utom en valfri modul som inte är installerad, och om en utrullning pågår | Fail: en komponent är inte Healthy — få den frisk först, eftersom en utrullning byter avbildningar och inte lagar något — eller en utrullning pågår redan eller är pausad |
Platform database accepts connections database.connection |
Att Lifecycle-modulen kan ansluta till plattformsdatabasen | Fail: den kan inte. En utrullning registrerar sitt tillstånd efter varje batch |
Release feed is reachable releasefeed.reachable |
Att flödets URL svarar. Hoppas över utan flöde | Fail: den svarar inte. CRD-paketet hämtas under utrullningen |
Identity provider answers discovery identity.oidc-discovery |
Identitetsleverantörens OpenID-discoverydokument, och att det anger den utfärdare plattformen förväntar sig | Fail: det svarar inte eller anger en annan utfärdare — anpassa plattformens identitetsinställningar till den utfärdare leverantören annonserar |
Control plane can reach its dependencies network.kernel-egress |
Att Lifecycle-modulen når plattformens API, identitetsleverantören och releaseflödet | Fail: något går inte att nå — kontrollera nätverkspolicyer för utgående trafik och DNS i stackship-system |
Health gates answer on the running versions platform.gates-reachable |
Varje planerad komponents hälsokontroll, mot versionen som körs nu | Fail: en kontroll svarar inte. Utrullningen skulle pausa på samma kontroll |
Plan images are servable by their registries registry.pull |
Att varje avbildning i planen går att hämta | Fail: en avbildning saknas eller registret nekar plattformens autentiseringsuppgifter |
Release configuration renders for every planned component release.config-render |
Att den konfiguration releasen ger varje planerad komponent kan skrivas på den här plattformen | Fail: ett värde som behövs saknas — kör installationsprogrammet igen så att plattformskonfigurationen får det, eller rulla ut en nyare Lifecycle-modul först. Warn: planen uppgraderar också Lifecycle-modulen, och den nya versionen renderar de här komponenterna |
Clusters are reachable with the platform's own identity platform.cluster-api-url |
Om plattformen kan agera i varje registrerat kluster med sin egen identitet | Fail: det enda registrerade klustret har en API-URL; Warn: ett av flera har det. Klustret som plattformen körs i måste vara registrerat utan API-URL — se Anslut ett kluster — och plattformens API (stackship-api) startas om efter ändringen, eftersom det cachar klusteranslutningar |
Clusters hold the permission ceiling this release needs platform.iam-projector-ceiling |
För en plan som flyttar komponenten rbac eller kernel: om varje kluster redan har de Kubernetes-regler som releasens behörighetstak lägger till |
Bara Warn: ett kluster saknar regler. Raden listar dem med de kommandon en klusteradministratör kör en gång; själva uppgraderingen är säker i båda fallen — se Efter uppgradering |
Modules that write Secrets have the grants that let them leave the shared account platform.module-secret-grants |
Om de Kubernetes-behörigheter som låter de modulerna köras under egna konton finns i klustret. Körs med eller utan plan | Bara Warn: behörigheter saknas, så de modulerna fortsätter köras under det delade modulkontot. En klusteradministratör tillämpar dem en gång, som kontrollen beskriver |
The operator may turn policies into admission control operator.admission-policy-grant |
För en plan som flyttar modulen policies: om operatorns ClusterRole stackship-operator-role får hantera validating admission policies och deras bindningar |
Fail: den får inte, så en policy skulle sparas och listas men aldrig tillämpas. Kontrollen visar kommandot en klusteradministratör kör |
Kontroller för planer som uppgraderar ett tredjepartschart eller kör ett plattformssteg
| Kontroll | Vad den tittar på | Varnar eller fallerar när |
|---|---|---|
The cluster carries the platform admin bundle this release needs release.prerequisites |
Varje objekt i releasens administratörspaket — se Plattformens administratörspaket | Fail, kan inte åsidosättas: objekt saknas, har ändrats för hand eller går inte att läsa. Raden listar varje objekt och kommandot en klusteradministratör kör. Warn: paketet kunde inte jämföras, eller är publicerat för en annan namnrymd. En release utan paket bedöms bara på beroendeuppgraderarens konto |
The pre-rollout snapshot has a backup destination backup.destination |
För en plan som uppgraderar ett chart: att Veleros standardlagringsplats är Available, och, för ett chart som bara kan ångras genom en databasåterställning, att plattformsdatabasen har en säkerhetskopieringsmetod | Fail: inget mål. Åsidosätt den så registreras en misslyckad ögonblicksbild och utrullningen fortsätter — utom för ett chart som bara kan ångras genom en databasåterställning, där ögonblicksbilden krävs. Warn: målet är en tjänst i det här klustret, eller den dagliga säkerhetskopieringen av plattformen saknas eller är pausad — se Plattformens säkerhetskopior |
The pre-rollout snapshot completed rollout.snapshot |
Alltid Skipped i rapporten, eftersom ögonblicksbilden tas efter den, före batch 1. Utrullningens sida visar resultatet | — |
Kontroller som releasen deklarerar
En release kan ställa krav på klustret. De här kontrollerna har märket release.
| Kontroll | Varnar eller fallerar när |
|---|---|
Kubernetes version is in the release's supported range release.kubernetes |
Fail: klustrets Kubernetes-version ligger utanför intervallet |
Operator meets the release's version floor release.operator |
Fail: operatorn är äldre — ta med den i utrullningen, i en batch före de komponenter som behöver den. Warn: dess version är okänd |
Required third-party APIs are served release.required-apis |
Fail: klustret serverar inte ett API som releasen använder |
Required configuration keys are present release.config-contract |
Fail: en komponents konfiguration saknar en nyckel som releasen läser — kör installationsprogrammet igen, eller reparera komponenten, först. Warn: konfigurationen kunde inte läsas |
Infrastructure versions match the release's tested set release.tested-with |
Bara Warn: ett beroende kör en version som releasen inte är testad med, eller dess version är okänd |
Release declares requirements this version cannot check release.unknown-requirements |
Bara Warn: den Lifecycle-modul som körs är äldre än releasens krav — uppgradera den först, eller kontrollera kraven för hand |
Kontroller som operatorn kör
Operatorn lägger till kontroller som bara kan göras inifrån klustret.
| Kontroll | Varnar eller fallerar när |
|---|---|
operator.preflight |
Warn: operatorn svarade inte inom 20 sekunder, så dess kontroller saknas |
platform.drift |
För en plan med ett plattformssteg: installationsprogrammets torrkörning hittade plattformsinställningar som ändrats för hand. Fail, som du får åsidosätta: utrullningen pausar då vid plattformssteget, där du väljer vad som händer med dem — se Inställningar ändrade för hand. Warn: torrkörningen var inte klar två minuter efter de andra kontrollerna, så den säger ingenting än |
dependency.<chart>.dry-run |
För varje chart som planen uppgraderar: torrkörningen av uppgraderingen — värdena som ändras, CRD:erna, eller varför den nekade. Visas i planen under Beroenden |