Azure Arc-enabled Kubernetes-hez csatlakozás távolról
Azure Arc-enabled Kubernetes Cluster-t már létrehoztunk itt, ezt a szolgáltatást szeretném egy kicsit kibővíteni, távoli csatlakozási lehetőséggel.
Gyakorlatban ez annyit jelent, hogy VPN vagy hasonló eszköz segítsége nélkül, távolról AzureAD (lehet token-el is, de na :) ) authentikáció segítségével kubectl parancsokat tudok használni, úgy hogy az Azure Arc proxy ként működik.
Azure Arc - Kubernetes összekapcsolása
Most a rövid verzíót írom le, előzőben ott a részletesebb Service Principal-os.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#Telepítsük az "az" bővítményt
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
#Ezután jelentkezzünk be a telepítő felhasználónkkal.
az login
#Jelenlegi előfizetés ellenőrzése:
az show account
#Elérhető előfizetések listázása:
az account list
#Előfizetés váltása, ha kell
az account set --subscription "előfizetésneve"
#Engedélyeznünk kell pár szolgáltatást az előfizetésben:
az provider register --namespace Microsoft.Kubernetes
az provider register --namespace Microsoft.KubernetesConfiguration
az provider register --namespace Microsoft.ExtendedLocation
#Kell egy resource group
az group create -l westeurope -n <resource group neve>
#Kapcsoljuk össze az Azure Arc-al
az connectedk8s connect --name <Kubeclusterneve> --resource-group <resource group neve> --location westeurope
Ezzel ez a Kubernetes is Azure Arc-enabled lett, most jöhet a proxy
Proxy funkció bekapcsolása
1
az connectedk8s enable-features --features cluster-connect -n <Kubeclusterneve> -g <resource group neve>
Azure Arc oldalról meg is vagyunk, most kell jogosultságot biztosítanunk annak a személynek, aki csatlakozni fog:
1
kubectl create clusterrolebinding admin-binding --clusterrole cluster-admin --user=<userem>@<tenantom.onmicrosoft.com>
Kubernetes oldalon kész. Jöhet a kliens, ahonnan csatlakozni szeretnénk.
Csatalkozás
Szerencsére nagyon egyszerű a csatlakozás, csupán 2 dolog kell hozzá.
- az
- kubectl
Mind a kettő megoldható Linux/windows világban, szóval Én maradok a windows oldalon.
A legfrissebb Azure Cli verzióban, ami most 2.32.0, sajnos épp eltörték ezen részét, de még preview a cucc, így megbocsájtható
Szóval töltsük le és telepítsük a Cli-t: https://github.com/Azure/azure-cli/releases
A 2.29.2 verziót ajánlom, amíg ki nem javítják :)
Ezután kell kubectl, windows verzió: https://dl.k8s.io/release/v1.23.0/bin/windows/amd64/kubectl.exe
A környezet készen áll, csatlakozzunk.
1
2
3
4
5
6
7
8
9
10
#Ezután jelentkezzünk be azzal a felhasználóval, akinek jogot adtunk.
az login
#Jelenlegi előfizetés ellenőrzése:
az show account
#Elérhető előfizetések listázása:
az account list
#Előfizetés váltása, ha kell
az account set --subscription "előfizetésneve"
#Csatlakozás
az connectedk8s proxy -n <Kubeclusterneve> -g <resource group neve>
Ezt az ablakot hagyjuk nyitva, kell egy másik konzol ablak, ahonnan kitallózzuk a letöltött kubectl-et és próbáljuk is ki.
1
.\kubectl.exe get pods --all-namespaces
Valóságban valahogy így néz ki: