โดยทั่วไปแล้ว หากคุณได้รับ CmdletizationQuery_NotFound
อาจไม่มีข้อมูลเกี่ยวกับฟิลด์ที่ล้มเหลวเสมอไป หากมีหลายฟิลด์ในแบบสอบถาม...
â sig-windows-dev-tools git:(antrea-node-ip-hardcoding) â vagrant winrm winw1 --shell=powershell --command="Get-NetRoute -InterfaceIndex 123 "
ไม่พบวัตถุ MSFT_NetRoute ที่มีคุณสมบัติ 'InterfaceIndex' เท่ากับ '123' ตรวจสอบค่าของคุณสมบัติและลองอีกครั้ง
ที่บรรทัด:1 ตัวอักษร:1
+ รับ NetRoute -InterfaceIndex 123
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (123:UInt32) [Get-NetRoute], CimJobException
+ FullyQualifiedErrorId : CmdletizationQuery_NotFound_InterfaceIndex,Get-NetRoute
เป็นเพราะแบบสอบถาม CIMs เฉพาะล้มเหลว ดังนั้นจึงไม่พบวัตถุที่คุณกำลังมองหา
อย่างไรก็ตามปรากฏว่า บางครั้งแบบสอบถาม CIMS จะไม่สามารถส่งคืนผลลัพธ์ได้ โดยไม่แจ้งส่วนเฉพาะของแบบสอบถามที่ล้มเหลว (เช่น CmdletizationQuery_NotFound_InterfaceIndex
ด้านบนนั้นดีและอ่านง่าย แต่ข้อความค้นหาเดียวกันด้านล่างเมื่อเราเพิ่ม คำนำหน้าปลายทาง
ช่องค้นหาให้ข้อความแสดงข้อผิดพลาดที่เป็นความลับมากขึ้น)...
â sig-windows-dev-tools git:(antrea-node-ip-hardcoding) â vagrant winrm winw1 --shell=powershell --command="Get-NetRoute -InterfaceIndex 7 -DestinationPrefix 0.0.0.0/1 "
ไม่พบวัตถุ MSFT_NetRoute ที่ตรงกันโดยแบบสอบถาม CIM สำหรับอินสแตนซ์ของคลาส ROOT/StandardCimv2/MSFT_NetRoute บนเซิร์ฟเวอร์ CIM: SELECT * FROM MSFT_NetRoute WHERE ((DestinationPrefix LIKE '0.0.0.0/1')) AND ((InterfaceIndex = 7)) ตรวจสอบพารามิเตอร์การค้นหาแล้วลองอีกครั้ง
ที่บรรทัด:1 ตัวอักษร:1
+ รับ NetRoute -InterfaceIndex 7 -DestinationPrefix 0.0.0.0/1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (MSFT_NetRoute:String) [Get-NetRoute], CimJobException
+ FullyQualifiedErrorId : CmdletizationQuery_NotFound, Get-NetRoute
ในกรณีเฉพาะนี้:
- ไม่มีอินเทอร์เฟซ IP ที่มี id = 26 ซึ่งยังมีคำนำหน้าปลายทาง 0.0.0.0/0
ในกรณีทั่วไป หากคุณได้รับข้อผิดพลาดที่คล้ายกัน อาจเกิดจากการที่คุณเพิ่งสร้างแบบสอบถาม CIMS ที่ไม่สามารถส่งคืนข้อมูลใด ๆ.
ตอนนี้ เนื่องจากคำถามเดิมเกี่ยวข้องกับผู้ให้บริการ Kubernetes CNI ฉันจะกล่าวถึงส่วนนั้น:
ใน Kubernetes บน Windows
ผู้ให้บริการ CNI เช่น antrea ต้องการข้อมูลนี้เมื่อออนไลน์ และสิ่งทั่วไปที่ต้องแน่ใจคือข้อเท็จจริงที่ว่า windows kubelet ของคุณตั้งค่าที่อยู่ IP อย่างถูกต้อง (เช่น ผ่านฟิลด์ node-ip เมื่อเริ่มต้น)
ในกรณีของฉัน ฉันพบว่าหลังจากตั้งค่านี้ ข้อความค้นหานี้ถูกสร้างขึ้นอย่างถูกต้อง และเริ่มมองหาอินเทอร์เฟซที่ถูกต้องสำหรับค่านี้ (เช่น ค่าที่ตรงกับที่อยู่ IP ภายในของโหนดของฉัน)
มีคำถามกว้างๆ ว่าโดยทั่วไปแล้วควรตั้งค่า DestinationPrefixes ใน Kubernetes windows VMs อย่างไร แต่นั่นอยู่นอกขอบเขตของคำถามเดิมของฉัน แต่โดยทั่วไป หากคุณตั้งค่าเครือข่ายอย่างถูกต้อง เช่น:
- ของคุณ
โหนดไอพี
ที่แสดงโดย kubectl รับโหนด -o กว้าง
เป็นสิ่งที่ถูกต้องที่คุณต้องการสำหรับ windows kubelet และ
- นั่น
โหนดไอพี
เชื่อมโยงกับอินเทอร์เฟซซึ่งมีที่อยู่ IP คำนำหน้าปลายทาง = 0.0.0.0/0
จากนั้นผู้ให้บริการ antrea CNI โดยเฉพาะจะสามารถระบุได้อย่างถูกต้อง ถัดไปHop
สำหรับเกตเวย์ ซึ่งท้ายที่สุดจะใช้เพื่อกำหนดค่ากฎการกำหนดเส้นทาง OVS บนโหนดสำหรับเครือข่ายพ็อดของคุณ