Boundary-nätverk för driften
Hur plattformen håller boundaryns nätverksregler på plats, modulinställningarna som formar dem, och hur du slår på trafikuppgifterna bakom fliken Nätverk.
Vad reglerna tillåter och blockerar beskrivs för användare i Nätverksisolering och, regel för regel, i Nätverksregler och orsaker. Den här sidan handlar om hur de hålls på plats.
Hur reglerna hålls på plats
Boundaries-modulen räknar fram reglerna för varje projektion — en boundary på ett kluster — och tillämpar dem på namnrymderna för boundaryns resursgrupper på det klustret. Det sker när modulen startar och sedan i en genomgång var femte minut. En ny resursgrupps namnrymd får sina regler vid nästa genomgång: att resursgruppen skapas startar ingen genomgång, och tills den körs begränsar ingen boundary-regel namnrymdens trafik. Varje projektion hanteras för sig, så ett kluster som inte går att nå håller inte upp de andra. En ny projektion vars genomgång misslyckas rapporteras som Failed tills en genomgång lyckas; en projektion som redan är Active förblir Active och prövas igen vid nästa genomgång.
Reglerna är vanliga Kubernetes NetworkPolicies, märkta med
app.kubernetes.io/managed-by=stackship-boundary och, med sitt syfte,
platform.stackship.se/netpol-type (default-deny, allow-same-boundary,
allow-runtime-egress och så vidare).
Plattformen är den enda författaren
Som standard tar modulen bort varje NetworkPolicy i en boundarys resursgruppsnamnrymder som den
inte själv har skrivit, så att ingen med åtkomst till en namnrymd kan luckra upp dess isolering.
Den rör aldrig andra namnrymder. Inställningen
Boundaries__NetpolReconciler__PruneUnmanagedPolicies=false begränsar städningen till modulens
egna policyer, för när en annan betrodd kontroller också måste skriva policyer där.
Inställningar som formar reglerna
| Inställning | Standard | Vad den avgör |
|---|---|---|
Boundaries__NetpolReconciler__IngressNamespace |
sätts av installationsprogrammet | Namnrymden för ingress-kontrollern, som får nå varje arbetslast. |
Boundaries__NetpolReconciler__ApiServerCidrs__0 (och fler index) |
0.0.0.0/0 |
Var arbetslaster får nå Kubernetes API-server. Standardvärdet låter varje arbetslast öppna API-serverns port mot vilken adress som helst; begränsa det till kontrollplanets adresser. |
Boundaries__NetpolReconciler__ApiServerPort |
6443 |
API-serverns port bakom tjänsten kubernetes. |
Boundaries__NetpolReconciler__DatabaseOperatorNamespace |
cnpg-system |
Var databasoperatorn körs. |
Boundaries__NetpolReconciler__DatabaseOperatorIngressPorts__0 |
8000 |
De portar databasoperatorn får nå på databaser. |
Boundaries__NetpolReconciler__SweepInterval |
00:05:00 |
Hur ofta reglerna tillämpas på nytt. |
Trafikuppgifter för fliken Nätverk
Nåbarhetskontrollen på fliken Nätverk fungerar på alla kluster. Uppgifterna om vad som faktiskt blockerades, och trafikdiagrammet, kräver Calicos flödesloggar, som Calico 3.30 och senare tillhandahåller när det är installerat med Tigera-operatorn.
- Före installationen rapporterar installationsprogrammets steg Prerequisites Network Flow Visibility: om Calico finns, dess version och om flödesloggar kan slås på. Det är bara rådgivande och stoppar aldrig en installation.
- Slå på dem. Livscykelmodulen slår själv på Calicos flödesloggar när den renderar
modulkonfiguration vid en utrullning eller en modulinstallation, om klustret kör en Calico som
stöder dem och de inte redan är på.
Lifecycle__NetworkFlows__AutoEnable=falsepå livscykelmodulen stänger av det. När livscykelmodulens konto saknar behörigheten loggar den en varning som nämnerstackship-module-network-flowsoch lämnar flödesloggarna avstängda; lägg då i stället till Calicos resurserGoldmaneochWhisker, båda med namnetdefault, för hand. - Peka boundaries-modulen mot dem. Boundaries-modulen läser uppgifterna från adressen i
Boundaries__Flows__BaseUrl; tomt betyder avstängt, vilket är så en ny installation börjar. Nästa utrullning som renderar boundaries-modulens konfiguration efter att flödesloggarna slagits på fyller i adressen den hittar i klustret där plattformen körs.
Uppgifterna läses var 30:e sekund. Blockerade anslutningar sparas i 14 dagar och tillåten trafik i 7 dagar.