Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ebben a rövid útmutatóban létrehoz egy funkciójelzőt az Azure App Configurationban, és segítségével dinamikusan szabályozhatja az AKS-ben futó ASP.NET Core-alkalmazások új weblapjainak láthatóságát újraindítás vagy ismételt üzembe helyezés nélkül.
Előfeltételek
Kövesse a dokumentumokat a dinamikus konfiguráció használatához az Azure Kubernetes Service-ben.
- Rövid útmutató: Az Azure App Configuration használata az Azure Kubernetes Service-ben
- Oktatóanyag: Dinamikus konfiguráció használata az Azure Kubernetes Service-ben
Funkciójelző létrehozása
Adjon hozzá egy bétaverzió nevű funkciójelzőt az Alkalmazáskonfigurációs áruházhoz, és hagyja meg a címkét és a leírást az alapértelmezett értékekkel. Ha többet szeretne tudni arról, hogyan adhat hozzá funkciójelzőket egy áruházhoz az Azure Portal vagy a parancssori felület használatával, lépjen a Funkciójelölő létrehozása elemre.
Funkciójelző használata
Ebben a szakaszban funkciójelzőket fog használni egy egyszerű ASP.NET webalkalmazásban, és futtatja az Azure Kubernetes Service-ben (AKS).
Lépjen a projekt rövid útmutatóban létrehozott könyvtárába, és futtassa a következő parancsot a Microsoft.FeatureManagement.AspNetCore NuGet csomag 3.2.0-s vagy újabb verziójára mutató hivatkozás hozzáadásához.
dotnet add package Microsoft.FeatureManagement.AspNetCoreNyissa meg a program.cs, és hívja
AddFeatureManagementmeg az alkalmazás szolgáltatásgyűjteményét, és adja hozzá a szolgáltatásfelügyeletet.// Existing code in Program.cs // ... ... // Add a JSON configuration source builder.Configuration.AddJsonFile("config/mysettings.json", reloadOnChange: true, optional: false); // Add feature management to the container of services. builder.Services.AddFeatureManagement(); var app = builder.Build(); // The rest of existing code in program.cs // ... ...Ha nincs jelen, adja hozzá
using Microsoft.FeatureManagement;a fájl tetején.Adjon hozzá egy új, Béta nevű üres Razor-lapot a Pages könyvtárban. Két fájlt tartalmaz Beta.cshtml és Beta.cshtml.cs.
Nyissa meg a Beta.cshtml fájlt, és frissítse a következő korrektúrával:
@page @model MyWebApp.Pages.BetaModel @{ ViewData["Title"] = "Beta Page"; } <h1>This is the beta website.</h1>Nyissa meg a Beta.cshtml.cs, és adjon hozzá
FeatureGateattribútumot azBetaModelosztályhoz. AzFeatureGateattribútum biztosítja, hogy a bétaoldal csak akkor legyen elérhető, ha a bétaverzió funkciójelzője engedélyezve van. Ha a bétaverzió funkciójelzője nincs engedélyezve, a lap a 404 Nem található értéket adja vissza.using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.FeatureManagement.Mvc; namespace MyWebApp.Pages { [FeatureGate("Beta")] public class BetaModel : PageModel { public void OnGet() { } } }Nyissa meg a Pages/_ViewImports.cshtml fájlt, és regisztrálja a funkciókezelő címkesegítőjét egy
@addTagHelperirányelv használatával:@addTagHelper *, Microsoft.FeatureManagement.AspNetCoreAz előző kód lehetővé teszi a
<feature>címkesegítő használatát a projekt .cshtml fájljaiban.Nyissa meg a _Layout.cshtml fájlt a Megosztott lapok\ könyvtárban. Szúrjon be egy új
<feature>címkét a Kezdőlap és az Adatvédelem navigációs sáv elemei közé az alábbi kiemelt sorokban látható módon.<div class="navbar-collapse collapse d-sm-inline-flex flex-sm-row-reverse"> <ul class="navbar-nav flex-grow-1"> <li class="nav-item"> <a class="nav-link text-dark" asp-area="" asp-page="/Index">Home</a> </li> <feature name="Beta"> <li class="nav-item"> <a class="nav-link text-dark" asp-area="" asp-page="/Beta">Beta</a> </li> </feature> <li class="nav-item"> <a class="nav-link text-dark" asp-area="" asp-page="/Privacy">Privacy</a> </li> </ul> </div>A
<feature>címke biztosítja, hogy a Béta menüelem csak akkor jelenjen meg, ha a bétaverzió funkciójelzője engedélyezve van.Az alkalmazás tárolóba helyezése és a rendszerkép leküldése az Azure Container Registrybe.
Telepítse az alkalmazást. Frissítse a böngészőt, és a weblap így fog kinézni:
Funkciójelzők betöltése a Kubernetes Provider használatával
Frissítse az üzembehelyezési könyvtárban található appConfigurationProvider.yaml fájlt a következő tartalommal.
apiVersion: azconfig.io/v1 kind: AzureAppConfigurationProvider metadata: name: appconfigurationprovider-sample spec: endpoint: <your-app-configuration-store-endpoint> target: configMapName: configmap-created-by-appconfig-provider configMapData: type: json key: mysettings.json auth: workloadIdentity: managedIdentityClientId: <your-managed-identity-client-id> featureFlag: selectors: - keyFilter: 'Beta' refresh: enabled: trueJótanács
Ha a szakaszban nincs
selectorsmegadvafeatureFlag, a Kubernetes-szolgáltató nem tölt be funkciójelzőket az Alkalmazáskonfigurációs áruházból. A funkciójelölők alapértelmezett frissítési időköze 30 másodperc, hafeatureFlag.refreshengedélyezve van. Ezt a viselkedést afeatureFlag.refresh.intervalparaméteren keresztül szabhatja testre.Futtassa a következő parancsot a módosítások alkalmazásához.
kubectl apply -f ./Deployment -n appconfig-demoFrissítse a bétafunkció-jelzőt az Alkalmazáskonfigurációs áruházban. Engedélyezze a jelölőt az Engedélyezve jelölőnégyzet bejelölésével.
A böngésző többszöri frissítése után a frissített tartalom 30 másodpercen belül láthatóvá válik, miután a ConfigMap frissült.
Válassza a Béta menüt. Ezzel elérhetővé válik a dinamikusan engedélyezett bétaverziós webhely.
Erőforrások tisztítása
Távolítsa el az alkalmazáskonfigurációs Kubernetes-szolgáltatót az AKS-fürtből, ha meg szeretné tartani az AKS-fürtöt.
helm uninstall azureappconfiguration.kubernetesprovider --namespace azappconfig-system
Ha nem szeretné folytatni a cikkben létrehozott erőforrások használatát, törölje az itt létrehozott erőforráscsoportot a díjak elkerülése érdekében.
Fontos
Egy erőforráscsoport törlése visszafordíthatatlan. Az erőforráscsoport és a benne lévő összes erőforrás véglegesen törlődik. Győződjön meg arról, hogy nem véletlenül törli a rossz erőforráscsoportot vagy erőforrásokat. Ha a cikk erőforrásait olyan erőforráscsoporton belül hozta létre, amely más megtartani kívánt erőforrásokat tartalmaz, törölje az egyes erőforrásokat a megfelelő panelről az erőforráscsoport törlése helyett.
- Jelentkezzen be az Azure Portalra, és válassza ki az Erőforráscsoportokat.
- A Szűrés név szerint mezőbe írja be az erőforráscsoport nevét.
- Az eredménylistában válassza ki az erőforráscsoport nevét az áttekintés megtekintéséhez.
- Válassza az Erőforráscsoport törlése lehetőséget.
- A rendszer az erőforráscsoport törlésének megerősítését kéri. Adja meg a megerősítéshez az erőforráscsoport nevét, és válassza a Törlés lehetőséget.
Néhány pillanat múlva az erőforráscsoport és annak összes erőforrása törlődik.
Következő lépések
Ebben a gyors kezdő útmutatóban a következőket teheti meg:
- Funkciófelügyeleti funkció hozzáadva az Azure Kubernetes Service-ben (AKS) futó ASP.NET Core-alkalmazáshoz.
- Az AKS-fürtöt az Alkalmazáskonfigurációs tárhoz csatlakoztatta az alkalmazáskonfigurációs Kubernetes-szolgáltatóval.
- Létrehozott egy konfigurációtérképet kulcsértékekkel és funkciójelzőkkel az Alkalmazáskonfigurációs áruházból.
- Dinamikus konfigurációval futtatta az alkalmazást az Alkalmazáskonfigurációs áruházból az alkalmazáskód módosítása nélkül.
Az Azure App Configuration Kubernetes Provider szolgáltatással kapcsolatos további információkért tekintse meg az Azure App Configuration Kubernetes Provider referenciáját.
A szolgáltatásfelügyeleti képességről az alábbi oktatóanyagban olvashat bővebben.