Tôi đang cố định cấu hình Cân bằng tải cho máy chủ AKS của mình bằng Bicep/ARM. Tôi đang sử dụng NGinx Ingress Controller trong kubernetes và nó có vẻ hoạt động nhưng khi tôi khởi động mọi thứ lần đầu tiên, tôi gặp lỗi.
Về cơ bản, tôi đang tự hỏi mẫu ARM hoặc Bicep tương đương cho bước này trong tài liệu Azure là gì?
https://docs.microsoft.com/en-us/azure/aks/static-ip#create-a-service-using-the-static-ip-address
az gán vai trò tạo \
--assignee <Mã khách hàng> \
--role "Người đóng góp mạng" \
--scope /subscriptions/<subscription id>/resourceGroups/<tên nhóm tài nguyên>
Tôi đang sử dụng Bicep và đã tạo máy chủ AKS của mình như thế này chẳng hạn:
tài nguyên Ví dụKubernetes 'Microsoft.ContainerService/managedClusters@2021-07-01' = {
//...
}
Sau đó, tôi sẽ thêm phân công vai trò vào danh tính kubelet như sau:
var NetworkContibutor = '4d97b98b-1d4f-4787-a291-c67834d212e7'
tài nguyên AssignNetworkContributorToKubelet 'Microsoft.Authorization/roleAssignments@2020-08-01-preview' = {
tên: guid(resourceGroup().id, ExampleKubernetes.id, NetworkContibutor)
phụ thuộc: [
Ví dụKubernetes
]
tính chất: {
roleDefinitionId: subscribeResourceId('Microsoft.Authorization/roleDefinitions', NetworkContibutor)
loại hiệu trưởng: 'ServicePrincipal'
principalId: ExampleKubernetes.properties.identityProfile.kubeletidentity.objectId
}
}
Điều này dường như hoạt động, tôi có thể thấy Vai trò được gán cho hiệu trưởng được quản lý trong bảng điều khiển... nhưng Dịch vụ trong kubernetes dường như vẫn không thành công với vấn đề về quyền:
Lỗi khi đồng bộ hóa bộ cân bằng tải: không thể đảm bảo bộ cân bằng tải: Có thể truy xuất: sai,
Retryafter: 0s, HTTPStatusCode: 403, RawError: Retriable: false, Retryafter:
0s, HTTPStatusCode: 403, RawError:
{"error":{"code":"AuthorizationFailed","message":"Máy khách
'<một số hướng dẫn A>' với id đối tượng
'<some buid A>' không có quyền thực hiện
hành động 'Microsoft.Network/publicIPAddresses/read' trên phạm vi
'/subscriptions/<subid>/resourceGroups/example/providers/Microsoft.Network/publicIPAddresses/example'
hoặc phạm vi không hợp lệ. Nếu quyền truy cập được cấp gần đây, vui lòng làm mới
thông tin đăng nhập."}}
Điều kỳ lạ là sau này, tại một thời điểm nào đó, nó dường như chỉ hoạt động một cách kỳ diệu. Lỗi đó báo "retriable false" và có vẻ như dịch vụ không thử lại nhưng lần triển khai tiếp theo của NGinx cho kubernetes sẽ sau đó khiến nó thử lại và đột nhiên bùng nổ hoạt động.
Có vẻ như thông báo lỗi đang nói với tôi rằng có một số độ trễ không xác định trong việc truyền bá vai trò... Vì vậy, câu hỏi của tôi là:
- Có đúng không? Có phải thực tế nó chỉ là một sự chậm trễ và mã của tôi về cơ bản là đúng?
- Tôi có đang sử dụng đúng số hiệu chính không? Hay điều đó thực sự không cần thiết?
- Có cách nào để tôi buộc những cập nhật vai trò đó lan truyền không? Tôi có thể có một bước CLI ở giữa nếu cần. Làm cách nào tôi có thể đợi để cài đặt bộ điều khiển xâm nhập kết nối với LB sau khi các quyền đã sẵn sàng?