Fürtcsatlakozás használata az Azure Arc-kompatibilis Kubernetes-fürtökhöz való biztonságos csatlakozáshoz
A fürtcsatlakozással bárhonnan biztonságosan csatlakozhat az Azure Arc-kompatibilis Kubernetes-fürtökhöz anélkül, hogy bármilyen bejövő portot engedélyezni kellene a tűzfalon.
apiserver
Az Azure Arc-kompatibilis Kubernetes-fürthöz való hozzáférés a következő forgatókönyveket teszi lehetővé:
- Interaktív hibakeresés és hibaelhárítás.
- Fürthozzáférés az Azure-szolgáltatásokhoz egyéni helyekhez és a rajta létrehozott egyéb erőforrásokhoz.
Mielőtt hozzákezdene, tekintse át a fürtcsatlakozás funkció elméleti áttekintését.
Előfeltételek
Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
Meglévő Azure Arc-kompatibilis Kubernetes-fürt.
- Ha még nem csatlakoztatott fürtöt, használja gyorsútmutatónkat.
- Frissítse az ügynököket a legújabb verzióra.
Az Arc-kompatibilis Kubernetes hálózati követelményeinek engedélyezése
Engedélyezze ezeket a végpontokat a kimenő hozzáféréshez:
Végpont Kikötő *.servicebus.windows.net
443 guestnotificationservice.azure.com
,*.guestnotificationservice.azure.com
443 Feljegyzés
A helyettesítő karakter adott végpontokra való lefordításához
*.servicebus.windows.net
használja a parancsot\GET https://guestnotificationservice.azure.com/urls/allowlist?api-version=2020-01-01&location=<location>
. Ebben a parancsban a régiót meg kell adni a<location>
helyőrzőhöz.
A regionális végpont régiószegmensének lekéréséhez távolítsa el az összes szóközt az Azure-régió nevéből. Például az USA 2. keleti régiója, a régió neve .eastus2
Például: *.<region>.arcdataservices.com
az USA 2. keleti régiójában kell lennie *.eastus2.arcdataservices.com
.
Az összes régió listájának megtekintéséhez futtassa ezt a parancsot:
az account list-locations -o table
Get-AzLocation | Format-Table
Telepítse vagy frissítse az Azure CLI-t a legújabb verzióra.
Telepítse az Azure CLI-bővítmény legújabb verzióját
connectedk8s
:az extension add --name connectedk8s
Ha már telepítette a bővítményt
connectedk8s
, frissítse a bővítményt a legújabb verzióra:az extension update --name connectedk8s
Cserélje le a helyőrzőket, és futtassa az alábbi parancsot a dokumentumban használt környezeti változók beállításához:
CLUSTER_NAME=<cluster-name> RESOURCE_GROUP=<resource-group-name> ARM_ID_CLUSTER=$(az connectedk8s show -n $CLUSTER_NAME -g $RESOURCE_GROUP --query id -o tsv)
Hitelesítés beállítása
A meglévő Arc-kompatibilis fürtön hozza létre a ClusterRoleBindinget Microsoft Entra-hitelesítéssel vagy szolgáltatásfiók-jogkivonattal.
Microsoft Entra hitelesítési lehetőség
Szerezze be a
objectId
Microsoft Entra-entitáshoz társított entitást. Ha egyetlen felhasználói fiókot használ, kérje le a Microsoft Entra-entitáshoz társított egyszerű felhasználónevet (UPN).- Microsoft Entra-csoportfiók esetén:
AAD_ENTITY_ID=$(az ad signed-in-user show --query id -o tsv)
Egyetlen Microsoft Entra-fiók esetén:
AAD_ENTITY_ID=$(az ad signed-in-user show --query userPrincipalName -o tsv)
Microsoft Entra-alkalmazás esetén:
AAD_ENTITY_ID=$(az ad sp show --id <id> --query id -o tsv)
Engedélyezze az entitást megfelelő engedélyekkel.
Ha natív Kubernetes ClusterRoleBinding vagy RoleBinding szolgáltatást használ a fürt engedélyezési ellenőrzéséhez, és a
kubeconfig
fájl a fürtre mutatapiserver
a közvetlen hozzáférés érdekében, létrehozhat egy, a fürt eléréséhez szükséges Microsoft Entra-entitásra (szolgáltatásnévre vagy felhasználóra) leképezve. Példa:kubectl create clusterrolebinding demo-user-binding --clusterrole cluster-admin --user=$AAD_ENTITY_ID
Ha az Azure RBAC-t használja a fürt engedélyezési ellenőrzéséhez, létrehozhat egy, a Microsoft Entra entitáshoz hozzárendelt Azure-szerepkör-hozzárendelést. Példa:
az role assignment create --role "Azure Arc Kubernetes Viewer" --assignee $AAD_ENTITY_ID --scope $ARM_ID_CLUSTER az role assignment create --role "Azure Arc Enabled Kubernetes Cluster User Role" --assignee $AAD_ENTITY_ID --scope $ARM_ID_CLUSTER
Szolgáltatásfiók jogkivonatának hitelesítési lehetősége
Ha a
kubeconfig
fájl aapiserver
Kubernetes-fürtre mutat, futtassa ezt a parancsot egy szolgáltatásfiók létrehozásához. Ez a példa létrehozza a szolgáltatásfiókot az alapértelmezett névtérben, de bármely más névteret helyettesíthet a következőveldefault
: .kubectl create serviceaccount demo-user -n default
Hozza létre a ClusterRoleBinding szolgáltatást, hogy a szolgáltatásfióknak megfelelő engedélyeket adjon a fürthöz. Ha az első parancsban egy másik névteret használt, cserélje le itt a következőre
default
: .kubectl create clusterrolebinding demo-user-binding --clusterrole cluster-admin --serviceaccount default:demo-user
Szolgáltatásfiók-jogkivonat létrehozása:
kubectl apply -f - <<EOF apiVersion: v1 kind: Secret metadata: name: demo-user-secret annotations: kubernetes.io/service-account.name: demo-user type: kubernetes.io/service-account-token EOF
TOKEN=$(kubectl get secret demo-user-secret -o jsonpath='{$.data.token}' | base64 -d | sed 's/$/\n/g')
A konzolon való kimenethez tartozó jogkivonat lekérése
echo $TOKEN
Fürt elérése ügyféleszközről
Most már egy másik ügyfélről is elérheti a fürtöt. Futtassa a következő lépéseket egy másik ügyféleszközön.
Jelentkezzen be Microsoft Entra-hitelesítéssel vagy szolgáltatásfiók-jogkivonat-hitelesítéssel.
Kérje le a fürt csatlakozását
kubeconfig
a fürttel való kommunikációhoz bárhonnan (a fürtöt körülvevő tűzfalon kívülről is), a használt hitelesítési lehetőség alapján:Ha Microsoft Entra-hitelesítést használ:
az connectedk8s proxy -n $CLUSTER_NAME -g $RESOURCE_GROUP
Szolgáltatásfiók-jogkivonat-hitelesítés használata esetén:
az connectedk8s proxy -n $CLUSTER_NAME -g $RESOURCE_GROUP --token $TOKEN
Feljegyzés
Ez a parancs megnyitja a proxyt, és letiltja az aktuális rendszerhéjat.
Egy másik rendszerhéj-munkamenetben
kubectl
a kéréseket a fürtnek küldheti el:kubectl get pods -A
Ekkor megjelenik a fürt válasza, amely tartalmazza a névtérben lévő default
összes pod listáját.
Ismert korlátozások
Az Arc-kompatibilis Kubernetes-ügynök verziójának ellenőrzésére használható az connectedk8s show
.
A Kubernetes-fürtre irányuló kérések során, ha a használt Microsoft Entra entitás több mint 200 csoport része, a következő hibaüzenet jelenhet meg:
You must be logged in to the server (Error:Error while retrieving group info. Error:Overage claim (users with more than 200 group membership) is currently not supported.
Ez egy ismert korlátozás. A hiba túllépéséhez:
- Hozzon létre egy szolgáltatásnevet, amely kevésbé valószínű, hogy több mint 200 csoport tagja.
- A parancs futtatása előtt jelentkezzen be az Azure CLI-be a
az connectedk8s proxy
szolgáltatásnévvel.
Következő lépések
- Állítsa be a Microsoft Entra RBAC-t a fürtökön.
- Fürtbővítmények üzembe helyezése és kezelése.