Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Začněte s Azure Linux Container Host pomocí šablony Azure Resource Manager (ARM) k nasazení clusteru hostitele kontejnerů Azure Linux. Po instalaci požadovaných součástí vytvoříte pár klíčů SSH, zkontrolujete šablonu, nasadíte šablonu a ověříte ji a pak nasadíte aplikaci.
Šablona Azure Resource Manageru je soubor JSON (JavaScript Object Notation), který definuje infrastrukturu a konfiguraci projektu. Tato šablona používá deklarativní syntaxi. Popíšete zamýšlené nasazení, aniž byste museli psát posloupnost programovacích příkazů pro vytvoření nasazení.
Důležité
Od 30. listopadu 2025 už AKS nebude podporovat ani poskytovat aktualizace zabezpečení pro Azure Linux 2.0. Od 31. března 2026 se image uzlů odeberou a nebudete moct škálovat fondy uzlů. Migrujte na podporovanou verzi Azure Linuxu buď aktualizací fondů uzlů na podporovanou verzi Kubernetes, nebo migrací na osSku AzureLinux3. Další informace najdete v tématu [Vyřazení z provozu] Uzel poolů Azure Linux 2.0 v AKS.
Požadavky
-
Pokud nemáte účet Azure, vytvořte si bezplatný účet před tím, než začnete.
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v rychlém přehledu Azure Cloud Shell – Bash.
Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Přihlášení pomocí Azure CLI.
Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.
Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
Pokud ještě nemáte nainstalovaný kubectl, nainstalujte ho prostřednictvím Azure CLI nebo
az aks install-clipostupujte podle pokynů pro upstream.Pokud chcete vytvořit cluster AKS pomocí šablony Resource Manageru, zadejte veřejný klíč SSH. Pokud tento prostředek potřebujete, přečtěte si následující část; v opačném případě přejděte do části Kontrola šablony .
Identita, kterou používáte k vytvoření clusteru, má odpovídající minimální oprávnění. Další informace o přístupu a identitě pro AKS najdete v tématu Možnosti přístupu a identit pro Službu Azure Kubernetes Service (AKS).
Pokud chcete nasadit soubor Bicep nebo šablonu ARM, musíte mít právo zápisu pro prostředky, které nasazujete, a přístup ke všem operacím na prostředku typu Microsoft.Resources/deployments. Například k nasazení virtuálního počítače musíte mít oprávnění Microsoft.Compute/virtualMachines/write a Microsoft.Resources/deployments/*. Seznam rolí a oprávnění najdete v tématu Předdefinované role Azure.
Vytvoření páru klíčů SSH
Pro přístup k uzlům AKS se připojíte pomocí páru klíčů SSH (veřejný a privátní), který vygenerujete pomocí ssh-keygen příkazu. Ve výchozím nastavení jsou tyto soubory vytvořeny v adresáři ~/.ssh . Spuštěním příkazu ssh-keygen přepíšete jakýkoli pár klíčů SSH se stejným názvem, který už v daném umístění existuje.
Přejděte na https://shell.azure.com pro otevření Cloud Shell ve svém prohlížeči.
Spusťte příkaz
ssh-keygen. Následující příklad vytvoří pár klíčů SSH pomocí šifrování RSA a bitové délky 4096:ssh-keygen -t rsa -b 4096
Další informace o vytváření klíčů SSH najdete v tématu Vytvoření a správa klíčů SSH pro ověřování v Azure.
Kontrola šablony
Následující nasazení je realizováno použitím šablony ARM z Azure Quickstart Templates.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.1",
"parameters": {
"clusterName": {
"type": "string",
"defaultValue": "azurelinuxakscluster",
"metadata": {
"description": "The name of the Managed Cluster resource."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "The location of the Managed Cluster resource."
}
},
"dnsPrefix": {
"type": "string",
"metadata": {
"description": "Optional DNS prefix to use with hosted Kubernetes API server FQDN."
}
},
"osDiskSizeGB": {
"type": "int",
"defaultValue": 0,
"minValue": 0,
"maxValue": 1023,
"metadata": {
"description": "Disk size (in GB) to provision for each of the agent pool nodes. This value ranges from 0 to 1023. Specifying 0 will apply the default disk size for that agentVMSize."
}
},
"agentCount": {
"type": "int",
"defaultValue": 3,
"minValue": 1,
"maxValue": 50,
"metadata": {
"description": "The number of nodes for the cluster."
}
},
"agentVMSize": {
"type": "string",
"defaultValue": "Standard_DS2_v2",
"metadata": {
"description": "The size of the Virtual Machine."
}
},
"linuxAdminUsername": {
"type": "string",
"metadata": {
"description": "User name for the Linux Virtual Machines."
}
},
"sshRSAPublicKey": {
"type": "string",
"metadata": {
"description": "Configure all linux machines with the SSH RSA public key string. Your key should include three parts, for example 'ssh-rsa AAAAB...snip...UcyupgH azureuser@linuxvm'"
}
},
"osType": {
"type": "string",
"defaultValue": "Linux",
"allowedValues": [
"Linux"
],
"metadata": {
"description": "The type of operating system."
}
},
"osSKU": {
"type": "string",
"defaultValue": "AzureLinux",
"allowedValues": [
"AzureLinux",
"AzureLinux3",
"Ubuntu",
"Ubuntu2204",
"Ubuntu2404"
],
"metadata": {
"description": "The Linux SKU to use."
}
}
},
"resources": [
{
"type": "Microsoft.ContainerService/managedClusters",
"apiVersion": "2021-03-01",
"name": "[parameters('clusterName')]",
"location": "[parameters('location')]",
"properties": {
"dnsPrefix": "[parameters('dnsPrefix')]",
"agentPoolProfiles": [
{
"name": "agentpool",
"mode": "System",
"osDiskSizeGB": "[parameters('osDiskSizeGB')]",
"count": "[parameters('agentCount')]",
"vmSize": "[parameters('agentVMSize')]",
"osType": "[parameters('osType')]",
"osSKU": "[parameters('osSKU')]",
"storageProfile": "ManagedDisks"
}
],
"linuxProfile": {
"adminUsername": "[parameters('linuxAdminUsername')]",
"ssh": {
"publicKeys": [
{
"keyData": "[parameters('sshRSAPublicKey')]"
}
]
}
}
},
"identity": {
"type": "SystemAssigned"
}
}
],
"outputs": {
"controlPlaneFQDN": {
"type": "string",
"value": "[reference(parameters('clusterName')).fqdn]"
}
}
}
Pokud chcete přidat Azure Linux do existující šablony ARM, musíte přidat "osSKU": "AzureLinux" a "mode": "System" nastavit agentPoolProfiles apiVersion na verzi 2021-03-01 nebo novější ("apiVersion": "2021-03-01").
Nasazení šablony
Výběrem následujícího tlačítka se přihlaste k Azure a otevřete šablonu.
Vyberte nebo zadejte následující hodnoty.
Pro účely tohoto rychlého startu ponechte výchozí hodnoty pro velikost disku operačního systému GB, počet agentů, velikost virtuálního počítače agenta, typ operačního systému a verzi Kubernetes. Zadejte vlastní hodnoty pro následující parametry šablony:
- Předplatné: Vyberte předplatné Azure.
- Skupina prostředků: Vyberte možnost Vytvořit nový. Zadejte jedinečný název skupiny prostředků, například testAzureLinuxResourceGroup, a pak zvolte OK.
- Umístění: Vyberte umístění, například USA – východ.
- Název clusteru: Zadejte jedinečný název clusteru AKS, například testAzureLinuxCluster.
- Předpona DNS: Zadejte jedinečnou předponu DNS pro váš cluster, například myAzureLinuxCluster.
- Uživatelské jméno správce Linuxu: Zadejte uživatelské jméno pro připojení pomocí SSH, například azureUser.
- Veřejný klíč SSH RSA: Zkopírujte a vložte veřejnou část páru klíčů SSH (ve výchozím nastavení obsah ~/.ssh/id_rsa.pub).
Vyberte Zkontrolovat a vytvořit.
Vytvoření clusteru Azure Linux Container Host trvá několik minut. Než přejdete k dalšímu kroku, počkejte, než se cluster úspěšně nasadí.
Ověření nasazení
Připojení ke clusteru
Ke správě clusteru Kubernetes použijte klienta příkazového řádku Kubernetes kubectl.
Nainstalujte
kubectlmístně pomocí příkazuaz aks install-cli:az aks install-cliNakonfigurujte
kubectlk připojení k vašemu Kubernetes clusteru pomocí příkazuaz aks get-credentials. Tento příkaz stáhne přihlašovací údaje a nakonfiguruje rozhraní příkazového řádku Kubernetes tak, aby je používalo.az aks get-credentials --resource-group testAzureLinuxResourceGroup --name testAzureLinuxClusterPomocí příkazu ověřte připojení ke clusteru
kubectl get. Tento příkaz vrátí seznam uzlů clusteru.kubectl get nodesNásledující příklad výstupu ukazuje tři uzly vytvořené v předchozích krocích. Ujistěte se, že je stav uzlu připravený:
NAME STATUS ROLES AGE VERSION aks-agentpool-41324942-0 Ready agent 6m44s v1.12.6 aks-agentpool-41324942-1 Ready agent 6m46s v1.12.6 aks-agentpool-41324942-2 Ready agent 6m45s v1.12.6
Nasazení aplikace
Soubor manifestu Kubernetes definuje požadovaný stav clusteru, například které image kontejneru se mají spustit.
V tomto rychlém startu pomocí manifestu vytvoříte všechny objekty potřebné ke spuštění aplikace Azure Vote. Tento manifest zahrnuje dvě nasazení Kubernetes:
- Ukázkové aplikace Azure Vote Python.
- Instance Redis.
Vytvoří se také dvě služby Kubernetes:
- Interní služba instance Redis.
- Externí služba pro přístup k aplikaci Azure Vote z internetu.
Vytvořte soubor s názvem
azure-vote.yaml.- Pokud používáte Azure Cloud Shell, můžete tento soubor vytvořit pomocí
code,vinebonanojako kdybyste pracovali na virtuálním nebo fyzickém systému.
- Pokud používáte Azure Cloud Shell, můžete tento soubor vytvořit pomocí
Zkopírujte následující definici YAML:
apiVersion: apps/v1 kind: Deployment metadata: name: azure-vote-back spec: replicas: 1 selector: matchLabels: app: azure-vote-back template: metadata: labels: app: azure-vote-back spec: nodeSelector: "kubernetes.io/os": linux containers: - name: azure-vote-back image: mcr.microsoft.com/oss/bitnami/redis:6.0.8 env: - name: ALLOW_EMPTY_PASSWORD value: "yes" resources: requests: cpu: 100m memory: 128Mi limits: cpu: 250m memory: 256Mi ports: - containerPort: 6379 name: redis --- apiVersion: v1 kind: Service metadata: name: azure-vote-back spec: ports: - port: 6379 selector: app: azure-vote-back --- apiVersion: apps/v1 kind: Deployment metadata: name: azure-vote-front spec: replicas: 1 selector: matchLabels: app: azure-vote-front template: metadata: labels: app: azure-vote-front spec: nodeSelector: "kubernetes.io/os": linux containers: - name: azure-vote-front image: mcr.microsoft.com/azuredocs/azure-vote-front:v1 resources: requests: cpu: 100m memory: 128Mi limits: cpu: 250m memory: 256Mi ports: - containerPort: 80 env: - name: REDIS value: "azure-vote-back" --- apiVersion: v1 kind: Service metadata: name: azure-vote-front spec: type: LoadBalancer ports: - port: 80 selector: app: azure-vote-frontRozpis souborů manifestu YAML najdete v tématu Nasazení a manifesty YAML.
Nasaďte aplikaci pomocí příkazu kubectl apply a zadejte název manifestu YAML:
kubectl apply -f azure-vote.yamlNásledující příklad vypadá podobně jako výstup zobrazující úspěšně vytvořená nasazení a služby:
deployment "azure-vote-back" created service "azure-vote-back" created deployment "azure-vote-front" created service "azure-vote-front" created
Testování aplikace
Když se aplikace spustí, služba Kubernetes zveřejní front-end aplikace na internetu. Dokončení tohoto procesu může trvat několik minut.
Sledujte průběh pomocí příkazu kubectl get service s argumentem --watch .
kubectl get service azure-vote-front --watch
Výstup EXTERNAL-IP pro azure-vote-front službu se zpočátku zobrazí jako čekající.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
azure-vote-front LoadBalancer 10.0.37.27 <pending> 80:30572/TCP 6s
Jakmile se externí IP adresa změní z čekání na skutečnou CTRL-C veřejnou IP adresu, použijte kubectl k zastavení procesu sledování. Následující příklad výstupu ukazuje platnou veřejnou IP adresu přiřazenou službě:
azure-vote-front LoadBalancer 10.0.37.27 52.179.23.131 80:30572/TCP 2m
Pokud chcete vidět aplikaci Azure Vote v akci, otevřete webový prohlížeč na externí IP adresu vaší služby.
Odstranění clusteru
Pokud nebudete pokračovat v následujících kurzech, měli byste odstranit všechny nepotřebné prostředky, abyste se vyhnuli poplatkům za Azure.
az group delete Pomocí příkazu odeberte skupinu prostředků a všechny související prostředky.
az group delete --name testAzureLinuxCluster --yes --no-wait
Další kroky
V tomto rychlém startu jste nasadili cluster Azure Linux Container Host. Chcete-li se dozvědět více o hostiteli kontejnerů Azure Linux a projít si kompletní příklad nasazení a správy clusteru, pokračujte k tutoriálu Azure Linux Container Host.