Zelfstudie: Virtuele knooppunten implementeren in Azure Container Instances in uw Azure Kubernetes Service-cluster
In deze zelfstudie gebruikt u Azure Portal om een AKS-cluster (Azure Kubernetes Service) te implementeren. Nadat u het AKS-cluster hebt geïmplementeerd, gebruikt u een Helm-grafiek om virtuele knooppunten in Azure Container Instances te implementeren.
Vereisten
In deze zelfstudie wordt ervan uitgegaan dat u de volgende hulpprogramma's hebt geïnstalleerd:
- Azure-CLI
- kubectl (versie 1.29+)
- Helm
- Git
Aanmelden bij Azure
Meld u aan bij Azure Portal op https://portal.azure.com
Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
Een virtueel netwerk maken voor uw AKS-cluster
Selecteer Een resource maken op de startpagina van Azure Portal.
Selecteer Netwerk>Virtueel netwerk.
Kies op de pagina Basisbeginselen een abonnement en voer de volgende waarden in:
- Resourcegroep: Nieuwe maken>
virtualnodesresourcegroup
- Naam van virtueel netwerk:
myvirtualnetwork
- Regio:
East US
Configureer op de pagina IP-adressen de volgende adresruimten en subnetten:
- 10.0.0.0/16:
default
subnet met grootte /24 - 10.1.0.0/16:
aks
subnet met grootte /16 - 10.2.0.0/16:
cg
subnet met grootte /16- Het
cg
subnet moet een subnetdelegering hebben aanMicrosoft.ContainerInstance/containerGroups
. - Als uw pods die worden uitgevoerd op virtuele knooppunten uitgaande netwerken nodig hebben, moet u een NAT-gateway instellen en het
cg
subnet configureren om dit te gebruiken. Raadpleeg Een NAT-gateway configureren voor statisch IP-adres voor uitgaand verkeer van een containergroep voor instructies voor deze installatie.
- Het
Laat alle andere instellingen op de standaardwaarden staan en selecteer Vervolgens Beoordelen en maken.
Wanneer de validatie is voltooid, ziet u een samenvatting van de instellingen van het virtuele netwerk. Selecteer Maken om uw aanvraag voor de implementatie van het virtuele netwerk in te dienen.
Wanneer de implementatie wordt gestart, wordt er een melding weergegeven die aangeeft dat de implementatie wordt uitgevoerd. Er wordt een andere melding weergegeven wanneer het virtuele netwerk is geïmplementeerd.
Uw AKS-cluster maken
Selecteer Een resource maken op de startpagina van Azure Portal.
Selecteer Containers>Azure Kubernetes Service (AKS).
Kies op de pagina Basisinformatie hetzelfde abonnement dat u hebt gebruikt voor het maken van het virtuele netwerk en voer de volgende waarden in:
- Resourcegroep:
virtualnodesresourcegroup
- Vooraf ingestelde clusterconfiguratie:
Dev/Test
- Kubernetes-clusternaam:
virtualnodescluster
- Regio:
East US
- Kubernetes-versie: elke versie die begint met
1.29.
, bijvoorbeeld1.29.10
- Automatische upgrade:
Enabled with patch
Selecteer op de pagina Knooppuntgroepen een VM-SKU met ten minste 4 vCPU's en 16 GB RAM voor de agentpool
knooppuntgroep. Deze knooppunten worden gebruikt voor het hosten van de infrastructuur van virtuele knooppunten. Niet selecteren Enable virtual nodes
. Dit verwijst naar de vorige aanbieding voor virtuele knooppunten voor AKS.
Voer op de pagina Netwerken de volgende waarden in:
- Netwerkconfiguratie:
Azure CNI Node Subnet
- Uw eigen virtuele Azure-netwerk gebruiken:
Enabled
- Virtueel netwerk:
myvirtualnetwork
- Clustersubnet:
aks
- Adresbereik van kubernetes-service:
10.4.0.0/16
- IP-adres van kubernetes DNS-service:
10.4.0.10
- Netwerkbeleid:
Calico
Laat alle andere instellingen op de standaardwaarden staan en selecteer Vervolgens Beoordelen en maken.
Wanneer de validatie is voltooid, ziet u een samenvatting van de instellingen van het AKS-cluster. Selecteer Maken om uw AKS-clusterimplementatieaanvraag in te dienen.
Wanneer de implementatie wordt gestart, wordt er een melding weergegeven die aangeeft dat de implementatie wordt uitgevoerd. Er wordt een andere melding weergegeven wanneer het AKS-cluster is geïmplementeerd.
Machtigingen toewijzen aan de beheerde identiteit van het AKS-cluster
Wanneer u een AKS-cluster implementeert, maakt AKS een knooppuntresourcegroep in hetzelfde abonnement om de clusterinfrastructuur te hosten. Deze resourcegroep heeft standaard een naam zoals MC_<resource group>_<AKS cluster>_<region>
. Voor deze zelfstudie moet de resourcegroep van het knooppunt de naam MC_virtualnodesresourcegroup_virtualnodescluster_eastus
hebben.
Een van de resources die in de knooppuntresourcegroep zijn gemaakt, is een beheerde identiteit met de naam virtualnodescluster_agentpool
. Navigeer naar deze beheerde identiteit en selecteer Azure-roltoewijzingen. Voeg vervolgens de volgende twee roltoewijzingen toe:
- Bereik:
Resource group
- Abonnement:
<your subscription name>
- Resourcegroep:
MC_virtualnodesresourcegroup_virtualnodescluster_eastus
- Rol:
Contributor
Met deze roltoewijzing kunt u ACI-containergroepen maken in de knooppuntresourcegroep.
- Bereik:
Resource group
- Abonnement:
<your subscription name>
- Resourcegroep:
virtualnodesresourcegroup
- Rol:
Contributor
Met deze roltoewijzing kunnen ACI-containergroepen worden opgenomen in het virtuele netwerk dat u in deze resourcegroep hebt gemaakt.
Virtuele knooppunten installeren in Azure Container Instances met behulp van de Helm-grafiek
Gebruik Azure CLI om de configuratie en referenties op te halen voor het AKS-cluster dat u hebt gemaakt. Hiermee configureert u kubectl voor uw AKS-cluster.
az login
az account set --subscription <your subscription ID>
az aks get-credentials --name virtualnodescluster --resource-group virtualnodesresourcegroup
Daarnaast registreren we de ACI-resourceprovider voor uw abonnement, zodat u containergroepen kunt implementeren.
az provider register -n Microsoft.ContainerInstance
Kloon de GitHub-opslagplaats virtualnodesOnAzureContainerInstances . De Helm-grafiek voor het installeren van virtuele knooppunten in Azure Container Instances bevindt zich in de Helm/virtualnode
map.
Installeer de Helm-grafiek met behulp van de volgende opdracht:
helm install virtualnode <cloned repository location>\Helm\virtualnode
Binnen een minuut wordt een nieuw virtueel knooppunt geregistreerd en in de status Gereed in het AKS-cluster. U kunt de status van uw AKS-clusterknooppunten controleren met kubectl.
kubectl get nodes
Uw eerste pod implementeren in een virtueel knooppunt
U kunt werken met virtuele knooppunten zoals andere Kubernetes-knooppunten. Met de onderstaande YAML-voorbeeld wordt bijvoorbeeld een pod geïmplementeerd op het virtuele knooppunt in uw AKS-cluster. Let op het gebruik van knooppuntkiezers en -toleranties om de pod op de juiste manier te plaatsen. U kunt de YAML implementeren met kubectl apply.
apiVersion: v1
kind: Pod
metadata:
annotations:
name: demo-pod
spec:
containers:
- command:
- /bin/bash
- -c
- 'counter=1; while true; do echo "Hello, World! Counter: $counter"; counter=$((counter+1)); sleep 1; done'
image: mcr.microsoft.com/azure-cli
name: hello-world-counter
resources:
limits:
cpu: 2250m
memory: 2256Mi
requests:
cpu: 100m
memory: 128Mi
nodeSelector:
virtualization: virtualnode2
tolerations:
- effect: NoSchedule
key: virtual-kubelet.io/provider
operator: Exists
Nadat uw pod is geïmplementeerd, kunt u ermee werken zoals u een 'normale' Kubernetes-pod zou doen.
Als u bijvoorbeeld de podstatus en -gebeurtenissen wilt zien (handig voor het vinden van fouten!):
kubectl describe pods demo-pod
Logboeken voor de pod weergeven:
kubectl logs demo-pod
Een shell voor de pod ophalen:
kubectl exec demo-pod -it -- /bin/bash
Volgende stappen
In deze zelfstudie hebt u een AKS-cluster gemaakt in Azure Portal, virtuele knooppunten geïmplementeerd in Azure Container Instances met behulp van een Helm-grafiek en een pod geïmplementeerd op uw virtuele knooppunt. U hebt nu basiskennis van het uitvoeren van Kubernetes-pods op uw virtuele knooppunt en u kunt de meeste Kubernetes-mogelijkheden en -constructies op deze pods kant-en-klare gebruiken.
Als u gespecialiseerde mogelijkheden of gedragingen voor virtuele knooppunten voor uw pods wilt gebruiken, raadpleegt u PodAanpassingen.
Als u de installatie van uw virtuele knooppunt wilt aanpassen, raadpleegt u Knooppuntaanpassingen.
Als u van plan bent om workloads op grote schaal (duizenden pods per minuut) te implementeren op virtuele knooppunten, hebben we aanbevolen procedures en aanbevelingen.