Điều tôi đang cố gắng thực hiện là khởi chạy Bảng điều khiển Kubernetes trên cụm của mình.
Bảng điều khiển đã được cài đặt bằng Kubespray, vì vậy tôi khá chắc chắn rằng nó đã được cài đặt đúng cách (ít nhất là các nhóm của nó chạy không có lỗi).
Tổng quan về thiết lập của cụm như sau:
$ kubectl nhận svc --all-namespaces
NAMESPACE TÊN LOẠI CLUSTER-IP (CỔNG IP NGOÀI) TUỔI
kubernetes mặc định ClusterIP 10.65.0.1 <không có> 443/TCP 2d
kube-system coredns ClusterIP 10.65.0.3 <none> 53/UDP,53/TCP,9153/TCP 2d
kube-system dashboard-metrics-scraper ClusterIP 10.65.43.101 <none> 8000/TCP 2d
kube-system kubernetes-dashboard ClusterIP 10.65.10.7 <không có> 443/TCP 2d
$ kubectl get ingress --all-namespaces
NAMESPACE TÊN LỚP MÁY CHỦ ĐỊA CHỈ CỔNG TUỔI
bảng điều khiển hệ thống kube <none> * 80 4m22s
$ mèo dash_ingress.yml
apiVersion: mạng.k8s.io/v1
loại: Xâm nhập
metadata:
không gian tên: hệ thống kube
tên: bảng điều khiển
selfLink: /api/dashboard
thông số kỹ thuật:
phụ trợ mặc định:
dịch vụ:
tên: bảng điều khiển kubernetes
Hải cảng:
số: 443
Giả sử rằng máy chủ của tôi chạy trên IP 10.11.12.13, khi tôi cố truy cập http://10.11.12.13/api/dashboard, tôi gặp lỗi 404. Khi thử với https:// thay vào đó, Chrome báo cáo ERR_CONNECTION_TIMED_OUT
. Bên cạnh đó, tất cả http:// các cuộc gọi đến IP mà không có bất kỳ hậu tố nào cũng dẫn đến lỗi 404.
Lỗi 404 của nginx là một điều khá tích cực, vì ít nhất nginx
dường như hoạt động chính xác, nhưng làm cách nào để truy cập Trang tổng quan hoặc cách hiển thị để có thể truy cập được? Tôi có nên thử các cổng khác không (đã kiểm tra 8443 - kết quả là tất cả https:// cuộc gọi) hoặc bất cứ điều gì khác?
CHỈNH SỬA:
Sau khi cấu hình lại đối tượng Ingress như sau (thêm chú thích):
apiVersion: mạng.k8s.io/v1
loại: Xâm nhập
metadata:
không gian tên: hệ thống kube
tên: bảng điều khiển
selfLink: /api/dashboard
chú thích:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/service-upstream: "true"
thông số kỹ thuật:
phụ trợ mặc định:
dịch vụ:
tên: bảng điều khiển kubernetes
Hải cảng:
số: 443
Tôi phát hiện ra rằng cuộc gọi https://10.11.12.13:6443/ đưa ra lỗi 403 với đối tượng Trạng thái sau được trả về:
{
"loại": "Trạng thái",
"apiVersion": "v1",
"metadata": {},
"trạng thái": "Thất bại",
"message": "bị cấm: Người dùng \"system:anonymous\" không nhận được đường dẫn
\"/api/bảng điều khiển\"",
"lý do": "Bị cấm",
"chi tiết": {},
"mã": 403
}
Mặc dù vậy, tôi không chắc chắn nếu điều này đến từ Trang tổng quan hoặc một số dịch vụ Kubernetes khác (Ingress đã được định cấu hình cho Trang tổng quan, nhưng tôi vẫn chưa có kiến thức về chủ đề này).
CHỈNH SỬA #2:
gọi http://10.11.12.13 chuyển hướng đến http://10.11.12.13/#/đăng nhập trang và trang yêu cầu mã thông báo hoặc tệp cấu hình. Đăng nhập bị vô hiệu hóa do thiếu giao tiếp https mặc dù...