ฉันใช้พ็อด (ภาพ bitnami/kubectl) ในคลัสเตอร์ kubernetes (clusterA) แต่ kubeconfig ถูกตั้งค่าให้ชี้ไปที่คลัสเตอร์อื่น (clusterB)
การใช้ kubernetes ในองค์กร 1.21.7 (บน VM) ที่ติดตั้งผ่าน kubeadm
kubeconfig ใช้:
api เวอร์ชัน: v1
ประเภท: การกำหนดค่า
คลัสเตอร์:
- ชื่อ: คลัสเตอร์เริ่มต้น
กลุ่ม:
ข้อมูลผู้ออกใบรับรอง: XXXXXXXXXXXXXXXXXXXXXXXX
เซิร์ฟเวอร์: https://clusterB:6443
บริบท:
- ชื่อ: บริบทเริ่มต้น
บริบท:
คลัสเตอร์: คลัสเตอร์เริ่มต้น
เนมสเปซ: ค่าเริ่มต้น
ผู้ใช้: ผู้ใช้เริ่มต้น
บริบทปัจจุบัน: บริบทเริ่มต้น
ผู้ใช้:
- ชื่อ: ผู้ใช้เริ่มต้น
ผู้ใช้:
โทเค็น: YYYYYYYYYYYYYYYYYYY
แม้ว่า kubeconfig ถูกต้อง แต่คลัสเตอร์ A ไม่อนุญาตให้คำขอออกจากคลัสเตอร์ A เพื่อไปยังคลัสเตอร์ B ดูเหมือนว่า kubernetes ควบคุมระนาบใน clusterA ตีความคำขอ pod kubectl ราวกับว่ากำลังพยายามควบคุมคลัสเตอร์ A เอง แต่นั่นไม่ใช่สิ่งที่ฉันพยายามทำ ฉันพยายามเข้าถึงคลัสเตอร์ B แทน (กำหนดใน 'เซิร์ฟเวอร์' ใน kubeconfig)
นี่เป็นข้อผิดพลาดเมื่อ kubectl ทำงาน:
ข้อผิดพลาดจากเซิร์ฟเวอร์ (ต้องห้าม): ข้อผิดพลาดเมื่อเรียกการกำหนดค่าปัจจุบันของ:
ทรัพยากร: "/v1, ทรัพยากร=ความลับ", GroupVersionKind: "/v1, ชนิด=ความลับ"
ชื่อ: "mysecret", Namespace: "istio-system"
จากเซิร์ฟเวอร์สำหรับ: "STDIN": ความลับ "mysecret" เป็นสิ่งต้องห้าม: ผู้ใช้ "ระบบ: serviceaccount: mynamespace:default" ไม่สามารถรับทรัพยากร "ความลับ" ในกลุ่ม API "" ในเนมสเปซ "istio-system"
แก้ไข:
ฉันใช้ kubectl ตั้งค่า kubeconfig แบบกำหนดเอง:
# kubectl --kubeconfig=/etc/custom.kubeconfig ข้อมูลคลัสเตอร์
หากต้องการดีบักและวินิจฉัยปัญหาคลัสเตอร์เพิ่มเติม ให้ใช้ 'kubectl cluster-info dump'
ข้อผิดพลาดจากเซิร์ฟเวอร์ (ต้องห้าม): บริการไม่ได้รับอนุญาต: ผู้ใช้ "ระบบ: บริการบัญชี: mynamespace: เริ่มต้น" ไม่สามารถแสดงรายการทรัพยากร "บริการ" ในกลุ่ม API "" ในเนมสเปซ "ระบบ kube"
# เซิร์ฟเวอร์ grep /etc/letsencrypt/custom.kubeconfig
เซิร์ฟเวอร์: https://clusterB:6443
แก้ไข 2:
# kubectl --kubeconfig=/etc/custom.kubeconfig ดัมพ์ข้อมูลคลัสเตอร์
ข้อผิดพลาดจากเซิร์ฟเวอร์ (ต้องห้าม): โหนดไม่ได้รับอนุญาต: ผู้ใช้ "ระบบ: บริการบัญชี: cadeado--producao:default" ไม่สามารถแสดงรายการทรัพยากร "โหนด" ในกลุ่ม API "" ที่ขอบเขตคลัสเตอร์