Iedere cel heeft een eigen compact cluster van drie servers voor de basisdiensten, ook voor de basisdiensten die als virtuele machine draaien. Twee servers moeten samen alle diensten kunnen dragen.
Nog niet bevestigd door een mens. Eigenaar: vdo89. Bron in de atlas
Het basisdienstencluster is het compacte cluster van een cel waarop de
basisdiensten draaien: de diensten waarmee de cel zelfstandig werkt en herstelt, zoals geheimenbeheer, aanmelding,
containerregistry, versiebeheer en automatisering, en als virtuele machines het firmwarebeheer, de externe
verkeersverdeling en de beheerservers. Alle andere clusters van de cel gebruiken zijn diensten.
Dit onderwerp beschrijft het cluster zelf: zijn plaats in de cel, de apparatuur en de basislijn, het
capaciteitsbudget, de fasering en de opbouw, en de taakverdeling. Welke diensten erop draaien en waar, staat in De
basisdiensten en hun plaatsing.
Waarom zo
Op het vlootcluster, het clusterbeheer of de bestaande virtualisatie zouden de basisdiensten afhangen van iets buiten
de cel of van de levenscyclus van de clusterbesturing. Een eigen compact cluster per cel houdt de cel zelfstandig en
is uit code te herbouwen.
Met drie servers moet het cluster zuinig zijn. Het budget laat de reserve voor één server ongemoeid, zodat onderhoud
en uitval geen dienst onderbreken; de drempels zorgen dat uitbreiding op tijd komt.
Iedere beheercel heeft een eigen basisdienstencluster: een compact cluster van drie servers die besturing en werk combineren, met reserve voor uitval van één server. Het draagt de basisdiensten waarmee de cel zelfstandig werkt en herstelt. Het staat los van het vlootbeheer en het clusterbeheer, wordt per cel herhaald en is uit code te herbouwen.
Toelichting
Eenvoudiger alternatieven vielen af. Op het vlootcluster zouden de basisdiensten buiten de cel staan, op het clusterbeheer zouden zij de levenscyclus delen met de besturing van de applicatieclusters, en op de bestaande virtualisatie zijn zij niet uit code te herbouwen.
Het basisdienstencluster draagt ook de basisdiensten die als virtuele machine draaien, met OpenShift Virtualization: het firmwarebeheer, het gemeenschappelijke paar van de externe verkeersverdeling en een eigen paar per afnemer die dat afneemt, en de beheerservers van de beheerwerkplek. Zo is ook dat deel per cel herstelbaar en uit code op te bouwen.
Het basisdienstencluster draagt de geheimen en de toegang van de cel. Daarom draaien er geen code van teams, geen bouwtaken, geen portaal en geen logopslag.
Toelichting
Wat er wel draait, komt alleen uit de spiegel of de containerregistry van de cel; zie Bewaking, logging en naleving.
Het basisdienstencluster wordt in de cel opgebouwd na het opslagcluster en vóór de andere platformclusters, omdat alle andere clusters van de cel zijn diensten gebruiken.
Het basisdienstencluster van cel 1 bestaat bij de eerste levering uit drie besturingsknooppunten in drie rekken, samen 96 kernen en 2,3 TB geheugen. Ieder knooppunt heeft vier NVMe-schijven van 3,84 TB voor de lokale volumes.
De omvang van het basisdienstencluster bij de eerste levering en de beoogde groei.
Kenmerk
Eerste levering (cel 1)
Groei
Bruikbaar bij uitval van één knooppunt
64 kernen en 1.536 GB geheugen, minus de systeemreserve
Groeit per werkerknooppunt
Lokale opslag
4 × 3,84 TB NVMe per knooppunt, voor LVM Storage
Groeit met de knooppunten
Werklasten
De tien basisdiensten met hun databases op CloudNativePG; als die haar terugvaloptie gebruikt, ook de kopieertaak naar de onveranderbare kopie
Volgende basisdiensten na beoordeling
Virtuele machines
Firmwarebeheer (1), gemeenschappelijk paar van de externe verkeersverdeling (2), beheerservers (4), runner van het versiebeheer (1), uitvoeringsknooppunten van de automatisering (2)
Eigen paar van de externe verkeersverdeling per afnemer, binnen het budget
Afnemers
Alle clusters van de cel, waaronder tot tien applicatieclusters; het vlootcluster; beheerders
Tot circa tweehonderd clusters per cel, net als het opslagcluster
De basislijn van het basisdienstencluster legt per onderdeel vast hoe het is ingericht.
Onderdeel
Basislijn
Invulling
Cluster
Compact cluster c1-bd-01
Installatie met de agent-based installer; het API- en het ingangsadres liggen in VLAN 610 en worden door het cluster zelf aangekondigd; etcd versleuteld met aesgcm; het TLS- en auditprofiel van de basislijn
Aanmelding op het cluster
OAuth met Keycloak als OpenID-aanbieder
Het certificaat-kubeconfig ligt in de kluis, omdat de toegangsvoorziening op dit cluster zelf draait; het installatieaccount is verwijderd
Lokale opslag
LVM Storage op de vier gegevensschijven per knooppunt
Eén apparaatklasse voor het geheimenbeheer, de databases en de lokale schijven van virtuele machines; versleuteld
Opslagcluster
Data Foundation in externe modus
Eigen RADOS-namespace, subvolumegroep en CephX-gebruikers; de opslagklassen normaal-blok en normaal-bestand
Virtualisatie
OpenShift Virtualization
Alleen de eigen virtuele machines van het basisdienstencluster; localnet via br-ex op VLAN 600 en 640; geen overboeking
Databases
CloudNativePG, drie exemplaren op lokale volumes
Eén databasecluster per dienst en per onderdeel van de automatisering; TLS 1.3; back-up met de Barman Cloud-plug-in
Certificaten
cert-manager met een ClusterIssuer naar de PKI-engine van OpenBao
De luisteraar van OpenBao krijgt zijn certificaat uit de interne PKI
Geheimen van de diensten
External Secrets Operator, net als voor de opslagkoppeling
Databaseaccounts, clientgeheimen en tokens als beheerd langlevend geheim in een clustergeheim, ieder uur ververst
Adressen voor diensten
MetalLB in laag 2-modus, vanaf groeipadstap 3 met BGP
Eigen adres voor het geheimenbeheer, SSH van het versiebeheer, de teamingang en een ingangscontroller met alleen toegang.<cel>; de overige diensten via de gedeelde ingang
Beelden
Uit de containerregistry van de cel
De beelden van de startketen staan vooraf op ieder knooppunt
Het budget van het basisdienstencluster is de som van de middelen van alle knooppunten min die van het grootste, na aftrek van de systeemreserve. De aanvragen voor processor en geheugen van naamruimten en virtuele machines blijven binnen dat budget, zonder overboeking; de reserve voor uitval van één knooppunt wordt niet uitgegeven. Groei komt met werkerknooppunten in hetzelfde cluster.
Toelichting
Zo dragen twee knooppunten alle diensten, bij onderhoud en bij uitval. Het werkelijke gebruik heeft eigen drempels. Aangetoond met de capaciteitsrapportage.
Een afnemer krijgt een eigen paar van de externe verkeersverdeling alleen na een capaciteitstoets en zonder verstoring van het verkeer van andere afnemers.
Cel 1 krijgt haar basisdienstencluster in groeipadstap 1. Cel 2 krijgt in groeipadstap 2 een eigen basisdienstencluster uit dezelfde code, met eigen exemplaren van de basisdiensten.
Het basisdienstencluster komt in fasen, ieder met een eigen voorwaarde.
Fase
Inhoud
Groeipadstap
Voorwaarde
Leeromgeving
Alle basisdiensten op een compact cluster van virtuele machines; sleutelceremonie, herstel en uitsluiting geoefend; de koppelingen in eigen beheer en de aanvraaggrens van het geheimenbeheer beproefd, zonder prestatiemetingen
Vóór de opbouw
Startperiode afgerond
Opbouw in cel 1
Opbouw tot en met het uitzetten van de tijdelijke voorzieningen
1
Fysieke basis en opslagcluster gereed; bevestigingen van de leveranciers
In gebruik
Het vlootbeheer neemt het cluster onder beheer; overdracht met nieuwe herstelsleutels
1
Acceptatie van het basisdienstencluster; ontvangst van de logboeken bevestigd door het SOC
Cel 2
Zelfde code; exemplaren en schrijvende cel per basisdienst; overname en herstel zonder gezonde cel beproefd; de eigen bewakingsvoorziening komt op eigen servers buiten dit cluster
2
Fabric en opslagcluster van cel 2
EVPN en IPv6
MetalLB in BGP-modus en EVPN via VLAN 660; IPv6 op de externe verkeersverdeling
3
De overgang van het netwerk naar EVPN en een proef in de leeromgeving
Uitbreiding
Volgende basisdiensten; werkerknooppunten bij groei
4, of bij behoefte
Beoordeling van capaciteit, herstel en afhankelijkheden
Tijdens de opbouw werkt de cel zonder internet en vanaf de eerste installatie onder versiebeheer, met tijdelijke voorzieningen: de tijdelijke registry en het tijdelijke versiebeheer en de toegangsgateway op de voorlopige beheerwerkplek, en een tijdelijke geheimenopslag die opgaat in het geheimenbeheer. Bij de omschakeling gaat een verzegelde kopie van spiegel, code en sleutelmateriaal naar de basis van de herstelkern, en gaan de tijdelijke voorzieningen uit.
Toelichting
Vooraf bevat de tijdelijke registry alle clustersoftware, de software van de basisdiensten en de beelden van hun virtuele machines, volledig en vastgelegd op inhoudskenmerk; code en installatiebestanden staan in het tijdelijke versiebeheer. Bij de opbouw worden alle standaardwachtwoorden en standaardcertificaten vervangen. De basisdiensten worden in een vaste volgorde geïnstalleerd, van containerregistry tot beheerwerkplek.
Tot de PKI-engine van het geheimenbeheer werkt, krijgen cluster en ingang certificaten van PKI-beheer onder de tussen-CA van de cel. Vóór de overdracht worden ze vervangen door certificaten uit de PKI-engine, zodat vanaf de eerste installatie één keten geldt.
Het basisdienstencluster is in gebruik als alle tien basisdiensten werken, het SOC de ontvangst van hun logboeken heeft bevestigd en er een kopie van bewaart, nieuwe clusters alleen nog vanaf de containerregistry worden geïnstalleerd en alle code uit het versiebeheer van het platform komt.
Per cel worden de hostnamen, de vaste adressen, de rekposities, de schijfidentificaties, de databasegroottes en de celgebonden accounts vastgelegd, in het detailontwerp van de cel en in de datacenterregistratie.
Toelichting
Het detailontwerp per cel is van platformbeheer, met de netwerkgegevens van netwerkbeheer.
Platformbeheer is eindverantwoordelijk voor het basisdienstencluster. Tot de overdracht doet het ontwikkelteam het uitvoerende werk, gevolgd door een nazorgperiode van drie maanden. De naam- en tijdvoorziening zijn geërfd van netwerkbeheer.
De taken voor het basisdienstencluster liggen vast, per taak met wie uitvoert, wie eindverantwoordelijk is, wie wordt geraadpleegd en wie wordt geïnformeerd; het detailontwerp per cel werkt ze uit.
Taak
Uitvoerend
Eindverantwoordelijk
Geraadpleegd
Geïnformeerd
Levenscyclus van cluster, knooppunten en virtuele machines
Platformbeheer; het ontwikkelteam tot de overdracht
Platformbeheer
Netwerkbeheer, opslagbeheer
SOC
Installatie, upgrade, back-up, herstel, draaiboeken en logbronnen van de basisdiensten
Platformbeheer
Platformbeheer
IAM-beheer, PKI-beheer, SOC
CISO-functie
Sleutelceremonie, herstelsleutels en ontgrendelsleutel
Platformbeheer met de sleutelhouders; PKI-beheer voor het sleutelslot
CISO-functie
PKI-beheer
SOC
Tussen-CA’s, hardwaresleutelmodule en rollen van de PKI-engine
PKI-beheer; platformbeheer voor de rollen
PKI-beheer
CISO-functie
Applicatieteams
Beleid en paden in het geheimenbeheer
Platformbeheer
Platformbeheer
CISO-functie; applicatieteams voor hun paden
SOC
Inrichting van toegangsvoorziening en identiteitsbeheer
IAM-beheer
IAM-beheer
Platformbeheer, CISO-functie
SOC
Opslagplaatsen en beschermingsregels in het versiebeheer
Platformbeheer
Platformbeheer
Architect en beveiligingsadviseur
Ontwikkelteam
VLAN’s, adressen, namen en zoneregels
Netwerkbeheer
Netwerkbeheer
Platformbeheer
CISO-functie
Firmwarebasislijn en capaciteit van de externe verkeersverdeling