Projektioner
En projektion gör en boundary tillgänglig på ett kluster. Hur du lägger till en, vad dess statusar betyder, och vad som händer med resursgrupper när en boundary spänner över fler kluster.
Kräver: boundaries/projections/manage
En projektion gör en boundary tillgänglig på ett kluster. En boundary utan aktiv projektion kan inte ha några resursgrupper, så att projicera den är steget mellan att skapa en boundary och att använda den. En boundary kan projiceras i flera kluster, en gång i varje.
Att lägga till en projektion kräver boundaries/projections/manage i plattformens rot, som rollerna
Platform Owner och Platform Contributor har. Klustret måste redan vara anslutet till plattformen —
se Anslut ett kluster.
Vad en projektion gör
När en projektion är Active:
- får resursgrupper som skapas i boundaryn från och med då en namnrymd på det klustret;
- håller plattformen boundaryns nätverksregler på plats i de namnrymderna — se Nätverksisolering;
- skriver plattformen en
Boundary-resurs, med boundaryns slug som namn, i klustret, och klustrets operator stämmer av den. Det är så operatorn får veta om boundaryn, bland annat för Crosslink.
Lägg till en projektion
- Öppna Boundaries, välj boundaryn och öppna dess flik Projektioner.
- Välj Lägg till projektion.
- Välj Kluster. Alla anslutna kluster listas.
- Välj Lägg till projektion.
Projektionen visas som Provisioning, och en åtgärd för den visas på boundaryns flik Åtgärder. Projektionen blir Active vid plattformens nästa nätverksgenomgång, inom fem minuter som standard, och åtgärden slutförs samtidigt. Först då kan resursgrupper skapas på klustret.
En boundary kan bara projiceras en gång i ett och samma kluster; en andra projektion i samma kluster avvisas.
Knappen Lägg till projektion visas även för boundaryns Owners och Contributors, men för dem misslyckas det, eftersom åtgärden bara ges i roten.
Statusar
| Status | Betydelse |
|---|---|
| Provisioning | Nyss tillagd; väntar på plattformens nästa nätverksgenomgång. |
| Active | Boundaryns nätverksregler är på plats på klustret. Resursgrupper kan skapas där. |
| Failed | Nätverksreglerna kunde inte tillämpas på klustret. Orsaken finns på den misslyckade åtgärden, och plattformen försöker igen vid varje genomgång; projektionen blir Active när en genomgång lyckas. |
| Deleting | Projektionen togs bort via API:t — se Ta bort en projektion. |
När en boundary får ännu ett kluster senare
En resursgrupp får sina namnrymder när den skapas, på de kluster som boundaryn då är aktivt projicerad i. Att projicera boundaryn i ytterligare ett kluster senare lägger inte till de befintliga resursgrupperna där; bara resursgrupper som skapas efter att den nya projektionen blivit Active får en namnrymd där.
Ta bort en projektion
Det finns inget fullständigt sätt att ta bort en projektion i dag. Portalen saknar en åtgärd för
det. API:t (DELETE https://api.example.com/boundaries/<boundary-id>/projections/<projection-id>)
markerar projektionen som Deleting: därefter slutar plattformen underhålla boundaryns
nätverksregler och dess Boundary-resurs på det klustret, men tar inte bort något från klustret,
och projektionen ligger kvar i listan som Deleting.
Medan Crosslink är påslaget går projektionen för navklustret inte att ta bort alls; begäran avvisas tills navet har flyttats till ett annat kluster eller Crosslink har stängts av.
I klustret
kubectl get boundaries.platform.stackship.se på klustret listar de Boundary-resurser som
plattformen har skrivit där. Deras fas är operatorns egen bild av det klustret, inte den status som
portalen visar för boundaryn eller projektionen.
Med CLI:t
Lista de kluster en boundary är projicerad i, med varje projektions status:
stsh boundary projections --boundary my-boundaryCLI:t har inget kommando för att lägga till en projektion.