快速入門:使用 Azure CLI 部署適用於 AKS 的 Azure Linux 容器主機叢集
使用 Azure CLI 為 AKS 叢集部署 Azure Linux 容器主機,以開始使用 Azure Linux 容器主機。 安裝必要條件之後,請建立資源群組、建立 AKS 叢集、連線至叢集,然後在叢集中執行範例多容器應用程式。
必要條件
-
如果您沒有 Azure 訂用帳戶,請在開始之前先建立 Azure 免費帳戶。
在 Azure Cloud Shell 中使用 Bash 環境。 如需詳細資訊,請參閱 Azure Cloud Shell 快速入門 - Bash。
若要在本地執行 CLI 參考命令,請安裝 Azure CLI。 若您在 Windows 或 macOS 上執行,請考慮在 Docker 容器中執行 Azure CLI。 如需詳細資訊,請參閱〈如何在 Docker 容器中執行 Azure CLI〉。
如果您使用的是本機安裝,請使用 az login 命令,透過 Azure CLI 來登入。 請遵循您終端機上顯示的步驟,完成驗證程序。 如需其他登入選項,請參閱使用 Azure CLI 登入。
出現提示時,請在第一次使用時安裝 Azure CLI 延伸模組。 如需擴充功能詳細資訊,請參閱使用 Azure CLI 擴充功能。
執行 az version 以尋找已安裝的版本和相依程式庫。 若要升級至最新版本,請執行 az upgrade。
建立資源群組
Azure 資源群組是部署及管理 Azure 資源所在的邏輯群組。 建立資源群組時,必須指定位置。 此位置為:
- 資源群組中繼資料的儲存位置。
- 如果您未在資源建立時指定另一個區域,則是您會在 Azure 中執行資源的位置。
若要在 eastus 區域中建立名為 testAzureLinuxResourceGroup 的資源群組,請遵循此步驟:
使用 az group create
命令建立資源群組。
az group create --name testAzureLinuxReourceGroup --location eastus
下列輸出類似於已成功建立您的資源群組:
{
"id": "/subscriptions/<guid>/resourceGroups/testAzureLinuxResourceGroup",
"location": "eastus",
"managedBy": null,
"name": "testAzureLinuxResourceGroup",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
注意
上述範例使用 eastus,但 Azure Linux 容器主機叢集在所有區域中均可使用。
建立 Azure Linux 容器主機叢集
使用 az aks create
命令搭配 --os-sku
參數建立 AKS 叢集,以使用 Azure Linux 映像佈建 AKS 叢集。 下列範例會建立名為 testAzureLinuxCluster、且包含一個節點的 Azure Linux 叢集:
az aks create --name testAzureLinuxCluster --resource-group testAzureLinuxResourceGroup --os-sku AzureLinux
幾分鐘後,命令會完成並傳回關於叢集的 JSON 格式資訊。
連線至叢集
若要管理 Kubernetes 叢集,請使用 Kubernetes 命令列用戶端 kubectl。
- 使用
az aks get-credentials
命令,設定kubectl
連線到 Kubernetes 叢集。
az aks get-credentials --resource-group testAzureLinuxResourceGroup --name testAzureLinuxCluster
- 使用 kubectl get nodes 命令來確認與叢集的連線。 命令會傳回 Pod 的清單。
kubectl get pods --all-namespaces
部署應用程式
Kubernetes 資訊清單檔會定義叢集所需的狀態,例如要執行哪些容器映像。
在本快速入門中,您可以使用資訊清單來建立執行 Azure Vote 應用程式所需的所有物件。 此資訊清單包含兩個 Kubernetes 部署:
- 範例 Azure Vote Python 應用程式。
- Redis 執行個體。
也會建立兩個 Kubernetes Services:
- Redis 執行個體的內部服務。
- 從網際網路存取 Azure Vote 應用程式的外部服務。
建立名為
azure-vote.yaml
的檔案,然後將下列資訊清單複製進來。- 如果您使用 Azure Cloud Shell,可以使用
code
、vi
或nano
建立這個檔案,猶如使用虛擬或實體系統。
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
如需 YAML 資訊清單檔案的詳細資訊,請參閱部署和 YAML 資訊清單。
- 如果您使用 Azure Cloud Shell,可以使用
使用 kubectl apply 命令來部署應用程式並指定 YAML 資訊清單的名稱:
kubectl apply -f azure-vote.yaml
下列範例類似於輸出,顯示已成功建立部署和服務:
deployment "azure-vote-back" created service "azure-vote-back" created deployment "azure-vote-front" created service "azure-vote-front" created
測試應用程式
執行應用程式時,Kubernetes 服務會向網際網路公開前端應用程式。 此程序可能需要幾分鐘才能完成。
使用 kubectl get service 命令搭配 --watch
引數來監視進度。
kubectl get service azure-vote-front --watch
azure-vote-front
服務的 EXTERNAL-IP 輸出一開始會顯示為擱置。
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
azure-vote-front LoadBalancer 10.0.37.27 <pending> 80:30572/TCP 6s
當 EXTERNAL-IP 位址從暫止變成實際的公用 IP 位址時,請使用 CTRL-C
停止 kubectl
監看式流程。 下列範例輸出顯示指派給服務的有效公用 IP 位址:
azure-vote-front LoadBalancer 10.0.37.27 52.179.23.131 80:30572/TCP 2m
若要查看作用中的 Azure 投票應用程式,請開啟網頁瀏覽器連至服務的外部 IP 位址。
選取叢集
如果您不打算繼續執行下列教學課程,為避免 Azure 費用,請清除任何不必要的資源。 使用 az group delete
命令,以移除資源群組和所有相關資源。
az group delete --name testAzureLinuxCluster --yes --no-wait
下一步
在本快速入門中,您已部署 Azure Linux 容器主機叢集。 若要深入了解 Azure Linux 容器主機,並逐步了解完整的叢集部署和管理範例,請繼續進行 Azure Linux 容器主機教學課程。