Tôi đang cố gắng triển khai cụm k8s bằng cách sử dụng kubespray trên cụm máy chủ ubuntu openstack. Quá trình cài đặt không thành công khi kubeadm cố gắng khởi tạo nhà cung cấp đám mây bằng cách gửi yêu cầu đăng tới điểm cuối keystone xxx:5000/v3/ để tạo mã thông báo bootstrap. kubelet.service không khởi động được vì điểm cuối keystone được ký bởi một chứng chỉ tự ký. Xem bên dưới. Tôi đã lưu chứng chỉ ca từ điểm cuối keystone và đặt nó trên nút chính trong /etc/kubernetes/ssl/ nơi kubelet và kubeadm tìm kiếm chứng chỉ. Tôi cũng đã cập nhật /etc/kubernetes/kubeadm-config.yaml Dựa trên tài liệu đây và đây, tôi đã cập nhật cấu hình mặc định tham gia kubeadm để bao gồm 'unsafeSkipCAVerification: true', nhưng kubelet.service vẫn không thành công trên chứng chỉ tự ký. Kubeadm phải được xác thực thông qua tên người dùng/mật khẩu được lưu trữ trong tệp /etc/kubernetes/cloud_config và tôi đã xác minh rằng các giá trị đó là chính xác. Tôi không chắc phải tìm nơi nào khác để thay đổi hành vi. Bất kỳ sự hướng dẫn sẽ được đánh giá rất nhiều.
ubuntu:/etc/kubernetes# cấu hình kubeadm in tham gia mặc định
phiên bản api: kubeadm.k8s.io/v1beta3
caCertPath: /etc/kubernetes/pki/ca.crt
khám phá:
khởi độngToken:
apiServerEndpoint: kube-apiserver:6443
mã thông báo: abcdef.0123456789abcdef
không an toànSkipCAVerification: true
thời gian chờ: 5m0s
tlsBootstrapToken: abcdef.0123456789abcdef
loại: JoinConfiguration
nútĐăng ký:
criSocket: /var/run/dockershim.sock
imagePullPolicy: IfNotPresent
tên: mdap-nút-01
vết nhơ: null
theo dõi ngăn xếp kubelet:
Ngày 15 tháng 12 22:19:51 ubuntu kubelet[388780]: E1215 22:19:51.760564 388780 server.go:294] "Không thể chạy kubelet" err="không thể chạy Kubelet: không thể khởi tạo nhà cung cấp đám mây \"openstack\" : Đăng \"https://XXX.XXX.XXX.132:5000/v3/auth/tokens\": x509: chứng chỉ được ký bởi cơ quan không xác định"
Ngày 15 tháng 12 22:19:51 ubuntu systemd[1]: kubelet.service: Quá trình chính đã thoát, mã=đã thoát, trạng thái=1/THẤT BẠI
KHÔNG THÀNH CÔNG - THỬ LẠI: Tạo mã thông báo kubeadm để tham gia các nút hết hạn 24 giờ (mặc định) (còn 4 lần thử lại). Kết quả là: {
"nỗ lực": 2,
"đã thay đổi": sai,
"cmd": [
"/usr/local/bin/kubeadm",
"--kubeconfig",
"/etc/kubernetes/admin.conf",
"mã thông báo",
"tạo ra"
],
"đồng bằng": "0:01:15.035670",
"end": "2021-12-16 15:03:22.901080",
"yêu cầu": {
"module_args": {
"_raw_params": "/usr/local/bin/kubeadm --kubeconfig /etc/kubernetes/admin.conf tạo mã thông báo",
"_uses_shell": sai,
"argv": không,
"chdir": không,
"tạo": null,
"thực thi": null,
"loại bỏ": null,
"stdin": không
"stdin_add_newline": đúng,
"strip_empty_ends": đúng,
"cảnh báo": đúng
}
},
"msg": "mã trả về khác không",
"rc": 1,
"thử lại": 6,
"bắt đầu": "2021-12-16 15:02:07.865410",
"stderr": "đã hết thời gian chờ điều kiện\nĐể xem dấu vết ngăn xếp của lỗi này thực thi với --v=5 hoặc cao hơn",
"stderr_lines": [
"hết thời gian chờ điều kiện",
"Để xem dấu vết ngăn xếp của lỗi này, hãy thực thi với --v=5 hoặc cao hơn"
],
"thiết bị xuất chuẩn": "",
"stdout_lines": []