Rövid útmutató: AKS-fürt üzembe helyezése bizalmas számítási Intel SGX-ügynökcsomópontokkal az Azure CLI használatával
Ebben a rövid útmutatóban az Azure CLI használatával fog üzembe helyezni egy Azure Kubernetes Service-fürtöt (AKS) enklávéérzékeny (DCsv2/DCSv3) virtuálisgép-csomópontokkal. Ezután egy egyszerű „Helló világ!” alkalmazás alkalmazást fog futtatni egy enklávéban. Fürtöt is kiépítheti, és bizalmas számítási csomópontokat vehet fel az Azure Portalról, de ez a rövid útmutató az Azure CLI-re összpontosít.
Az AKS egy felügyelt Kubernetes-szolgáltatás, amely lehetővé teszi a fejlesztők vagy fürt operátorok számára a fürtök gyors üzembe helyezését és kezelését. További információkért olvassa el az AKS-bevezetést és a bizalmas AKS-csomópontok áttekintését.
A bizalmas számítási csomópontok funkciói a következők:
- Linux-tárolókat támogató Linux-feldolgozó csomópontok.
- 2. generációs virtuális gép (VM) Ubuntu 18.04 virtuálisgép-csomópontokkal.
- Intel SGX-kompatibilis PROCESSZOR, amely segít a tárolók titkosítással védett enklávéban való futtatásában a titkosított lapgyorsítótár (EPC) memóriájával. További információkért lásd az Azure bizalmas azure-számítástechnikára vonatkozó gyakori kérdéseket.
- Az Intel SGX DCAP illesztőprogram előre telepítve van a bizalmas számítási csomópontokon. További információkért lásd az Azure bizalmas azure-számítástechnikára vonatkozó gyakori kérdéseket.
Feljegyzés
A DCsv2/DCsv3 virtuális gépek speciális hardvert használnak, amely a régió rendelkezésre állását biztosítja. További információkért tekintse meg az elérhető termékváltozatokat és a támogatott régiókat.
Előfeltételek
Ehhez a rövid útmutatóhoz a következőkre van szükség:
Legalább nyolc DCsv2/DCSv3/DCdsv3 mag érhető el az előfizetésben.
Alapértelmezés szerint nincs előre hozzárendelt kvóta az Azure-előfizetésekhez tartozó Intel SGX virtuálisgép-méretekhez. Az alábbi utasításokat követve kérheti a virtuálisgép-magkvótát az előfizetéseihez.
AKS-fürt létrehozása enklávéérzékeny bizalmas számítási csomópontokkal és Intel SGX-bővítményekkel
Az alábbi utasításokat követve hozzon létre egy AKS-fürtöt, amelyen engedélyezve van az Intel SGX bővítmény, adjon hozzá egy csomópontkészletet a fürthöz, és ellenőrizze, hogy mit hozott létre a Hello World enklávéalkalmazással.
AKS-fürt létrehozása rendszercsomópontkészlettel és AKS Intel SGX Addonnal
Feljegyzés
Ha már rendelkezik olyan AKS-fürttel, amely megfelel a korábban felsorolt előfeltételeknek, ugorjon a következő szakaszra egy bizalmas számítási csomópontkészlet hozzáadásához.
Az Intel SGX AKS Addon "confcom" elérhetővé teszi az Intel SGX-eszközillesztőket a tárolók számára, hogy elkerülje a pod yaml módosításait.
Először hozzon létre egy erőforráscsoportot a fürthöz az az group create paranccsal. Az alábbi példa létrehoz egy myResourceGroup nevű erőforráscsoportot az eastus2 régióban:
az group create --name myResourceGroup --location eastus2
Most hozzon létre egy AKS-fürtöt, amelyen engedélyezve van a bizalmas számítási bővítmény az az aks create paranccsal:
az aks create -g myResourceGroup --name myAKSCluster --generate-ssh-keys --enable-addons confcom
A fenti parancs üzembe helyez egy új AKS-fürtöt, amely nem bizalmas számítási csomópontból álló rendszercsomópont-készlettel rendelkezik. A bizalmas számítási Intel SGX-csomópontok nem ajánlottak a rendszercsomópontok készleteihez.
Bizalmas számítási képességekkel rendelkező felhasználói csomópontkészlet hozzáadása az AKS-fürthöz
Futtassa a következő parancsot egy három csomópontból álló Standard_DC4s_v3
méretű felhasználói csomópontkészlet hozzáadásához az AKS-fürthöz. A támogatott DCsv2/DCsv3 termékváltozatok és régiók listájából választhat egy másik nagyobb méretű termékváltozatot.
az aks nodepool add --cluster-name myAKSCluster --name confcompool1 --resource-group myResourceGroup --node-vm-size Standard_DC4s_v3 --node-count 2
A parancs futtatása után a DCsv3-nal rendelkező új csomópontkészletnek láthatónak kell lennie a DaemonSets (SGX-eszköz beépülő modul) bizalmas számítási bővítményeivel.
A csomópontkészlet és a bővítmény ellenőrzése
Szerezze be az AKS-fürt hitelesítő adatait az az aks get-credentials paranccsal:
az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
kubectl get pods
A paranccsal ellenőrizze, hogy a csomópontok megfelelően lettek-e létrehozva, és hogy az SGX-hez kapcsolódó Démonkészletek futnak-e DCsv2 csomópontkészleteken:
kubectl get pods --all-namespaces
kube-system sgx-device-plugin-xxxx 1/1 Running
Ha a kimenet megegyezik az előző kóddal, az AKS-fürt most már készen áll a bizalmas alkalmazások futtatására.
Az alkalmazás enklávéban való teszteléséhez nyissa meg a Központi „Helló világ!” alkalmazás szakaszt egy izolált enklávé alkalmazásszakaszból. Vagy az alábbi utasításokat követve további csomópontkészleteket adhat hozzá az AKS-hez. (Az AKS támogatja az SGX-csomópontkészletek és a nem SGX-csomópontkészletek keverését.)
Bizalmas számítási csomópontkészlet hozzáadása egy meglévő AKS-fürthöz
Ez a szakasz feltételezi, hogy már futtat egy AKS-fürtöt, amely megfelel az ebben a rövid útmutatóban korábban felsorolt előfeltételeknek.
A bizalmas számítási AKS-bővítmény engedélyezése a meglévő fürtön
Futtassa a következő parancsot a bizalmas számítási bővítmény engedélyezéséhez:
az aks enable-addons --addons confcom --name MyManagedCluster --resource-group MyResourceGroup
DCsv3 felhasználói csomópontkészlet hozzáadása a fürthöz
Feljegyzés
A bizalmas számítási képesség használatához a meglévő AKS-fürtnek legalább egy csomópontkészletet kell rendelkeznie, amely egy DCsv2/DCsv3 virtuálisgép-termékváltozaton alapul. A DCs-v2/Dcs-v3 virtuálisgép-termékváltozatokkal kapcsolatos további információkért tekintse meg a rendelkezésre álló termékváltozatokat és a támogatott régiókat.
Csomópontkészlet létrehozásához futtassa a következő parancsot:
az aks nodepool add --cluster-name myAKSCluster --name confcompool1 --resource-group myResourceGroup --node-count 2 --node-vm-size Standard_DC4s_v3
Ellenőrizze, hogy létrejött-e az új, confcompool1 nevű csomópontkészlet:
az aks nodepool list --cluster-name myAKSCluster --resource-group myResourceGroup
Ellenőrizze, hogy a DaemonSets bizalmas csomópontkészleteken fut-e
Jelentkezzen be a meglévő AKS-fürtbe a következő ellenőrzés végrehajtásához:
kubectl get nodes
A kimenetnek az AKS-fürt újonnan hozzáadott confcompool1 készletét kell megjelenítenie. Más Démonkészletek is megjelenhetnek.
kubectl get pods --all-namespaces
kube-system sgx-device-plugin-xxxx 1/1 Running
Ha a kimenet megegyezik az előző kóddal, az AKS-fürt most már készen áll a bizalmas alkalmazások futtatására.
„Helló világ!” alkalmazás üzembe helyezése izolált enklávéalkalmazásból
Most már készen áll egy tesztalkalmazás üzembe helyezésére.
Hozzon létre egy hello-world-enclave.yaml nevű fájlt, és illessze be a következő YAML-jegyzékbe. Ezt a mintaalkalmazás-kódot az Open Enclave projektben találja. Ez az üzembe helyezés feltételezi, hogy üzembe helyezte a confcom bővítményt.
Feljegyzés
Az alábbi példa egy nyilvános tárolórendszerképet kér le a Docker Hubról. Javasoljuk, hogy állítson be egy lekéréses titkos kulcsot a hitelesítéshez egy Docker Hub-fiókkal a névtelen lekéréses kérések helyett. A nyilvános tartalommal végzett munka megbízhatóságának javítása érdekében importálja és kezelje a rendszerképet egy privát Azure-tárolóregisztrációs adatbázisban. További információ a nyilvános rendszerképek használatával kapcsolatban.
apiVersion: batch/v1
kind: Job
metadata:
name: oe-helloworld
namespace: default
spec:
template:
metadata:
labels:
app: oe-helloworld
spec:
containers:
- name: oe-helloworld
image: mcr.microsoft.com/acc/samples/oe-helloworld:latest
resources:
limits:
sgx.intel.com/epc: "10Mi"
requests:
sgx.intel.com/epc: "10Mi"
volumeMounts:
- name: var-run-aesmd
mountPath: /var/run/aesmd
restartPolicy: "Never"
volumes:
- name: var-run-aesmd
hostPath:
path: /var/run/aesmd
backoffLimit: 0
Másik lehetőségként elvégezheti a csomópontkészlet-kijelölés üzembe helyezését is a tárolótelepítésekhez az alábbiak szerint
apiVersion: batch/v1
kind: Job
metadata:
name: oe-helloworld
namespace: default
spec:
template:
metadata:
labels:
app: oe-helloworld
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: agentpool
operator: In
values:
- acc # this is the name of your confidential computing nodel pool
- acc_second # this is the name of your confidential computing nodel pool
containers:
- name: oe-helloworld
image: mcr.microsoft.com/acc/samples/oe-helloworld:latest
resources:
limits:
sgx.intel.com/epc: "10Mi"
requests:
sgx.intel.com/epc: "10Mi"
volumeMounts:
- name: var-run-aesmd
mountPath: /var/run/aesmd
restartPolicy: "Never"
volumes:
- name: var-run-aesmd
hostPath:
path: /var/run/aesmd
backoffLimit: 0
Most a kubectl apply
paranccsal hozzon létre egy mintafeladatot, amely egy biztonságos enklávéban nyílik meg, ahogyan az alábbi példakimenetben látható:
kubectl apply -f hello-world-enclave.yaml
job "oe-helloworld" created
A következő parancsok futtatásával ellenőrizheti, hogy a számítási feladat sikeresen létrehozott-e megbízható végrehajtási környezetet (enklávét):
kubectl get jobs -l app=oe-helloworld
NAME COMPLETIONS DURATION AGE
oe-helloworld 1/1 1s 23s
kubectl get pods -l app=oe-helloworld
NAME READY STATUS RESTARTS AGE
oe-helloworld-rchvg 0/1 Completed 0 25s
kubectl logs -l app=oe-helloworld
Hello world from the enclave
Enclave called into host to print: Hello World!
Az erőforrások eltávolítása
Az ebben a rövid útmutatóban létrehozott bizalmas számítási csomópontkészlet eltávolításához használja a következő parancsot:
az aks nodepool delete --cluster-name myAKSCluster --name confcompool1 --resource-group myResourceGroup
Az AKS-fürt törléséhez használja a következő parancsot:
az aks delete --resource-group myResourceGroup --cluster-name myAKSCluster
Következő lépések
Python, Node vagy más alkalmazások futtatása bizalmas tárolókon keresztül ISV/OSS SGX burkolószoftverrel. Tekintse át a bizalmas tárolómintákat a GitHubon.
Enklávéérzékeny alkalmazásokat futtathat az enklávéval tisztában lévő Azure-tárolóminták használatával a GitHubon.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: