Kubernetes szerepköralapú hozzáférés-vezérlés az Azure Stack Edge Pro GPU-eszközön
A következőkre vonatkozik: Azure Stack Edge Pro – GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
Az Azure Stack Edge Pro-eszközön a számítási szerepkör konfigurálásakor létrejön egy Kubernetes-fürt. A Kubernetes szerepköralapú hozzáférés-vezérléssel (Kubernetes RBAC) korlátozhatja az eszköz fürterőforrásaihoz való hozzáférést.
Ez a cikk áttekintést nyújt a Kubernetes által biztosított Kubernetes RBAC-rendszerről, valamint arról, hogyan implementálható a Kubernetes RBAC az Azure Stack Edge Pro-eszközön.
A Kubernetes szerepköralapú hozzáférés-vezérlése (RBAC)
A Kubernetes RBAC lehetővé teszi, hogy felhasználókat vagy felhasználói csoportokat rendeljen hozzá olyan műveletekhez, mint például erőforrások létrehozása vagy módosítása, vagy naplók megtekintése az alkalmazás számítási feladatainak futtatásából. Ezek az engedélyek egyetlen névtérre terjedhetnek ki, vagy a teljes fürtre vonatkozóan adhatóak meg.
A Kubernetes-fürt beállításakor a rendszer a fürtnek megfelelő egyetlen felhasználót hoz létre, amelyet fürt-rendszergazdai felhasználónak neveznek. A kubeconfig
fürt rendszergazdai felhasználójához egy fájl van társítva. A kubeconfig
fájl egy szöveges fájl, amely tartalmazza a fürthöz való csatlakozáshoz szükséges összes konfigurációs információt a felhasználó hitelesítéséhez.
Névterek típusai
A Kubernetes-erőforrások, például a podok és az üzemelő példányok logikailag névtérbe vannak csoportosítva. Ezek a csoportosítások lehetővé teszik a Kubernetes-fürtök logikai felosztását, valamint az erőforrások létrehozásához, megtekintéséhez és kezeléséhez való hozzáférés korlátozását. A felhasználók csak a hozzájuk rendelt névtereken belüli erőforrásokat használhatják.
A névterek olyan környezetekben való használatra szolgálnak, amelyekben sok felhasználó több csapatra vagy projektre terjed ki. További információ: Kubernetes-névterek.
Az Azure Stack Edge Pro-eszköz a következő névterekkel rendelkezik:
Rendszernévtér – Ezen a névtéren találhatók alapvető erőforrások, például olyan hálózati funkciók, mint a DNS és a proxy, vagy a Kubernetes-irányítópult. Ebben a névtérben általában nem helyez üzembe saját alkalmazásokat. Ezzel a névtérrel hibakeresést végezhet a Kubernetes-fürt hibáinak elhárításához.
Az eszközön több rendszernévtér is található, és a rendszernévtereknek megfelelő nevek fenntartottak. Íme a fenntartott rendszernévterek listája:
- kube-system
- metallb-system
- dbe-namespace
- alapértelmezett
- kubernetes-dashboard
- kube-node-lease
- kube-public
Ügyeljen arra, hogy ne használjon fenntartott neveket a létrehozott felhasználónevekhez.
Felhasználói névtér – Ezek azok a névterek, amelyeket a kubectl vagy az eszköz PowerShell-felületén hozhat létre az alkalmazások helyi üzembe helyezéséhez.
IoT Edge-névtér – Ehhez a
iotedge
névtérhez csatlakozva kezelheti az IoT Edge-en keresztül üzembe helyezett alkalmazásokat.Azure Arc-névtér – Ehhez a
azure-arc
névtérhez csatlakozva kezelheti az Azure Arcon keresztül üzembe helyezett alkalmazásokat. Az Azure Arc használatával alkalmazásokat is üzembe helyezhet más felhasználónevekben.
Névterek és felhasználók
A valós világban fontos, hogy a fürtöt több névtérre ossza.
- Több felhasználó: Ha több felhasználóval rendelkezik, akkor a több névtér lehetővé teszi, hogy a felhasználók egymástól elkülönítve helyezzék üzembe az alkalmazásaikat és szolgáltatásaikat a saját névterükben.
- Egyetlen felhasználó: Még ha egyetlen felhasználó is van, több névtér is lehetővé tenné, hogy a felhasználó ugyanazon a Kubernetes-fürtön futtassa az alkalmazások több verzióját.
Szerepkörök és szerepkörbindingek
A Kubernetes rendelkezik a szerepkör- és szerepkörkötés fogalmával, amely lehetővé teszi, hogy a felhasználók vagy erőforrások számára névtérszinten és fürtszinten adjon engedélyeket.
- Szerepkörök: Szerepkörként definiálhatja a felhasználók engedélyeit, majd szerepkörök használatával adhat engedélyeket egy névtéren belül.
- RoleBindings: Miután definiálta a szerepköröket, a RoleBindings használatával szerepköröket rendelhet hozzá egy adott névtérhez.
Ezzel a módszerrel logikailag elkülöníthet egy Kubernetes-fürtöt, és a felhasználók csak a hozzárendelt névtérben férhetnek hozzá az alkalmazás erőforrásaihoz.
Kubernetes RBAC az Azure Stack Edge Pro-ban
A Kubernetes RBAC jelenlegi implementációjában az Azure Stack Edge Pro lehetővé teszi a következő műveletek végrehajtását egy korlátozott PowerShell-futtatótérből:
- Névterek létrehozása.
- Hozzon létre további felhasználókat.
- Adjon rendszergazdai hozzáférést a létrehozott névterekhez. Ne feledje, hogy nem lesz hozzáférése a fürtszintű rendszergazdai szerepkörhöz vagy a fürtszintű erőforrások nézetéhez.
- A Kubernetes-fürt eléréséhez szükséges információkat tartalmazó fájl lekérése
kubeconfig
.
Az Azure Stack Edge Pro-eszköz több rendszernévtérrel rendelkezik, és létrehozhat felhasználói névtereket fájlokkal kubeconfig
a névterek eléréséhez. A felhasználók teljes mértékben szabályozhatják ezeket a névtereket, létrehozhatnak vagy módosíthatnak felhasználókat, vagy hozzáférést biztosíthatnak a felhasználóknak. Csak a fürt rendszergazdája rendelkezik teljes hozzáféréssel a rendszernévterekhez és a fürtszintű erőforrásokhoz. A aseuser
rendszernévterekhez írásvédett hozzáféréssel rendelkezik.
Az alábbi ábra a Kubernetes RBAC Azure Stack Edge Pro-eszközön való megvalósítását mutatja be.
Ebben a diagramban Alice, Bob és Chuck csak a hozzárendelt felhasználónevekhez férnek hozzá, amelyek ebben az esetben a ns1
ns2
ns3
következők. Ezeken a névtereken belül rendszergazdai hozzáféréssel rendelkeznek. A fürt rendszergazdája viszont rendszergazdai hozzáféréssel rendelkezik a rendszernévterekhez és a fürtszintű erőforrásokhoz.
Felhasználóként létrehozhat névtereket és felhasználókat, hozzárendelhet felhasználókat névterekhez, vagy fájlokat tölthet le kubeconfig
. Részletes részletes útmutatásért keresse fel az Access Kubernetes-fürtöt az Azure Stack Edge Pro kuebctl-jén keresztül.
Ha névterekkel és felhasználókkal dolgozik az Azure Stack Edge Pro-eszközökön, az alábbi kikötések érvényesek:
- A rendszernévterekhez nem végezhet olyan műveleteket, mint például felhasználók létrehozása, névtérhozzáférés biztosítása vagy visszavonása a felhasználó számára. A rendszernévterek például a
kube-system
következők: ,metallb-system
,kubernetes-dashboard
,default
,kube-node-lease
kube-public
. A rendszernévterek tartalmazzák az olyan központi telepítési típusok számára fenntartott névtereket is, mintiotedge
az (IoT Edge-névtér) ésazure-arc
az (Azure Arc-névtér). - Létrehozhat felhasználói névtereket, és ezeken a névtereken belül további felhasználókat hozhat létre, és hozzáférést adhat vagy vonhat vissza a névtérhez ezekhez a felhasználókhoz.
- Nem hozhat létre olyan névtereket, amelyek neve megegyezik bármely rendszernévtér nevével. A rendszernévterek neve fenntartott.
- Nem hozhat létre olyan felhasználóneveket, amelyek nevei más felhasználónevek által már használatban vannak. Ha például egy ön által létrehozott névtérrel rendelkezik
test-ns
, nem hozhat létre másiktest-ns
névteret. - Nem hozhat létre olyan felhasználókat, akik már foglalt neveket használnak. Például fenntartott felhasználó,
aseuser
és nem használható.
Következő lépések
Ha tudni szeretné, hogyan hozhat létre egy felhasználót, hogyan hozhat létre névteret, és hogyan biztosíthat hozzáférést a felhasználónak a névtérhez, olvassa el a Kubernetes-fürt elérése kubectl használatával című témakört.