Gyakorlat – natív felhőbeli összetevők Csatlakozás
A Kubernetes saját IP-címeket ad a podoknak, és egyetlen DNS-nevet ad egy podkészletnek. A szolgáltatásjegyzék-fájlok útmutatást tartalmaznak a podok megbízható módon való elérhetővé helyezéséhez egy olyan szabályzat használatával, amely meghatározza a velük való kapcsolódás módját. Ha újra üzembe helyezik a tárolólemezképet, a szolgáltatásjegyzékben található utasítások miatt nem kell újrakonfigurálnia a kapcsolatot.
A bejövőforgalom-vezérlők határozzák meg, hogyan csatlakozhat az alkalmazás a külvilághoz. A példaforgatókönyvben az intelligens hűtőknek üzeneteket kell küldenie a Node.js-tárolóba, és a bejövőforgalom-vezérlők határozzák meg a kapcsolat konfigurációját.
Ebben a leckében a következőket teheti meg:
- Konfigurálja a bemeneti jegyzékfájlt, hogy a tárolórendszerképet külső alkalmazások is elérhessék.
- Telepítse a bejövőforgalom-vezérlőt.
- Webalkalmazás létrehozása Docker-rendszerkép használatával.
A bejövő forgalom jegyzékének konfigurálása
Azonosítsa a gazdagép teljes tartománynevét (FQDN) a parancs használatával
az aks show
, és kérdezze le azaddonProfiles.httpApplicationRouting.config.HTTPApplicationRoutingZoneName
értéket.az aks show --resource-group $RESOURCEGROUP --name $CLUSTERNAME -o tsv --query addonProfiles.httpApplicationRouting.config.HTTPApplicationRoutingZoneName
Másolja ki a kimenetet, és nyissa meg az integrált szerkesztőt a Cloud Shellben a
code .
Nyissa meg a
ingress.yaml
fájlt, és cserélje le azapiVersion
értéketnetworking.k8s.io/v1
azhost
előző lépésben másolt teljes tartománynévre.A fájlnak a következő példához hasonlóan kell kinéznie:
# ingress.yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: cna-express annotations: kubernetes.io/ingress.class: addon-http-application-routing spec: rules: - host: cna-express.<exampleURL.eastus.aksapp.io> http: paths: - path: / # Which path is this rule referring to pathType: Prefix backend: # How the ingress will handle the requests service: name: cna-express # Which service the request will be forwarded to port: name: http # Which port in that service
Mentse a jegyzékfájlt a CTRL S billentyűkombinációval + , és zárja be a szerkesztőt a CTRL Q billentyűkombinációval. +
A bemeneti vezérlő üzembe helyezése
Küldje el a bejövő jegyzékfájlt a fürtnek a
kubectl apply
paranccsal.kubectl apply -f ./ingress.yaml
A parancs kimenete a következő példához hasonlót eredményez:
ingress.networking.k8s.io/cna-express created
Adja vissza a Cloud Shellt a forrásmappába a következő használatával
cd ..
: .cd ..
A bejövő forgalom létrehozása és a zónarekord létrehozása között kis késés lehet. Amíg ez történik, létrehozhatjuk a webalkalmazást.
Docker-rendszerkép használata a webalkalmazás létrehozásához
Lépjen az Azure Portalra , és válassza ki a tárolóregisztrációs adatbázist.
A Beállítások területen válassza a Hozzáférési kulcsok elemet.
Válassza a Rendszergazda felhasználói lehetőséget, amely aktiválja a beállításjegyzék rendszergazdai felhasználói fiókját.
A bejövő forgalom áttekintése
Lépjen az Azure Cloud Shellre, és ellenőrizze, hogy az üzembe helyezés sikeres volt-e a
kubectl get ingress
paranccsal.kubectl get ingress cna-express
A parancs kimenete a következő példához hasonlót eredményez:
NAME HOSTS ADDRESS PORTS AGE cna-express cna.5cd29ec927f24764b052.eastus.aksapp.io 52.226.96.30 80 4m44s
Győződjön meg arról, hogy az
ADDRESS
oszlop tartalmaz egy IP-címet.Sorolja fel a DNS-zónákat, és állapítsa meg, hogy a DNS-ünket a
az network dns zone list
parancs használatával hozták-e létre."az network dns zone list --output table
A parancs kimenete a következő példához hasonlót eredményez:
Name ResourceGroup RecordSets MaxRecordSets ------------------------------------- -------------------------------------------- ------------ --------------- 5cd29ec927f24764b052.eastus.aksapp.io mc_rg-contoso-video_aks-contoso-video_eastus 4 10000
Másolja ki a következő lépésben használni kívánt értékeket
Name
ResourceGroup
.A parancs használatával
az network dns record-set list
listázhatja a zóna DNS-rekordjait. Cserélje le<name>
az<resource-group>
előző lépésben másolt értékeket.az network dns record-set list -g <resource-group> -z <name> --output table
A parancs kimenete a következő példához hasonlót eredményez:
Fqdn Name ProvisioningState ResourceGroup Ttl ---------------------------------------------- ------- ------------------- -------------------------------------------- ------ 5cd29ec927f24764b052.eastus.aksapp.io. @ Succeeded mc_learn-cna-rg_cna-demo-aks_eastus 172800 5cd29ec927f24764b052.eastus.aksapp.io. @ Succeeded mc_learn-cna-rg_cna-demo-aks_eastus 3600 cna.5cd29ec927f24764b052.eastus.aksapp.io. cna Succeeded mc_learn-cna-rg_cna-demo-aks_eastus 300 cna.5cd29ec927f24764b052.eastus.aksapp.io. cna Succeeded mc_learn-cna-rg_cna-demo-aks_eastus 300
Győződjön meg arról, hogy a
host
kulcsban létrehozott gazdagép listájának alján két új rekord található. AProvisioningState
értékeSucceeded
. A zónarekordok propagálása több percet is igénybe vehet.Nyissa meg a böngészőt, és keresse meg a kimenetben leírt teljes aksapp.io teljes tartománynév URL-címét. Egy "hello world" üzenetnek kell megjelennie. Ne felejtse el, hogy az
.
URL-cím végéről ne adja meg az url-címet.
Webalkalmazás létrehozása
Térjen vissza az Azure Portalra , és válassza az Erőforrás létrehozása lehetőséget.
Válassza a Web>Webalkalmazás lehetőséget.
Az Alapszintű beállítások lapon adja meg az alábbi értékeket az egyes beállításokhoz:
Setting Érték Projekt részletei Előfizetés Válassza ki az alapértelmezett Azure-előfizetést, amelyben erőforrásokat hozhat létre és kezelhet. Erőforráscsoport A legördülő listában válassza ki a meglévő erőforráscsoportot. Példány részletei Név Adjon meg egy egyedi nevet, és jegyezze fel. Közzététel Docker-tároló Operating System Linux Region Hagyja meg alapértelmezettként, vagy válasszon egy Önhöz közeli helyet. Díjszabások Linux-csomag Hagyja meg az alapértelmezett beállítást. Tarifacsomag Válassza az Ingyenes F1 0,00 USD/hónap lehetőséget. Válassza a docker lapot a képernyő tetején.
A Docker lapon adja meg az alábbi értékeket az egyes beállításokhoz:
Setting Érték Beállítások Egyetlen tároló Kép forrása Azure Container Registry Beállításjegyzék Válassza ki a saját beállításjegyzékét. Kép webimage
Címke latest
Indítási parancs Hagyja üresen ezt a beállítást. Válassza a Véleményezés lehetőséget, és hozza létre a Létrehozás lehetőséget>.
A webalkalmazás konfigurálása
Amikor az üzembe helyezés befejeződött, válassza az Ugrás az erőforráshoz lehetőséget.
A Beállítások területen válassza a Konfiguráció elemet.
Az Alkalmazásbeállítások területen válassza az Új alkalmazásbeállítás lehetőséget.
Másolja ki a következő értéket, és illessze be a Név mezőbe.
SOCKET_SERVER_URL
Érték esetén használja ugyanazt a aksapp.io teljes tartománynév URL-címét, amelyet a bejövőforgalom-vezérlővel használt, és hogy hozzáférjen a Hello World weblapjához.
Válassza az OK>Mentés>folytatása lehetőséget.
Térjen vissza a Cloud Shellhez, és hozzon létre egy környezeti változót a webalkalmazás nevéhez az alábbi paranccsal. Győződjön meg arról, hogy lecseréli
<webapp-name>
a webalkalmazás nevére.WEBAPPNAME=<webapp-name>
A megoldás tesztelése
Futtassa a következő parancsot, és válassza ki a webalkalmazás URL-címét.
echo select the link below echo http://$WEBAPPNAME.azurewebsites.net
Ennyi az egész! Most létrehozott egy méretezhető, natív felhőbeli megoldást. Nyugodtan játszhat a létrehozott erőforrásokkal és kódokkal. Ha végzett, futtassa a következő lépést az Azure Cloud Shellben az erőforráscsoport törléséhez és a fiók szükségtelen költségeinek elkerüléséhez.
az group delete --name $RESOURCEGROUP