- 使用azure的doc範例
- 基本上照著做應該不會有問題
- 先把azure的範例抓下來,並且進行build
1
2
3$ git clone https://github.com/Azure-Samples/azure-voting-app-redis.git
$ cd azure-voting-app-redis
$ docker-compose up -d
使用瀏覽器測試一下,輸入http:localhost:8080
然後你也會看到三個image,這是後續需要用到的image,準備上傳到ACR
1 | $ docker images |
建立ACR
先建立group,下面指令會在 eastus 區域中建立名為 myResourceGroup 的資源群組
1
2
3
4
5
6
7
8
9
10
11
12$ az group create --name andy-lab --location eastus
{
"id": "/subscriptions/cd4e3d37-eaae-493b-886f-436bc6012f4d/resourceGroups/andy-lab",
"location": "eastasia",
"managedBy": null,
"name": "andy-lab",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null,
"type": "Microsoft.Resources/resourceGroups"
}使用 az acr create 命令建立 Azure Container Registry 執行個體,並提供您自己的登錄名稱。 登錄名稱在 Azure 內必須是唯一的,且包含 5-50 個英數字元。這邊取名叫 acrtest。
1 | $ az acr create -n andylabar -g andy-lab -l eastasia --sku basic |
你可以確認一下是否建立成功了
1 | $ az acr list -o table |
- 準備上傳你的image
要使用ACR前必須透過使用命令登入 ACR
1 | $ az acr login -n andylabar |
透過acr list找出acrLoginServer
1 | $ az acr list --resource-group andy-lab --query "[].{acrLoginServer:loginServer}" --output table |
上傳image
1 | $ docker tag mcr.microsoft.com/azuredocs/azure-vote-front:v1 andylabar.azurecr.io/azure-vote-front:v1 |
- 開始建立k8s集群到azure,需等待一段時間
1 | az aks create \ |
- 登入集群
1
2$ az aks get-credentials --resource-group andy-lab --name andyAKSCluster
Merged "andyAKSCluster" as current context in /Users/andywang/.kube/config
- 透過指令確認你本機的cluster是否建立
1
2
3
4
5
6
7
8$ kubectl config get-clusters
NAME
andyAKSCluster
andy-lab.us-east-2.eksctl.io
arn:aws:eks:us-east-2:185271018684:cluster/andy-lab
docker-desktop
test-cluster.us-east-2.eksctl.io
arn:aws:eks:us-east-2:185271018684:cluster/test-cluster
Note: 如果你要切換cluster,請執行 kubectl config set current-context [cluster name]
- 將image部署到AKS上了
1
2
3
4
5
6
7
8containers:
- name: azure-vote-front
image: mcr.microsoft.com/azuredocs/azure-vote-front:v1
# 改成你自己的acr
containers:
- name: azure-vote-front
image: andylabar.azurecr.io/azure-vote-front:v1
1 | $ kubectl apply -f azure-vote-all-in-one-redis.yaml |
- 測試自己的應用程式
1
$ kubectl get service azure-vote-front