ฉันติดตั้ง Kubernetes ผ่าน Kubespray เรียบร้อยแล้วและดูเหมือนว่าทุกอย่างจะทำงานได้ดี ฉันสามารถเข้าถึงคลัสเตอร์ผ่าน kubectl และรายการโหนด, พ็อด, บริการ, ความลับและอื่น ๆ เป็นไปได้ที่จะใช้ ressources ใหม่และจุดสิ้นสุดแดชบอร์ดทำให้ฉันได้รับหน้าเข้าสู่ระบบแดชบอร์ด
ฉันได้เข้าสู่ระบบด้วยสัญญาณของความ serviceaccounts แตกต่างกัน (ค่าเริ่มต้น Kubernetes-แดชบอร์ด Kubernetes ผู้ดูแลระบบ, ... ) ... กับการเข้าสู่ระบบที่ฉันได้รับป๊อปอัพเหมือนกันทุกที่อธิบายไว้ในป๊อปอัพเตือนแดชบอร์ดที่ต้องห้าม kubesprayตัวอย่างเช่น
ดังนั้นฉันจึงใช้การควบคุมคลัสเตอร์สำหรับบัญชีบริการเริ่มต้นตามที่อธิบายไว้ เมื่อฉันเข้าสู่ระบบตอนนี้ด้วยโทเค็นบัญชีค่าเริ่มต้นฉันได้รับเท่านั้น
Unknown Server Error (404)
the server could not find the requested resource
Redirecting to previous state in 3 seconds...
กล่องซึ่งเปลี่ยนเส้นทางฉันไปที่หน้าเข้าสู่ระบบหลังจากนั้น kubectl proxy
พฤติกรรมเดียวกันถ้าฉันเชื่อมต่อกับแผงควบคุมผ่านทาง การเข้าถึงคือ HTTPS ผ่าน IP ของคลัสเตอร์สาธารณะและ HTTP ผ่านพรอกซี
ฉันกำลังใช้ Kubernetes 1.16.2 และอาจารย์ Kubespray รุ่นล่าสุดยอมรับ 18d19d9e
แก้ไข:ฉันทำลายและปรับโครงสร้างคลัสเตอร์ใหม่เพื่อรับอินสแตนซ์ Kubespray ที่จัดเตรียมใหม่เพื่อให้ขั้นตอนทั้งหมดเป็นไปตามที่กำหนดไว้โดยเพิ่มข้อมูลเพิ่มเติม ...
kubectl -n kube-system logs --follow kubernetes-dashboard-556b9ff8f8-jbmgg --
ในระหว่างการพยายามเข้าสู่ระบบให้ฉัน
2019/12/16 12:35:02 [2019-12-16T12:35:02Z] Incoming HTTP/2.0 GET /api/v1/csrftoken/login request from 10.233.74.0:57458: { contents hidden }
2019/12/16 12:35:02 [2019-12-16T12:35:02Z] Outcoming response to 10.233.74.0:57458 with 200 status code
2019/12/16 12:35:02 [2019-12-16T12:35:02Z] Incoming HTTP/2.0 POST /api/v1/login request from 10.233.74.0:57458: { contents hidden }
2019/12/16 12:35:02 [2019-12-16T12:35:02Z] Outcoming response to 10.233.74.0:57458 with 200 status code
2019/12/16 12:35:02 [2019-12-16T12:35:02Z] Incoming HTTP/2.0 GET /api/v1/login/status request from 10.233.74.0:57458: {}
2019/12/16 12:35:02 [2019-12-16T12:35:02Z] Outcoming response to 10.233.74.0:57458 with 200 status code
2019/12/16 12:35:02 [2019-12-16T12:35:02Z] Incoming HTTP/2.0 GET /api/v1/csrftoken/token request from 10.233.74.0:57458: {}
2019/12/16 12:35:02 [2019-12-16T12:35:02Z] Outcoming response to 10.233.74.0:57458 with 200 status code
2019/12/16 12:35:02 [2019-12-16T12:35:02Z] Incoming HTTP/2.0 POST /api/v1/token/refresh request from 10.233.74.0:57458: { contents hidden }
2019/12/16 12:35:02 [2019-12-16T12:35:02Z] Outcoming response to 10.233.74.0:57458 with 200 status code
2019/12/16 12:35:02 [2019-12-16T12:35:02Z] Incoming HTTP/2.0 GET /api/v1/login/status request from 10.233.74.0:57458: {}
2019/12/16 12:35:02 [2019-12-16T12:35:02Z] Outcoming response to 10.233.74.0:57458 with 200 status code
2019/12/16 12:35:02 [2019-12-16T12:35:02Z] Incoming HTTP/2.0 GET /api/v1/csrftoken/token request from 10.233.74.0:57458: {}
2019/12/16 12:35:02 [2019-12-16T12:35:02Z] Outcoming response to 10.233.74.0:57458 with 200 status code
2019/12/16 12:35:02 [2019-12-16T12:35:02Z] Incoming HTTP/2.0 POST /api/v1/token/refresh request from 10.233.74.0:57458: { contents hidden }
2019/12/16 12:35:02 [2019-12-16T12:35:02Z] Outcoming response to 10.233.74.0:57458 with 200 status code
2019/12/16 12:35:02 [2019-12-16T12:35:02Z] Incoming HTTP/2.0 GET /api/v1/overview/default?filterBy=&itemsPerPage=10&name=&page=1&sortBy=d,creationTimestamp request from 10.233.74.0:57458: {}
2019/12/16 12:35:03 Getting config category
2019/12/16 12:35:03 Getting discovery and load balancing category
2019/12/16 12:35:03 Getting lists of all workloads
2019/12/16 12:35:03 the server could not find the requested resource
2019/12/16 12:35:03 [2019-12-16T12:35:03Z] Outcoming response to 10.233.74.0:57458 with 404 status code
2019/12/16 12:35:03 No metric client provided. Skipping metrics.
2019/12/16 12:35:03 No metric client provided. Skipping metrics.
2019/12/16 12:35:03 No metric client provided. Skipping metrics.
2019/12/16 12:35:03 Getting pod metrics
2019/12/16 12:35:03 No metric client provided. Skipping metrics.
2019/12/16 12:35:03 No metric client provided. Skipping metrics.
2019/12/16 12:35:03 [2019-12-16T12:35:03Z] Incoming HTTP/2.0 GET /api/v1/systembanner request from 10.233.74.0:57458: {}
2019/12/16 12:35:03 [2019-12-16T12:35:03Z] Incoming HTTP/2.0 GET /api/v1/login/status request from 10.233.74.0:57458: {}
2019/12/16 12:35:03 [2019-12-16T12:35:03Z] Incoming HTTP/2.0 GET /api/v1/rbac/status request from 10.233.74.0:57458: {}
2019/12/16 12:35:03 [2019-12-16T12:35:03Z] Outcoming response to 10.233.74.0:57458 with 200 status code
2019/12/16 12:35:03 [2019-12-16T12:35:03Z] Outcoming response to 10.233.74.0:57458 with 200 status code
2019/12/16 12:35:03 [2019-12-16T12:35:03Z] Outcoming response to 10.233.74.0:57458 with 200 status code
2019/12/16 12:35:12 Metric client health check failed: the server could not find the requested resource (get services heapster). Retrying in 30 seconds.
2019/12/16 12:35:42 Metric client health check failed: the server could not find the requested resource (get services heapster). Retrying in 30 seconds.
ฉันพบวิธีแก้ปัญหาแปลก ๆ เพื่อให้แดชบอร์ดทำงานได้ แต่นี่ไม่สามารถใช้ได้สำหรับเราในการผลิตบางทีใครบางคนสามารถอธิบายสิ่งนี้:
- ฉันใช้ตัวอย่างเช่น serviceaccount
kube-system:default
(หมายเหตุ: อันนี้ไม่ได้รับมอบหมายcluster-admin
ในจุดนี้ - ฉันได้รับโทเค็นและลงชื่อเข้าใช้ด้วย
- แดชบอร์ดแสดงให้ฉันเห็นอย่างชัดเจนว่า "ต้องห้าม - ป๊อปอัป"
- ในขณะที่ยังเข้าสู่ระบบฉันทำงาน
kubectl create clusterrolebinding default-admin --clusterrole cluster-admin --serviceaccount=kube-system:default
- ฉันรีเฟรชแท็บเบราว์เซอร์ที่เก็บเซสชันแดชบอร์ดของฉัน ... และอื่น ๆ ทุกอย่างปรากฏขึ้นอย่างถูกต้อง
ดังนั้นฉันไม่สามารถออกจากระบบและลงชื่อเข้าใช้อีกครั้งฉันต้องลบการควบคุมคลัสเตอร์การเข้าสู่ระบบจากนั้นจึงใช้การควบคุมคลัสเตอร์อีกครั้ง
ดูเหมือนว่าจะเกี่ยวข้องอย่างมากกับกลุ่ม kubespray ที่จัดไว้ดังนั้นใครที่สามารถสร้างสิ่งนี้ด้วย kubespray?