在昨天的文章中,我們已經完成了在本機使用 Docker Desktop Kubernetes 進行容器的佈署。今天,我們將繼續深入,探索如何將應用程式佈署到 Azure Kubernetes Service (AKS) 上!
Azure Kubernetes Service (AKS) 是一個完全託管的 Kubernetes 叢集,提供了一個簡單易用的方式在雲端管理容器化應用程式。AKS 幫助開發者簡化了 Kubernetes 叢集的管理和操作,同時提供了強大的自動擴展和安全功能,讓我們的應用能夠更快、更高效地運行。
AKS 的主要優勢包括:
首先,我們需要安裝 Azure CLI 並登入 Azure 帳號。
安裝 Azure CLI
az login
選擇我們要佈署的訂閱:
az account set --subscription "我們的 Azure 訂閱 ID"
建立資源群組:
az group create --name myResourceGroup --location eastus
建立 AKS 叢集:
az aks create \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-count 2 \
--enable-addons monitoring \
--generate-ssh-keys
設定 kubectl 使用 AKS 叢集:
kubectl
連接到 AKS 叢集:az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
這樣 kubectl
命令就會與我們剛剛創建的 AKS 叢集進行連線。
我們將重用昨天的應用程式,並將它佈署到 AKS 上。首先,我們需要將 Docker 映像推送到 Azure 容器註冊庫 (Azure Container Registry, ACR)。
建立 ACR:
az acr create --resource-group myResourceGroup --name myContainerRegistry --sku Basic
登入 ACR:
az acr login --name myContainerRegistry
標記並推送 Docker 映像至 ACR:
構建並標記我們的 Docker 映像:
docker build -t myContainerRegistry.azurecr.io/myapp:v1 .
推送映像至 ACR:
docker push myContainerRegistry.azurecr.io/myapp:v1
現在我們將把容器映像佈署到 AKS。
編寫 Kubernetes 佈署 YAML 文件:
deployment.yaml:
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp-deployment
spec:
replicas: 2
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: myContainerRegistry.azurecr.io/myapp:v1
ports:
- containerPort: 5000
應用佈署檔案至 AKS:
使用 kubectl apply
將應用佈署到 AKS 叢集:
kubectl apply -f deployment.yaml
確認佈署狀態:
查看佈署狀態,確保應用成功啟動:
kubectl get pods
暴露服務:
讓應用程式能夠從外部訪問:
kubectl expose deployment myapp-deployment --type=LoadBalancer --port=80 --target-port=5000
今天我們學習了如何使用 Azure Kubernetes Service (AKS) 進行容器化應用的佈署。AKS 是一個功能強大的 Kubernetes 平台,能讓我們在雲端簡單地運行和管理容器應用程式。在未來的文章中,我們將繼續探討如何監控和管理 AKS 上的應用程式,並深入了解 Kubernetes 的其他高階功能~