สิ่งที่ฉันพยายามทำคือเปิด Kubernetes Dashboard บนคลัสเตอร์ของฉัน
แดชบอร์ดได้รับการติดตั้งโดยใช้ Kubespray ดังนั้นฉันค่อนข้างแน่ใจว่าติดตั้งอย่างถูกต้อง (อย่างน้อยพ็อดก็ทำงานโดยไม่มีข้อผิดพลาด)
ภาพรวมการตั้งค่าของคลัสเตอร์มีดังต่อไปนี้:
$ kubectl รับ svc --all-namespaces
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) อายุ
kubernetes เริ่มต้น ClusterIP 10.65.0.1 <ไม่มี> 443/TCP 2d
ระบบ kube coredns ClusterIP 10.65.0.3 <ไม่มี> 53/UDP,53/TCP,9153/TCP 2d
แดชบอร์ดระบบ kube-ตัวชี้วัด-scraper ClusterIP 10.65.43.101 <ไม่มี> 8000/TCP 2d
ระบบ kube kubernetes-แดชบอร์ด ClusterIP 10.65.10.7 <ไม่มี> 443/TCP 2d
$ kubectl รับเข้า --all-namespaces
NAMESPACE NAME CLASS HOSTS ADDRESS PORTS AGE
แดชบอร์ดระบบ kube <ไม่มี> * 80 4m22s
$ cat dash_ingress.yml
รุ่น api: networking.k8s.io/v1
ชนิด: ทางเข้า
ข้อมูลเมตา:
เนมสเปซ: ระบบ kube
ชื่อ: แดชบอร์ด
selfLink: /api/แดชบอร์ด
ข้อมูลจำเพาะ:
แบ็กเอนด์เริ่มต้น:
บริการ:
ชื่อ: แดชบอร์ด kubernetes
ท่า:
หมายเลข: 443
สมมติว่าเซิร์ฟเวอร์ของฉันทำงานบน IP 10.11.12.13 เมื่อฉันพยายามเข้าถึง http://10.11.12.13/api/dashboardฉันได้รับข้อผิดพลาด 404 เมื่อลองใช้ https:// Chrome รายงานแทน ERR_CONNECTION_TIMED_OUT
. นอกจากนั้นทั้งหมด http:// การโทรไปยัง IP โดยไม่มีส่วนต่อท้ายใด ๆ ก็จบลงด้วยข้อผิดพลาด 404
ข้อผิดพลาด 404 ของ nginx เป็นสิ่งที่ดีทีเดียว เนื่องจากอย่างน้อย จิงซ์
ดูเหมือนว่าจะทำงานได้อย่างถูกต้อง แต่จะเข้าถึงแดชบอร์ดได้อย่างไรหรือจะเปิดเผยให้เข้าถึงได้อย่างไร ฉันควรลองพอร์ตอื่น (ตรวจสอบ 8443 แล้ว - จบลงเหมือนทั้งหมด https:// โทร) หรืออย่างอื่น?
แก้ไข:
หลังจากกำหนดค่าวัตถุ Ingress ใหม่ดังนี้ (เพิ่มคำอธิบายประกอบ):
รุ่น api: networking.k8s.io/v1
ชนิด: ทางเข้า
ข้อมูลเมตา:
เนมสเปซ: ระบบ kube
ชื่อ: แดชบอร์ด
selfLink: /api/แดชบอร์ด
คำอธิบายประกอบ:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/service-upstream: "จริง"
ข้อมูลจำเพาะ:
แบ็กเอนด์เริ่มต้น:
บริการ:
ชื่อ: แดชบอร์ด kubernetes
ท่า:
หมายเลข: 443
ฉันพบว่าการโทร https://10.11.12.13:6443/ ให้ข้อผิดพลาด 403 โดยส่งคืนวัตถุสถานะต่อไปนี้:
{
"ชนิด": "สถานะ",
"apiVersion": "v1",
"ข้อมูลเมตา": {},
"สถานะ": "ล้มเหลว",
"ข้อความ": "ต้องห้าม: ผู้ใช้ \"ระบบ:ไม่ระบุชื่อ\" ไม่สามารถรับเส้นทางได้
\"/api/แดชบอร์ด\"",
"เหตุผล": "ต้องห้าม",
"รายละเอียด": {},
"รหัส": 403
}
ไม่แน่ใจว่ามาจาก Dashboard หรือบริการ Kubernetes อื่นๆ หรือไม่ (Ingress ได้รับการกำหนดค่าสำหรับ Dashboard แต่ฉันยังขาดความรู้ในหัวข้อนี้)
แก้ไข #2:
โทร http://10.11.12.13 เปลี่ยนเส้นทางไปที่ http://10.11.12.13/#/เข้าระบบ หน้าและหน้าขอโทเค็นหรือไฟล์กำหนดค่า การลงชื่อเข้าใช้ถูกปิดใช้งานเนื่องจากไม่มีการสื่อสาร https แม้ว่า...