Op rollen gebaseerd toegangsbeheer van Kubernetes op uw Azure Stack Edge Pro GPU-apparaat
VAN TOEPASSING OP: Azure Stack Edge Pro - GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
Wanneer u de rekenrol configureert, wordt op uw Azure Stack Edge Pro-apparaat een Kubernetes-cluster gemaakt. U kunt kubernetes op rollen gebaseerd toegangsbeheer (Kubernetes RBAC) gebruiken om de toegang tot de clusterbronnen op uw apparaat te beperken.
Deze artikelen bevatten een overzicht van het Kubernetes RBAC-systeem van Kubernetes en hoe Kubernetes RBAC is geïmplementeerd op uw Azure Stack Edge Pro-apparaat.
Kubernetes RBAC
Met Kubernetes RBAC kunt u gebruikers, of groepen gebruikers, machtigingen toewijzen om dingen te doen, zoals het maken of wijzigen van resources, of het weergeven van logboeken van het uitvoeren van toepassingsworkloads. Deze machtigingen kunnen worden beperkt tot één naamruimte of worden verleend in het hele cluster.
Wanneer u het Kubernetes-cluster instelt, wordt één gebruiker gemaakt die overeenkomt met dit cluster en wordt de clusterbeheerder genoemd. Een kubeconfig
bestand is gekoppeld aan de gebruiker van de clusterbeheerder. Het kubeconfig
bestand is een tekstbestand met alle configuratiegegevens die nodig zijn om verbinding te maken met het cluster om de gebruiker te verifiëren.
Typen naamruimten
Kubernetes-resources, zoals pods en implementaties, worden logisch gegroepeerd in een naamruimte. Deze groeperingen bieden een manier om een Kubernetes-cluster logisch te verdelen en de toegang te beperken tot het maken, weergeven of beheren van resources. Gebruikers kunnen alleen communiceren met resources binnen de aan hen toegewezen naamruimten.
Naamruimten zijn bedoeld voor gebruik in omgevingen met veel gebruikers verspreid over meerdere teams of projecten. Zie Kubernetes-naamruimten voor meer informatie.
Uw Azure Stack Edge Pro-apparaat heeft de volgende naamruimten:
Systeemnaamruimte : deze naamruimte is waar kernresources bestaan, zoals netwerkfuncties zoals DNS en proxy, of het Kubernetes-dashboard. Doorgaans implementeert u uw eigen toepassingen niet in deze naamruimte. Gebruik deze naamruimte om problemen met kubernetes-clusters op te sporen.
Er zijn meerdere systeemnaamruimten op uw apparaat en de namen die overeenkomen met deze systeemnaamruimten zijn gereserveerd. Hier volgt een lijst met de gereserveerde systeemnaamruimten:
- kube-system
- metallb-systeem
- dbe-naamruimte
- default
- kubernetes-dashboard
- kube-node-lease
- kube-public
Zorg ervoor dat u geen gereserveerde namen gebruikt voor gebruikersnaamruimten die u maakt.
Gebruikersnaamruimte : dit zijn de naamruimten die u kunt maken via kubectl of via de PowerShell-interface van het apparaat om toepassingen lokaal te implementeren.
IoT Edge-naamruimte : u maakt verbinding met deze
iotedge
naamruimte om toepassingen te beheren die zijn geïmplementeerd via IoT Edge.Azure Arc-naamruimte : u maakt verbinding met deze
azure-arc
naamruimte om toepassingen te beheren die zijn geïmplementeerd via Azure Arc. Met Azure Arc kunt u ook toepassingen implementeren in andere gebruikersnaamruimten.
Naamruimten en gebruikers
In de praktijk is het belangrijk om het cluster te verdelen in meerdere naamruimten.
- Meerdere gebruikers: als u meerdere gebruikers hebt, kunnen deze gebruikers met meerdere naamruimten hun toepassingen en services implementeren in hun specifieke naamruimten, geïsoleerd van elkaar.
- Eén gebruiker: Zelfs als er één gebruiker is, kunnen meerdere naamruimten die gebruiker meerdere versies van de toepassingen uitvoeren in hetzelfde Kubernetes-cluster.
Rollen en RoleBindings
Kubernetes heeft het concept van rol- en rolbinding waarmee u machtigingen kunt verlenen aan gebruikers of resources op naamruimteniveau en op clusterniveau.
- Rollen: U kunt machtigingen definiëren voor gebruikers als een rol en vervolgens rollen gebruiken om machtigingen binnen een naamruimte te verlenen.
- RoleBindings: Nadat u de rollen hebt gedefinieerd, kunt u RoleBindings gebruiken om rollen toe te wijzen voor een bepaalde naamruimte.
Met deze methode kunt u één Kubernetes-cluster logisch scheiden, waarbij gebruikers alleen toegang hebben tot de toepassingsresources in hun toegewezen naamruimte.
Kubernetes RBAC in Azure Stack Edge Pro
In de huidige implementatie van Kubernetes RBAC kunt u met Azure Stack Edge Pro de volgende acties uitvoeren vanuit een beperkte PowerShell-runspace:
- Maak naamruimten.
- Maak extra gebruikers.
- Verleent u beheerderstoegang tot de naamruimten die u hebt gemaakt. Houd er rekening mee dat u geen toegang hebt tot de clusterbeheerdersrol of een weergave van de clusterbrede resources.
- Bestand ophalen
kubeconfig
met informatie voor toegang tot het Kubernetes-cluster.
Het Azure Stack Edge Pro-apparaat heeft meerdere systeemnaamruimten en u kunt gebruikersnaamruimten maken met kubeconfig
bestanden voor toegang tot deze naamruimten. De gebruikers hebben volledige controle over deze naamruimten en kunnen gebruikers maken of wijzigen of gebruikers toegang verlenen. Alleen de clusterbeheerder heeft volledige toegang tot systeemnaamruimten en clusterbrede resources. Een aseuser
heeft alleen-lezentoegang tot systeemnaamruimten.
Hier volgt een diagram met de implementatie van Kubernetes RBAC op een Azure Stack Edge Pro-apparaat.
In dit diagram hebben Alice, Bob en Chuck alleen toegang tot toegewezen gebruikersnaamruimten, die in dit geval ns1
respectievelijk , ns2
en ns3
respectievelijk. Binnen deze naamruimten hebben ze beheerderstoegang. De clusterbeheerder heeft daarentegen beheerderstoegang tot systeemnaamruimten en clusterbrede resources.
Als gebruiker kunt u naamruimten en gebruikers maken, gebruikers toewijzen aan naamruimten of bestanden downloaden kubeconfig
. Ga voor gedetailleerde stapsgewijze instructies naar Het Kubernetes-cluster openen via kuebctl op uw Azure Stack Edge Pro.
Wanneer u werkt met naamruimten en gebruikers op uw Azure Stack Edge Pro-apparaten, zijn de volgende opmerkingen van toepassing:
- U mag geen bewerkingen uitvoeren, zoals gebruikers maken, naamruimtetoegang verlenen of intrekken voor een van de systeemnaamruimten. Voorbeelden van systeemnaamruimten zijn
kube-system
, ,metallb-system
kubernetes-dashboard
, ,default
,kube-node-lease
, .kube-public
Systeemnaamruimten bevatten ook de naamruimten die zijn gereserveerd voor implementatietypen, zoalsiotedge
(IoT Edge-naamruimte) enazure-arc
(Azure Arc-naamruimte). - U kunt gebruikersnaamruimten maken en binnen deze naamruimten extra gebruikers maken en naamruimtetoegang verlenen of intrekken voor die gebruikers.
- U mag geen naamruimten maken met namen die identiek zijn aan die voor een systeemnaamruimte. De namen voor systeemnaamruimten zijn gereserveerd.
- U mag geen gebruikersnaamruimten maken met namen die al worden gebruikt door andere gebruikersnaamruimten. Als u bijvoorbeeld een
test-ns
naamruimte hebt die u hebt gemaakt, kunt u geen anderetest-ns
naamruimte maken. - U mag geen gebruikers maken met namen die al zijn gereserveerd. Is bijvoorbeeld
aseuser
een gereserveerde gebruiker en kan niet worden gebruikt.
Volgende stappen
Als u wilt weten hoe u een gebruiker kunt maken, een naamruimte kunt maken en gebruikers toegang wilt verlenen tot de naamruimte, raadpleegt u Access a Kubernetes-cluster via kubectl.