Rychlý start: Nasazení clusteru Azure Kubernetes Service pomocí Azure CLI
Azure Kubernetes Service (AKS) je spravovaná služba Kubernetes, která umožňuje rychle nasazovat a spravovat clustery. V tomto rychlém startu:
- Nasaďte cluster AKS pomocí Azure CLI.
- Spusťte ukázkovou vícekontejnerovou aplikaci s webovým front-endem a instancí Redis v clusteru.
Tento rychlý start předpokládá základní znalosti konceptů Kubernetes. Další informace najdete v základních konceptech Kubernetes pro Azure Kubernetes Service (AKS).
Pokud předplatné Azure nemáte, vytvořte si před zahájením bezplatný účet Azure .
Další informace o vytvoření fondu uzlů serveru Windows najdete v tématu Vytvoření clusteru AKS, který podporuje kontejnery Windows Serveru.
Požadavky
Použijte prostředí Bash v Azure Cloud Shell. Další informace najdete v tématu Rychlý start k Azure Cloud Shell – Bash.
Pokud dáváte přednost místnímu spuš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 Dockeru. 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í jsou popsané 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.
Tento článek vyžaduje verzi 2.0.64 nebo novější v Azure CLI. Pokud používáte Azure Cloud Shell, je už nainstalovaná nejnovější verze.
Identita, kterou používáte k vytvoření clusteru, má odpovídající minimální oprávnění. Další podrobnosti o přístupu a identitě pro AKS najdete v tématu Možnosti přístupu a identit pro Azure Kubernetes Service (AKS).
Pokud máte více předplatných Azure, vyberte příslušné ID předplatného, ve kterém se mají prostředky účtovat pomocí příkazu Az account .
Ověřte, že jsou ve vašem předplatném zaregistrované Microsoft.OperationsManagement a Microsoft.OperationalInsights . Postup kontroly stavu registrace:
az provider show -n Microsoft.OperationsManagement -o table az provider show -n Microsoft.OperationalInsights -o table
Pokud nejsou zaregistrované, zaregistrujte Microsoft.OperationsManagement a Microsoft.OperationalInsights pomocí:
az provider register --namespace Microsoft.OperationsManagement az provider register --namespace Microsoft.OperationalInsights
Poznámka
Pokud chcete příkazy spustit v tomto rychlém startu místně místo v Azure Cloud Shell, spusťte příkazy s oprávněními správce.
Vytvoření skupiny prostředků
Skupina prostředků Azure je logická skupina, ve které se nasazují a spravují prostředky Azure. Při vytváření skupiny prostředků se zobrazí výzva k zadání umístění. Toto umístění je:
- Umístění úložiště metadat skupiny prostředků
- Pokud během vytváření prostředků nezadáte jinou oblast, vaše prostředky se budou spouštět v Azure.
Následující příklad vytvoří skupinu prostředků myResourceGroup v umístění eastus.
Vytvořte skupinu prostředků pomocí příkazu az group create .
az group create --name myResourceGroup --location eastus
Následující příklad výstupu se podobá úspěšnému vytvoření skupiny prostředků:
{
"id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
"location": "eastus",
"managedBy": null,
"name": "myResourceGroup",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
Vytvoření clusteru AKS
Vytvořte cluster AKS pomocí příkazu az aks create s parametrem monitorování --enable-addons pro povolení služby Container Insights. Následující příklad vytvoří cluster s názvem myAKSCluster s jedním uzlem:
az aks create --resource-group myResourceGroup --name myAKSCluster --node-count 1 --enable-addons monitoring --generate-ssh-keys
Po několika minutách se příkaz dokončí a vrátí informace o clusteru ve formátu JSON.
Poznámka
Při vytváření clusteru AKS se automaticky vytvoří druhá skupina prostředků pro ukládání prostředků AKS. Další informace najdete v tématu Proč se v AKS vytvářejí dvě skupiny prostředků?
Připojení ke clusteru
Ke správě clusteru Kubernetes použijte klienta příkazového řádku Kubernetes kubectl. kubectl
už je nainstalovaný, pokud používáte Azure Cloud Shell.
Místní instalaci
kubectl
pomocí příkazu az aks install-cli :az aks install-cli
Pomocí příkazu az aks get-credentials nakonfigurujte
kubectl
připojení ke clusteru Kubernetes. Následující příkaz:- Stáhne přihlašovací údaje a nakonfiguruje rozhraní příkazového řádku Kubernetes tak, aby je používalo.
- Používá
~/.kube/config
výchozí umístění konfiguračního souboru Kubernetes. Zadejte jiné umístění konfiguračního souboru Kubernetes pomocí argumentu --file .
az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Pomocí příkazu kubectl get ověřte připojení ke clusteru. Tento příkaz vrátí seznam uzlů clusteru.
kubectl get nodes
Následující příklad výstupu ukazuje jeden uzel vytvořený v předchozích krocích. Ujistěte se, že je stav uzlu připravený:
NAME STATUS ROLES AGE VERSION aks-nodepool1-31718369-0 Ready agent 6m44s v1.12.8
Nasazení aplikace
Soubor manifestu Kubernetes definuje požadovaný stav clusteru, například které image kontejneru se mají spustit.
V tomto rychlém startu použijete manifest k vytvoření všech objektů potřebných 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 pro instanci 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
,vi
nebonano
jako 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-front
Nasaďte aplikaci pomocí příkazu kubectl apply a zadejte název manifestu YAML:
kubectl apply -f azure-vote.yaml
Následující příklad vypadá podobně jako výstup znázorňují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 kubectl
veřejnou IP adresu, použijte CTRL-C
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 zobrazit aplikaci Azure Vote v akci, otevřete webový prohlížeč na externí IP adresu vaší služby.
Odstranění clusteru
Abyste se vyhnuli poplatkům za Azure, pokud si neplánujete projít následující kurzy, vyčistíte nepotřebné prostředky. Pomocí příkazu az group delete odeberete skupinu prostředků, službu kontejneru a všechny související prostředky.
az group delete --name myResourceGroup --yes --no-wait
Poznámka
Cluster AKS byl vytvořen se spravovanou identitou přiřazenou systémem (výchozí možnost identity použitá v tomto rychlém startu), identita je spravovaná platformou a nevyžaduje odebrání.
Další kroky
V tomto rychlém startu jste nasadili cluster Kubernetes a pak jste do něj nasadili jednoduchou vícekontejnerovou aplikaci.
Další informace o službě AKS a podrobné vysvětlení kompletního příkladu od kódu až po nasazení najdete v kurzu clusteru Kubernetes.
Tento rychlý start slouží k úvodním účelům. Pokyny k vytváření úplných řešení pomocí AKS pro produkční prostředí najdete v pokynech k řešení AKS.