【 Cloud 】將 HTML Web 透過 Azure File 部署到 Azure Kubernetes Service ( AKS )
內容
- 學習目標
- 前置準備作業
- 專案目錄結構
- 建立與設定 Azure Kubernetes Service
- 測試與驗證
- 刪除所建立的資源與服務
學習目標
- 如何將
HTML Web
透過Azure File
部署到Azure Kubernetes Service
前置準備作業
- 已建立 Azure 帳號並能正常登入
- 已於電腦端存在可正常執行的 HTML 專案
- 已於電腦端安裝 IDE,本範例使用 Visual Studio Code
- 已於電腦端安裝 AZ Cli
- 已於電腦端安裝 kubectl
專案目錄結構
- 本範例目錄結構如下
└── aks-deploy-html
├── kube-manifests
│ ├── 01-Persistent-Volume-Claim.yml
│ ├── 02-Nginx-Deployment.yml
│ └── 03-Nginx-Service.yml
└── web
└── index.html
建立與設定 Azure Kubernetes Service
Step 1. 建立 Azure 資源群組
- 請在終端機輸入下方內容
az group create --name ResourceGroupName --location Region
-
修改指令中的
ResourceGroupName
為唯一可識別的名稱。 -
修改指令中的
Region
請輸入資源部署於何處- 可輸入
az account list-locations -o table
查看可用區域
- 可輸入
-
本範例使用如下
az group create --name aks-test-rg --location westus2
-
Step 2. 建立 AKS
- 請在終端機輸入下方內容
az aks create -g ResourceGroupName -n AksName
-
修改指令中的
ResourceGroupName
請輸入Step 1
的名稱。 -
修改指令中的
AksName
成唯一可識別的名稱。 -
本範例使用如下
az aks create -g aks-test-rg -n aks-web-test
-
Step 3. 取得 Azure Kubernetes Service Credential
- 請在終端機輸入下方內容
az aks get-credentials --resource-group ResourceGroupName --name AksName
-
修改指令中的
ResourceGroupName
請輸入Step 1
的名稱。 -
修改指令中的
AksName
請輸入段落Step 2
所建立的名稱。 -
本範例使用如下
az aks get-credentials --resource-group aks-test-rg --name aks-web-test
-
Step 4. 建立 Persistent Volume Claim 的 YAML
- 請在專案目錄中建立
kube-manifests
資料夾並在此資料夾中建立01-Persistent-Volume-Claim.yml
檔案,其內容如下
Step 5. 建立 Deployment 的 YAML
- 請在
kube-manifests
資料夾中建立02-Nginx-Deployment.yml
檔案,其內容如下
Step 6. 建立 LoadBalancer 的 YAML
- 請在
kube-manifests
資料夾中建立03-Nginx-Service.yml
檔案,其內容如下
Step 7. 部署 Application
-
請在終端機輸入下方內容
kubectl apply -f kube-manifests/
測試與驗證
Step 1. 查看 Storage Class
- 請在終端機輸入下方內容
kubectl get sc
Step 2. 查看 Persistent Volume Claim
- 請在終端機輸入下方內容
kubectl get pvc
Step 3. 查看 Persistent Volume
- 請在終端機輸入下方內容
kubectl get pv
Step 4. 查看 Pods
- 請在終端機輸入下方內容
kubectl get pods
Step 5. 查看 Pods 描述
- 請在終端機輸入下方內容
kubectl describe pod PodName
- 請修改指令中的
PodName
為Step 4
所顯示的 Pod 名稱。
- 請修改指令中的
Step 6. 查看 Deployment
- 請在終端機輸入下方內容
kubectl get deployment
Step 7. 上傳 HTML Web 到 Storage account
- 登入到 Azure Portal > 再搜尋框輸入
blob
> 點選Storage accounts
搜尋結果
- 選擇 Resource group 為
MC_群組名稱_AKS名稱_Region所在位置
- 本範例的
群組名稱
為aks-test-rg
- 本範例的
AKS名稱
為aks-web-test
- 本範例的
Region所在位置
為westus2
- 故本範例的
Resource group
為MC_aks-test-rg_aks-web-test_westus2
- 本範例的
- 點選左側的
File shares
- 點選所建立的 pvc
- 點選
Upload
- 選擇所要上傳的 HTML Web > 再點選
Upload
- 上傳完成
Step 8. 查看 Service 並取得 IP
- 請在終端機輸入下方內容以取得
EXTERNAL-IP
kubectl get service
Step 9. 存取 Web
- 請在瀏覽器輸入下方內容
http://EXTERNAL-IP/app-test/index.html
- 請把
EXTERNAL-IP
改成Step 8
所取得的EXTERNAL-IP
- 請把
刪除所建立的資源與服務
Step 1. 刪除 Application
- 請在終端機輸入下方內容
kubectl delete -f kube-manifests/
Step 2. 刪除所建立的相關資源
- 請在終端機輸入下方指令
az group delete -n ResourceGroupName
-
修改指令中的
ResourceGroupName
請輸入建立與設定 Azure Kubernetes Service
段落中Step 1
的名稱。 -
本範例使用如下
az group delete -n aks-test-rg
-