Zelfstudie: Een AKS-app verbinden met Azure SQL Database
Artikel
In deze zelfstudie leert u hoe u een toepassing die is geïmplementeerd in AKS, verbindt met een Azure SQL Database, met behulp van serviceconnector. U voert de volgende taken uit:
Een Azure SQL Database-resource maken
Maak een verbinding tussen het AKS-cluster en de database met Service Connector.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren. Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht az login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Raadpleeg Aanmelden bij Azure CLI voor aanvullende aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
Een Azure SQL-database maken
Maak een resourcegroep voor het opslaan van de Azure-resources die u in deze zelfstudie maakt met behulp van de az group create opdracht.
az group create \
--name $RESOURCE_GROUP \
--location eastus
Volg de instructies voor het maken van een Azure SQL Database in de resourcegroep die u in de vorige stap hebt gemaakt. Noteer de servernaam, databasenaam en de databasereferenties voor gebruik in deze zelfstudie.
Een serviceverbinding maken in AKS met serviceconnector
De serviceconnector en Kubernetes Configuration-resourceproviders registreren
Registreer de serviceconnector en Kubernetes Configuration-resourceproviders met behulp van de az provider register opdracht.
az provider register --namespace Microsoft.ServiceLinker
az provider register --namespace Microsoft.KubernetesConfiguration
Tip
U kunt controleren of deze resourceproviders al zijn geregistreerd met behulp van de az provider show --namespace "Microsoft.ServiceLinker" --query registrationState en az provider show --namespace "Microsoft.KubernetesConfiguration" --query registrationState opdrachten. Als de uitvoer is Registered, is de serviceprovider al geregistreerd.
Een nieuwe verbinding maken
Maak een serviceverbinding tussen uw AKS-cluster en uw SQL-database met behulp van Microsoft Entra Workload-ID
Navigeer in Azure Portal naar uw AKS-clusterresource.
Selecteer Instellingenserviceconnector>>maken.
Configureer op het tabblad Basisbeginselen de volgende instellingen:
Kubernetes-naamruimte: selecteer de standaardwaarde.
Servicetype: selecteer SQL Database.
Verbindingsnaam: gebruik de naam van de verbinding die is opgegeven door serviceconnector of voer uw eigen verbindingsnaam in.
Abonnement: selecteer het abonnement dat de Azure SQL Database-service bevat.
SQL-server: selecteer uw SQL-server.
SQL-database: selecteer uw SQL-database.
Clienttype: de codetaal of het framework dat u gebruikt om verbinding te maken met de doelservice, zoals Python.
Selecteer Volgende: Verificatie. Selecteer op het tabblad Verificatie de optie Workloadidentiteit en kies één door de gebruiker toegewezen beheerde identiteit.
Selecteer Volgende: Netwerken>volgende: Beoordelen en maken in>Cloud Shell.
Cloud Shell wordt gestart en de opdrachten uitgevoerd om een verbinding te maken. Mogelijk moet u enkele configuratiewijzigingen bevestigen tijdens de opdrachtverwerking. Zodra de opdracht is uitgevoerd, worden de verbindingsgegevens weergegeven en kunt u klikken op de knop Vernieuwen in het deelvenster Serviceconnector om het meest recente resultaat weer te geven.
Maak een serviceverbinding met de SQL-database met behulp van de az aks connection create sql opdracht. U kunt deze opdracht op twee verschillende manieren uitvoeren:
genereer stap voor stap de nieuwe verbinding.
az aks connection create sql
genereer de nieuwe verbinding tegelijk. Zorg ervoor dat u de volgende tijdelijke aanduidingen vervangt door uw eigen gegevens: <source-subscription>, , <source_resource_group><cluster>, <target-subscription>, <target_resource_group>, , <server>, en <database><***>.
az aks connection create sql \
--source-id /subscriptions/<source-subscription>/resourceGroups/<source_resource_group>/providers/Microsoft.ContainerService/managedClusters/<cluster> \
--target-id /subscriptions/<target-subscription>/resourceGroups/<target_resource_group>/providers/Microsoft.Sql/servers/<server>/databases/<database> \
--workload-identity /subscriptions/<identity-subscription>/resourcegroups/<resource_group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity_name>
Waarschuwing
Microsoft raadt u aan de veiligste verificatiestroom te gebruiken die beschikbaar is. De verificatiestroom die in deze procedure wordt beschreven, vereist een zeer hoge mate van vertrouwen in de toepassing en brengt risico's met zich mee die niet aanwezig zijn in andere stromen. U moet deze stroom alleen gebruiken wanneer andere veiligere stromen, zoals beheerde identiteiten, niet haalbaar zijn. Selecteer de verificatiemethode Workload-ID (aanbevolen).
Maak een serviceverbinding tussen uw AKS-cluster en uw SQL-database met behulp van een verbindingsreeks
Navigeer in Azure Portal naar uw AKS-clusterresource.
Selecteer Instellingenserviceconnector>>maken.
Configureer op het tabblad Basisbeginselen de volgende instellingen:
Kubernetes-naamruimte: selecteer de standaardwaarde.
Servicetype: selecteer SQL Database.
Verbindingsnaam: gebruik de naam van de verbinding die is opgegeven door serviceconnector of voer uw eigen verbindingsnaam in.
Abonnement: selecteer het abonnement dat de Azure SQL Database-service bevat.
SQL-server: selecteer uw SQL-server.
SQL-database: selecteer uw SQL-database.
Clienttype: de codetaal of het framework dat u gebruikt om verbinding te maken met de doelservice, zoals Python.
Selecteer Volgende: Verificatie. Voer op het tabblad Verificatie de gebruikersnaam en het wachtwoord van uw database in.
Selecteer Volgende: Netwerken>volgende: Beoordelen en maken>.
Zodra de implementatie is voltooid, kunt u informatie bekijken over de nieuwe verbinding in het deelvenster Serviceconnector .
Maak een serviceverbinding met de SQL-database met behulp van de az aks connection create sql opdracht. U kunt deze opdracht op twee verschillende manieren uitvoeren:
genereer stap voor stap de nieuwe verbinding.
az aks connection create sql
genereer de nieuwe verbinding tegelijk. Zorg ervoor dat u de volgende tijdelijke aanduidingen vervangt door uw eigen gegevens: <source-subscription>, , <source_resource_group><cluster>, <target-subscription>, <target_resource_group>, , <server>, en <database><***>.
az aks connection create sql \
--source-id /subscriptions/<source-subscription>/resourceGroups/<source_resource_group>/providers/Microsoft.ContainerService/managedClusters/<cluster> \
--target-id /subscriptions/<target-subscription>/resourceGroups/<target_resource_group>/providers/Microsoft.Sql/servers/<server>/databases/<database> \
--secret name=<secret-name> secret=<secret>
Uw container bijwerken
Nu u een verbinding hebt gemaakt tussen uw AKS-cluster en de database, moet u de verbindingsgeheimen ophalen en implementeren in uw container.
Navigeer in Azure Portal naar uw AKS-clusterresource. Selecteer onder Instellingen de serviceconnector.
Selecteer de zojuist gemaakte verbinding en selecteer vervolgens YAML-fragment. Met deze actie wordt een deelvenster geopend met een voorbeeld van een YAML-bestand dat is gegenereerd door serviceconnector.
Als u de verbindingsgeheimen wilt instellen als omgevingsvariabelen in uw container, hebt u twee opties:
Maak rechtstreeks een implementatie met behulp van het opgegeven YAML-voorbeeldcodefragment. Het fragment bevat gemarkeerde secties met het geheime object dat wordt geïnjecteerd als de omgevingsvariabelen. Selecteer Toepassen om door te gaan met deze methode.
U kunt ook onder Resourcetype Kubernetes-workload selecteren en vervolgens een bestaande Kubernetes-workload selecteren. Met deze actie stelt u het geheime object van uw nieuwe verbinding in als de omgevingsvariabelen voor de geselecteerde workload. Nadat u de workload hebt geselecteerd, selecteert u Toepassen.
Uw toepassingscode bijwerken
Als laatste stap werkt u uw toepassingscode bij om uw omgevingsvariabelen te gebruiken door deze instructies te volgen.
Resources opschonen
Als u de resources die u hebt gemaakt tijdens het volgen van deze zelfstudie niet meer nodig hebt, kunt u ze verwijderen door de Azure-resourcegroep te verwijderen.
Verwijder uw resourcegroep met behulp van de az group delete opdracht.
az group delete --resource-group $RESOURCE_GROUP
Gerelateerde inhoud
Lees de volgende artikelen voor meer informatie over serviceconnectorconcepten en hoe AKS verbinding kan maken met Azure-services:
Meer informatie over het veilig verbinden van een Azure SQL-server met behulp van een privé-eindpunt van Azure via de Azure-portal, zodat u privé en veilig kunt communiceren met uw SQL-server.
Beheer een SQL Server-databaseinfrastructuur voor cloud-, on-premises en hybride relationele databases met behulp van de relationele Microsoft PaaS-databaseaanbiedingen.
Meer informatie over het gebruik van Service Connector om AKS te verbinden met andere Azure-services. Meer informatie over serviceconnectorbewerkingen, resourcebeheer en probleemoplossing.
Meer informatie over het gebruik van een door het systeem toegewezen of door de gebruiker toegewezen beheerde identiteit in Azure Kubernetes Service (AKS).
In dit artikel over Azure Kubernetes Service (AKS) implementeert u een Azure Kubernetes Service-cluster en configureert u dit met een Microsoft Entra Workload-ID.
Meer informatie over Microsoft Entra Workload-ID voor Azure Kubernetes Service (AKS) en het migreren van uw toepassing voor verificatie met behulp van deze identiteit.