Vì vậy, nói chung, nếu bạn nhận được một CmdletizationQuery_NotFound
lỗi, không phải lúc nào cũng có thông tin về trường lỗi nếu có nhiều trường trong truy vấn...
â sig-windows-dev-tools git:(antrea-node-ip-hardcoding) â lang thang winrm winw1 --shell=powershell --command="Get-NetRoute -InterfaceIndex 123 "
Không tìm thấy đối tượng MSFT_NetRoute nào có thuộc tính 'InterfaceIndex' bằng '123'. Xác minh giá trị của thuộc tính và thử lại.
Tại dòng:1 ký tự:1
+ Get-NetRoute -Interface Index 123
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (123:UInt32) [Get-NetRoute], CimJobException
+ FullQualifiedErrorId : CmdletizationQuery_NotFound_InterfaceIndex,Get-NetRoute
Đó là do truy vấn CIM cụ thể không thành công và do đó không tìm thấy đối tượng bạn đang tìm kiếm.
Tuy nhiên, có vẻ như đôi khi một truy vấn CIMS sẽ không trả về kết quả mà không cung cấp cho bạn phần cụ thể của truy vấn không thành công (tức là CmdletizationQuery_NotFound_InterfaceIndex
ở trên rất hay và dễ đọc, nhưng cùng một truy vấn bên dưới khi chúng tôi thêm tiền tố đích
trường tìm kiếm, đưa ra thông báo lỗi khó hiểu hơn)...
â sig-windows-dev-tools git:(antrea-node-ip-hardcoding) â lang thang winrm winw1 --shell=powershell --command="Get-NetRoute -InterfaceIndex 7 -DestinationPrefix 0.0.0.0/1 "
Không tìm thấy đối tượng MSFT_NetRoute phù hợp nào bằng truy vấn CIM đối với các phiên bản của lớp ROOT/StandardCimv2/MSFT_NetRoute trên máy chủ CIM: CHỌN * TỪ MSFT_NetRoute WHERE ((DestinationPrefix LIKE '0.0.0.0/1')) AND ((InterfaceIndex = 7)). Xác minh tham số truy vấn và thử lại.
Tại dòng:1 ký tự:1
+ Get-NetRoute -Interface Index 7 -DestinationPrefix 0.0.0.0/1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (MSFT_NetRoute:String) [Get-NetRoute], CimJobException
+ FullQualifiedErrorId : CmdletizationQuery_NotFound,Get-NetRoute
Trong trường hợp cụ thể này:
- không có giao diện IP hiện có với id = 26 CŨNG có tiền tố đích 0.0.0.0/0
Trong các trường hợp tổng quát hơn, nếu bạn gặp lỗi tương tự, có thể do bạn vừa tạo một truy vấn CIMS không thể trả về bất kỳ dữ liệu nào.
Bây giờ, vì câu hỏi ban đầu liên quan đến nhà cung cấp Kubernetes CNI, nên tôi sẽ giải quyết phần đó:
Trong Kubernetes trên Windows
Các nhà cung cấp CNI như antrea cần thông tin này khi trực tuyến và điều chung cần đảm bảo là kubelet windows của bạn đang đặt địa chỉ IP chính xác (tức là thông qua trường nút-ip khi khởi động).
Trong trường hợp của tôi, tôi nhận thấy rằng sau khi thiết lập điều này, truy vấn này đã được tạo chính xác và nó bắt đầu xem đúng giao diện cho giá trị này (tức là giao diện tương ứng với địa chỉ IP nội bộ của Nút của tôi).
Nói chung, có một câu hỏi rộng hơn về cách thiết lập DestinationPrefixes trong máy ảo cửa sổ Kubernetes, nhưng điều đó nằm ngoài phạm vi câu hỏi ban đầu của tôi, nhưng nói chung, nếu bạn đã thiết lập mạng của mình một cách chính xác như sau:
- của bạn
nút-ip
như được hiển thị bởi kubectl nhận các nút -o rộng
là cái chính xác mà bạn muốn cho windows kubelet của mình và
- điều đó
nút-ip
được liên kết với một giao diện có tiền tố đích Địa chỉ IP = 0.0.0.0/0
Sau đó, cụ thể là nhà cung cấp CNI antrea sẽ có thể xác định chính xác tiếp theoHop
cho cổng của nó, cuối cùng được sử dụng để định cấu hình quy tắc định tuyến OVS trên một nút cho mạng nhóm của bạn.