Delen via


Op rollen gebaseerd toegangsbeheer van Kubernetes op uw Azure Stack Edge Pro GPU-apparaat

VAN TOEPASSING OP:Yes for Pro GPU SKUAzure Stack Edge Pro - GPUYes for Pro 2 SKUAzure Stack Edge Pro 2Yes for Pro R SKUAzure Stack Edge Pro RYes for Mini R SKUAzure 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.

Kubernetes RBAC on Azure Stack Edge Pro device

In dit diagram hebben Alice, Bob en Chuck alleen toegang tot toegewezen gebruikersnaamruimten, die in dit geval ns1respectievelijk , ns2en 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-systemkubernetes-dashboard, , default, kube-node-lease, . kube-public Systeemnaamruimten bevatten ook de naamruimten die zijn gereserveerd voor implementatietypen, zoals iotedge (IoT Edge-naamruimte) en azure-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 andere test-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.