Giới thiệu Lab
Trong lab này, bạn sẽ học cách tự động hóa việc triển khai tài nguyên. Bạn sẽ tìm hiểu về Azure Resource Manager templates và Bicep templates. Bạn cũng sẽ học về các cách khác nhau để triển khai templates.
Lab này yêu cầu một Azure subscription. Loại subscription của bạn có thể ảnh hưởng đến tính khả dụng của các tính năng trong lab. Bạn có thể thay đổi region, nhưng các bước hướng dẫn được viết với region East US.
Tình huống
Nhóm của bạn muốn tìm cách tự động hóa và đơn giản hóa việc triển khai tài nguyên. Tổ chức của bạn đang tìm cách giảm gánh nặng quản trị, giảm lỗi do con người và tăng tính nhất quán.
Kỹ năng
- Task 1: Tạo một Azure Resource Manager template.
- Task 2: Chỉnh sửa Azure Resource Manager template và triển khai lại template.
- Task 3: Cấu hình Cloud Shell và triển khai template bằng Azure PowerShell.
- Task 4: Triển khai template bằng CLI.
- Task 5: Triển khai tài nguyên bằng Azure Bicep.
Sơ đồ kiến trúc
Task 1: Tạo Azure Resource Manager Template
Trong task này, chúng ta sẽ tạo một managed disk trong Azure portal. Managed disks là bộ nhớ lưu trữ được thiết kế để sử dụng với các máy ảo. Sau khi disk được triển khai, bạn sẽ xuất một template có thể dùng trong các lần triển khai khác.
-
1
Đăng nhập vào Azure portal —
https://portal.azure.com. -
2
Tìm kiếm và chọn
Disks. -
3
Trên trang Disks, chọn Create.
-
4
Trên trang Create a managed disk, cấu hình disk rồi chọn Ok.
Setting Value Subscription your subscription Resource Group az104-rg3(If necessary, select Create new.)Disk name az104-disk1Region East US Availability zone No infrastructure redundancy required Source type None Performance Standard HDD (change size) Size 32 GiB Note: Chúng ta đang tạo một managed disk đơn giản để bạn có thể luyện tập với templates. Azure managed disks là các ổ lưu trữ cấp block được quản lý bởi Azure.Note: Nếu việc triển khai thất bại do giới hạn capacity hoặc quota, hãy điều chỉnh cấu hình hoặc chọn region khác. -
5
Nhấp Review + Create rồi chọn Create.
-
6
Theo dõi thông báo (góc trên bên phải) và sau khi triển khai xong chọn Go to resource.
-
7
Trong blade Automation, chọn Export template.
-
8
Dành một chút thời gian xem lại các file Template và Parameters.
-
9
Từ phần Template, nhấp Download và lưu template xuống ổ đĩa cục bộ. Sau đó chuyển sang phần Parameters và làm tương tự.
-
10
Dùng File Explorer để mở thư mục Downloads trên máy tính. Lưu ý có hai file JSON (template và parameters).
Bạn có biết? Bạn có thể xuất toàn bộ resource group hoặc chỉ các tài nguyên cụ thể trong resource group đó.
Task 2: Chỉnh sửa ARM Template và Triển khai lại
Trong task này, bạn sử dụng template đã tải xuống để triển khai một managed disk mới. Task này hướng dẫn cách lặp lại việc triển khai một cách nhanh chóng và dễ dàng.
-
1
Trong Azure portal, tìm kiếm và chọn
Deploy a custom template. -
2
Trong blade Custom deployment, lưu ý có khả năng sử dụng Quickstart template. Có nhiều template tích hợp sẵn như hiển thị trong menu thả xuống.
-
3
Thay vì dùng Quickstart, chọn Build your own template in the editor.
-
4
Trong blade Edit template, nhấp Load file và tải lên file template.json bạn đã tải xuống ổ đĩa cục bộ.
-
5
Trong ngăn editor, thực hiện các thay đổi sau:
- Đổi disks_az104_disk1_name thành
disk_name(thay đổi ở 2 chỗ) - Đổi az104-disk1 thành
az104-disk2(thay đổi ở 1 chỗ)
- Đổi disks_az104_disk1_name thành
-
6
Lưu ý đây là disk Standard. Location là eastus. Kích thước disk là 32GB.
-
7
Lưu các thay đổi của bạn.
-
8
Đừng quên file parameters. Chọn Edit parameters, nhấp Load file và tải lên file parameters.json.
-
9
Thực hiện thay đổi này để khớp với file template:
Đổi disks_az104_disk1_name thành disk_name (thay đổi ở 1 chỗ)
-
10
Lưu các thay đổi của bạn.
-
11
Hoàn thành cài đặt custom deployment:
Setting Value Subscription your subscription Resource Group az104-rg3Region (US) East US Disk_name az104-disk2 -
12
Chọn Review + Create rồi chọn Create.
-
13
Chọn Go to resource. Xác minh az104-disk2 đã được tạo.
-
14
Trong blade Overview, chọn resource group az104-rg3. Lúc này bạn sẽ có hai disks.
-
15
Trong phần Settings, nhấp Deployments.
Note: Tất cả chi tiết triển khai đều được ghi lại trong resource group. Đây là thực hành tốt để xem lại một vài lần triển khai đầu tiên dựa trên template nhằm đảm bảo thành công trước khi sử dụng templates cho các hoạt động quy mô lớn. -
16
Chọn một deployment và xem lại nội dung của các blade Input và Template.
Task 3: Cấu hình Cloud Shell và Triển khai bằng PowerShell
Trong task này, bạn làm việc với Azure Cloud Shell và Azure PowerShell. Azure Cloud Shell là terminal tương tác, được xác thực, có thể truy cập qua trình duyệt để quản lý Azure resources. Nó cung cấp sự linh hoạt trong việc chọn trải nghiệm shell phù hợp nhất với cách bạn làm việc, có thể là Bash hoặc PowerShell. Trong task này, bạn dùng PowerShell để triển khai template.
-
1
Chọn biểu tượng Cloud Shell ở góc trên bên phải Azure Portal. Ngoài ra, bạn có thể điều hướng trực tiếp đến
https://shell.azure.com.
-
2
Khi được nhắc chọn Bash hoặc PowerShell, chọn PowerShell.
Bạn có biết? Nếu bạn chủ yếu làm việc với hệ thống Linux, Bash (CLI) sẽ quen thuộc hơn. Nếu bạn chủ yếu làm việc với hệ thống Windows, Azure PowerShell sẽ quen thuộc hơn. -
3
Cloud Shell có thể khởi chạy trực tiếp vào một phiên PowerShell tạm thời. Không cần cấu hình storage account.
Note: Chờ dấu nhắc lệnh PowerShell xuất hiện trước khi tiếp tục. -
4
Chọn Settings (thanh trên) rồi chọn Go to classic version.
-
5
Chọn biểu tượng Upload/Download files (thanh trên) rồi chọn Upload.
-
6
Tải lên cả hai file template và parameters từ thư mục Downloads.
-
7
Chọn biểu tượng Editor (dấu ngoặc nhọn) và điều hướng đến file JSON template ở bên trái trong ngăn điều hướng.
-
8
Thực hiện một thay đổi. Ví dụ: đổi tên disk thành az104-disk3. Dùng Ctrl+S để lưu thay đổi, rồi Ctrl+Q để đóng editor.
Note: Bạn có thể nhắm mục tiêu triển khai template đến resource group, subscription, management group, hoặc tenant. Tùy thuộc vào phạm vi triển khai, bạn dùng các lệnh khác nhau. -
9
Nếu bạn có nhiều subscription, trước tiên hãy đảm bảo PowerShell đang dùng đúng subscription context. Chạy các lệnh sau và nếu cần, thay
<your-subscription-id>bằng subscription chứa az104-rg3.PowerShell— Azure Cloud ShellGet-AzContext Set-AzContext -Subscription <your-subscription-id>
Note: Điều này đặc biệt quan trọng khi Cloud Shell đang chạy ở chế độ tạm thời, vì subscription đang hoạt động có thể khác với ngữ cảnh Azure portal. -
10
Để triển khai đến resource group, dùng New-AzResourceGroupDeployment.
PowerShell— Azure Cloud ShellNew-AzResourceGroupDeployment -ResourceGroupName az104-rg3 -TemplateFile template.json -TemplateParameterFile parameters.json
-
11
Đảm bảo lệnh hoàn tất và ProvisioningState là Succeeded.
-
12
Xác nhận disk đã được tạo.
PowerShell— Azure Cloud ShellGet-AzDisk | ft Name,ResourceGroupName,Location,DiskSizeGb,ProvisioningState
Task 4: Triển khai Template bằng CLI
-
1
Tiếp tục trong Cloud Shell, chọn Bash. Xác nhận lựa chọn của bạn.
-
2
Nếu bạn có nhiều subscription, trước tiên hãy đảm bảo đã đặt đúng subscription context. Điều này đặc biệt quan trọng khi Cloud Shell đang chạy ở chế độ tạm thời, vì chuyển từ PowerShell sang Bash có thể đặt lại subscription context.
Bash— Azure Cloud Shellaz account show az account set --subscription <your-subscription-id>
-
3
Xác minh các file của bạn có sẵn trong Cloud Shell storage. Nếu bạn đã hoàn thành task trước, các file template sẽ có sẵn.
Bash— Azure Cloud Shellls
-
4
Chọn biểu tượng Editor (dấu ngoặc nhọn) và điều hướng đến file JSON template.
-
5
Thực hiện một thay đổi. Ví dụ: đổi tên disk thành az104-disk4. Dùng Ctrl+S để lưu thay đổi, rồi Ctrl+Q để đóng editor.
Note: Bạn có thể nhắm mục tiêu triển khai template đến resource group, subscription, management group, hoặc tenant. Tùy thuộc vào phạm vi triển khai, bạn dùng các lệnh khác nhau. -
6
Để triển khai đến resource group, dùng az deployment group create.
Bash— Azure Cloud Shellaz deployment group create --resource-group az104-rg3 --template-file template.json --parameters parameters.json
-
7
Đảm bảo lệnh hoàn tất và ProvisioningState là Succeeded.
-
8
Xác nhận disk đã được tạo.
Bash— Azure Cloud Shellaz disk list --resource-group az104-rg3 --output table
Task 5: Triển khai Tài nguyên bằng Azure Bicep
Trong task này, bạn sẽ dùng file Bicep để triển khai một managed disk. Bicep là công cụ tự động hóa khai báo được xây dựng trên ARM templates.
-
1
Tìm file \Allfiles\Lab03\azuredeploydisk.bicep.
-
2
Tiếp tục làm việc trong Cloud Shell với phiên Bash.
-
3
Chọn Upload/Download files rồi Upload file Bicep lên Cloud Shell.
-
4
Chọn Open editor.
-
5
Chọn file azuredeploydisk.bicep.
-
6
Dành một chút thời gian đọc qua file Bicep template. Lưu ý cách tài nguyên disk được định nghĩa.
-
7
Thực hiện các thay đổi sau:
- Đổi giá trị managedDiskName, dòng 2, thành az104-disk5.
- Đổi giá trị diskSizeinGiB, dòng 7, thành 32.
- Đổi giá trị sku name, dòng 26, thành StandardSSD_LRS.
-
8
Dùng Ctrl+S để lưu thay đổi, rồi Ctrl+Q để đóng editor.
-
9
Bây giờ, triển khai template.
Bash— Azure Cloud Shellaz deployment group create --resource-group az104-rg3 --template-file azuredeploydisk.bicep
-
10
Xác nhận disk đã được tạo.
Bash— Azure Cloud Shellaz disk list --resource-group az104-rg3 --output table
Note: Bạn đã triển khai thành công năm managed disks, mỗi disk theo một cách khác nhau. Xuất sắc!
Dọn dẹp tài nguyên
Nếu bạn đang làm việc với subscription của riêng mình, hãy dành chút thời gian để xóa các tài nguyên lab. Điều này đảm bảo tài nguyên được giải phóng và chi phí được tối thiểu hóa. Cách dễ nhất để xóa tài nguyên lab là xóa resource group của lab.
# Azure Portal: select the resource group → Delete the resource group → Enter resource group name → Delete # Azure PowerShell Remove-AzResourceGroup -Name az104-rg3 # Azure CLI az group delete --name az104-rg3
Tổng kết
Azure Resource Manager templates cho phép bạn triển khai, quản lý và giám sát tất cả tài nguyên cho giải pháp của mình theo nhóm, thay vì xử lý từng tài nguyên riêng lẻ.
Azure Resource Manager template là file JavaScript Object Notation (JSON) cho phép bạn quản lý cơ sở hạ tầng theo cách khai báo thay vì dùng scripts.
Thay vì truyền parameters dưới dạng giá trị nội tuyến trong template, bạn có thể dùng một file JSON riêng chứa các giá trị parameter.
Azure Resource Manager templates có thể được triển khai theo nhiều cách khác nhau bao gồm Azure portal, Azure PowerShell và CLI.
Bicep là giải pháp thay thế cho Azure Resource Manager templates. Bicep sử dụng cú pháp khai báo để triển khai Azure resources.
Bicep cung cấp cú pháp súc tích, an toàn kiểu tin cậy và hỗ trợ tái sử dụng code. Bicep mang đến trải nghiệm viết hạng nhất cho các giải pháp infrastructure-as-code trong Azure.