Szybki start: wdrażanie hosta kontenera systemu Linux platformy Azure dla klastra usługi AKS przy użyciu interfejsu wiersza polecenia platformy Azure
Rozpocznij pracę z hostem kontenera systemu Linux platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure w celu wdrożenia hosta kontenera systemu Linux platformy Azure dla klastra usługi AKS. Po zainstalowaniu wymagań wstępnych utworzysz grupę zasobów, utworzysz klaster usługi AKS, połączysz się z klastrem i uruchomisz przykładową aplikację z wieloma kontenerami w klastrze.
Wymagania wstępne
-
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Przewodnik Szybki start usługi Azure Cloud Shell — Bash.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure podczas pierwszego użycia. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Korzystanie z rozszerzeń w interfejsie wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
Tworzenie grupy zasobów
Grupa zasobów platformy Azure to logiczna grupa przeznaczona do wdrażania zasobów platformy Azure i zarządzania nimi. Podczas tworzenia grupy zasobów wymagane jest określenie lokalizacji. Ta lokalizacja to:
- Lokalizacja magazynu metadanych grupy zasobów.
- Gdzie zasoby będą uruchamiane na platformie Azure, jeśli nie określisz innego regionu podczas tworzenia zasobu.
Aby utworzyć grupę zasobów o nazwie testAzureLinuxResourceGroup w regionie eastus , wykonaj następujący krok:
Utwórz grupę zasobów przy użyciu az group create
polecenia .
az group create --name testAzureLinuxReourceGroup --location eastus
Następujące dane wyjściowe przypominają, że grupa zasobów została pomyślnie utworzona:
{
"id": "/subscriptions/<guid>/resourceGroups/testAzureLinuxResourceGroup",
"location": "eastus",
"managedBy": null,
"name": "testAzureLinuxResourceGroup",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
Uwaga
W powyższym przykładzie użyto regionów eastus, ale klastry hostów kontenerów systemu Linux platformy Azure są dostępne we wszystkich regionach.
Tworzenie klastra hostów kontenerów systemu Linux platformy Azure
Utwórz klaster usługi AKS przy użyciu polecenia z parametrem --os-sku
, aby aprowizować klaster usługi AKS przy użyciu az aks create
obrazu systemu Linux platformy Azure. Poniższy przykład tworzy klaster systemu Linux platformy Azure o nazwie testAzureLinuxCluster z jednym węzłem:
az aks create --name testAzureLinuxCluster --resource-group testAzureLinuxResourceGroup --os-sku AzureLinux
Po kilku minutach polecenie zostanie wykonane i zwróci informacje o klastrze w formacie JSON.
Łączenie z klastrem
Aby zarządzać klastrem Kubernetes, użyj klienta wiersza polecenia kubernetes kubectl.
- Skonfiguruj
kubectl
, aby nawiązać połączenie z klastremaz aks get-credentials
Kubernetes przy użyciu polecenia .
az aks get-credentials --resource-group testAzureLinuxResourceGroup --name testAzureLinuxCluster
- Sprawdź połączenie z klastrem przy użyciu polecenia kubectl get . Polecenie zwraca listę zasobników.
kubectl get pods --all-namespaces
Wdrażanie aplikacji
Plik manifestu kubernetes definiuje żądany stan klastra, taki jak obrazy kontenerów do uruchomienia.
W tym przewodniku Szybki start utworzysz wszystkie obiekty potrzebne do uruchomienia aplikacji Azure Vote za pomocą manifestu. Ten manifest obejmuje dwa wdrożenia platformy Kubernetes:
- Przykładowe aplikacje azure Vote Python.
- Wystąpienie usługi Redis.
Tworzone są również dwie usługi Kubernetes:
- Wewnętrzna usługa dla wystąpienia usługi Redis.
- Usługa zewnętrzna w celu uzyskania dostępu do aplikacji Azure Vote z Internetu.
Utwórz plik o nazwie
azure-vote.yaml
i skopiuj go w następującym manifeście.- Jeśli używasz usługi Azure Cloud Shell, ten plik można utworzyć przy użyciu metody
code
,vi
lubnano
tak jak w przypadku pracy w systemie wirtualnym lub fizycznym.
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
Aby uzyskać podział plików manifestu YAML, zobacz Wdrożenia i manifesty YAML.
- Jeśli używasz usługi Azure Cloud Shell, ten plik można utworzyć przy użyciu metody
Wdróż aplikację przy użyciu polecenia kubectl apply i podaj nazwę manifestu YAML:
kubectl apply -f azure-vote.yaml
Poniższy przykład przypomina dane wyjściowe przedstawiające pomyślnie utworzone wdrożenia i usługi:
deployment "azure-vote-back" created service "azure-vote-back" created deployment "azure-vote-front" created service "azure-vote-front" created
Testowanie aplikacji
Po uruchomieniu aplikacji usługa Kubernetes uwidacznia fronton aplikacji w Internecie. Ten proces może potrwać kilka minut.
Monitoruj postęp przy użyciu polecenia kubectl get service za pomocą argumentu --watch
.
kubectl get service azure-vote-front --watch
Dane wyjściowe EXTERNAL-IP dla azure-vote-front
usługi będą początkowo wyświetlane jako oczekujące.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
azure-vote-front LoadBalancer 10.0.37.27 <pending> 80:30572/TCP 6s
Gdy adres EXTERNAL-IP zmieni się z oczekujące na rzeczywisty publiczny adres IP, użyj polecenia CTRL-C
, aby zatrzymać proces obserwacjikubectl
. Następujące przykładowe dane wyjściowe przedstawiają prawidłowy publiczny adres IP przypisany do usługi:
azure-vote-front LoadBalancer 10.0.37.27 52.179.23.131 80:30572/TCP 2m
Aby wyświetlić działającą aplikację Azure Vote, otwórz zewnętrzny adres IP usługi w przeglądarce internetowej.
Usuwanie klastra
Jeśli nie zamierzasz kontynuować pracy z poniższymi samouczkami, aby uniknąć naliczania opłat za korzystanie z platformy Azure, wyczyść niepotrzebne zasoby. az group delete
Użyj polecenia , aby usunąć grupę zasobów i wszystkie powiązane zasoby.
az group delete --name testAzureLinuxCluster --yes --no-wait
Następne kroki
W tym przewodniku Szybki start wdrożono klaster hostów kontenerów systemu Linux platformy Azure. Aby dowiedzieć się więcej na temat hosta kontenera systemu Linux platformy Azure i zapoznać się z kompletnym przykładem wdrażania klastra i zarządzania nim, przejdź do samouczka Azure Linux Container Host.