tôi đang phải đối mặt với điều này lỗi kubelet trên cụm k8s của tôi đang chạy CentOS 7. Lỗi này xuất hiện sau khi tôi khởi động lại các nút cụm gần đây. Tôi chưa gặp phải vấn đề tương tự trước đây khi tôi khởi động lại máy.
tôi đã thử chạy hoán đổi -a
để vô hiệu hóa trao đổi nhưng nó không khắc phục được sự cố.
Đây là trạng thái systemctl kubelet -l
nhật ký:
[root@test-master ~]# systemctl status kubelet -l
â kubelet.service - kubelet: Tác nhân nút Kubernetes
Đã tải: đã tải (/usr/lib/systemd/system/kubelet.service; đã bật; giá trị đặt sẵn của nhà cung cấp: đã tắt)
Truy cập: /usr/lib/systemd/system/kubelet.service.d
ââ10-kubeadm.conf
Đang hoạt động: đang kích hoạt (tự động khởi động lại) (Kết quả: mã thoát) kể từ Thứ Hai 2022-05-30 13:59:51 +08; 822ms trước
Tài liệu: https://kubernetes.io/docs/
Quá trình: 9325 ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS (mã=đã thoát, trạng thái=1/THẤT BẠI)
PID chính: 9325 (mã=đã thoát, trạng thái=1/THẤT BẠI)
May 30 13:59:51 test-master kubelet[9325]: Insecure values: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_3DES_EDE_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_RC4_128_SHA. (KHÔNG ĐƯỢC DÙNG: Tham số này phải được đặt thông qua tệp cấu hình được chỉ định bởi cờ --config của Kubelet. Xem https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ để biết thêm thông tin.)
Ngày 30 tháng 5 13:59:51 test-master kubelet[9325]: --tls-min-version string Phiên bản TLS tối thiểu được hỗ trợ. Các giá trị có thể có: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13 (KHÔNG ĐƯỢC DÙNG: Tham số này phải được đặt thông qua tệp cấu hình được chỉ định bởi cờ --config của Kubelet. Xem https://kubernetes.io/docs/tasks/administer-cluster/kubelet- config-file/ để biết thêm thông tin.)
Ngày 30 tháng 5 13:59:51 test-master kubelet[9325]: --tls-private-key-file string Tệp chứa khóa riêng x509 khớp với --tls-cert-file. (KHÔNG ĐƯỢC DÙNG: Tham số này phải được đặt thông qua tệp cấu hình được chỉ định bởi cờ --config của Kubelet. Xem https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ để biết thêm thông tin.)
Ngày 30 tháng 5 13:59:51 test-master kubelet[9325]: --topology-manager-policy string Chính sách quản lý cấu trúc liên kết sẽ sử dụng. Các giá trị có thể có: 'none', 'best-effort', 'restricted', 'single-numa-node'. (mặc định là "none") (KHÔNG ĐƯỢC DÙNG: Tham số này phải được đặt thông qua tệp cấu hình được chỉ định bởi cờ --config của Kubelet. Xem https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ để biết thêm thông tin.)
Ngày 30 tháng 5 13:59:51 test-master kubelet[9325]: --topology-manager-scope string Phạm vi áp dụng gợi ý cấu trúc liên kết. Trình quản lý cấu trúc liên kết thu thập các gợi ý từ Nhà cung cấp gợi ý và áp dụng chúng cho phạm vi đã xác định để đảm bảo tiếp nhận nhóm. Các giá trị có thể có: 'container', 'pod'. ("vùng chứa" mặc định) (KHÔNG ĐƯỢC DÙNG: Tham số này phải được đặt thông qua tệp cấu hình được chỉ định bởi cờ --config của Kubelet. Xem https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ để biết thêm thông tin.)
Ngày 30 tháng 5 13:59:51 test-master kubelet[9325]: -v, --v Số cấp cho mức độ chi tiết của nhật ký
Ngày 30 tháng 5 13:59:51 test-master kubelet[9325]: --version version[=true] In thông tin phiên bản và thoát
Ngày 30 tháng 5 13:59:51 test-master kubelet[9325]: --vmodule pattern=N,... danh sách được phân tách bằng dấu phẩy của các cài đặt pattern=N cho ghi nhật ký được lọc tệp (chỉ hoạt động với định dạng nhật ký văn bản)
Ngày 30 tháng 5 13:59:51 test-master kubelet[9325]: --volume-plugin-dir string Đường dẫn đầy đủ của thư mục để tìm kiếm các plugin ổ đĩa bổ sung của bên thứ ba (mặc định "/usr/libexec/kubernetes/kubelet -plugins/volume/exec/") (KHÔNG ĐƯỢC DÙNG: Tham số này phải được đặt thông qua tệp cấu hình được chỉ định bởi cờ --config của Kubelet. Xem https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config -file/ để biết thêm thông tin.)
Ngày 30 tháng 5 13:59:51 test-master kubelet[9325]: --volume-stats-agg-period duration Chỉ định khoảng thời gian để kubelet tính toán và lưu vào bộ nhớ cache mức sử dụng ổ đĩa cho tất cả các nhóm và ổ đĩa. Để tắt tính toán khối lượng, hãy đặt thành số âm. (1m0s mặc định) (KHÔNG ĐƯỢC DÙNG: Tham số này phải được đặt thông qua tệp cấu hình được chỉ định bởi cờ --config của Kubelet. Xem https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ để biết thêm thông tin.)
Đây là nội dung của /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf
đã đề cập trong nhật ký trước:
[root@test-master ~]# mèo /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf
# Lưu ý: Dropin này chỉ hoạt động với kubeadm và kubelet v1.11+
[Dịch vụ]
Môi trường="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
Môi trường="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"
# Đây là tệp mà "kubeadm init" và "kubeadm join" tạo ra trong thời gian chạy, tự động điền biến KUBELET_KUBEADM_ARGS
Tệp môi trường=-/var/lib/kubelet/kubeadm-flags.env
# Đây là tệp mà người dùng có thể sử dụng để ghi đè đối số kubelet như là phương sách cuối cùng. Tốt nhất, người dùng nên sử dụng
# thay vào đó, đối tượng .NodeRegistration.KubeletExtraArgs trong tệp cấu hình. KUBELET_EXTRA_ARGS phải được lấy từ tệp này.
Tệp môi trường=-/etc/sysconfig/kubelet
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS
Tôi cũng đã thử thêm Môi trường="KUBELET_SYSTEM_PODS_ARGS=--pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true --fail-swap-on=false"
đến tập tin được đề cập đây cùng với systemctl daemon-tải lại
và systemctl khởi động lại kubelet
nhưng nó không giúp được gì.
Thật không may, tôi không chắc lắm về phiên bản của máy chủ nhưng nó phải giống với phiên bản của tôi phiên bản máy khách [v1.23.3].
[root@test-master ~]# phiên bản kubectl
Phiên bản máy khách: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.3", GitCommit:"816c97ab8cff8a1c72eccca1026f7820e93e0d25", GitTreeState:"clean", BuildDate:"2022-01-25T21:25: 17Z", GoVersion:"go1.17.6", Trình biên dịch:"gc", Nền tảng:"linux/amd64"}
Kết nối với máy chủ 10.17.98.171:6443 bị từ chối - bạn đã chỉ định đúng máy chủ hoặc cổng chưa?
Có cách nào tôi có thể cứu cụm của mình mà không phải đặt lại toàn bộ cụm không? Tôi hy vọng tôi có thể truy cập các triển khai của mình trước đó đã chạy trong cụm.
Cập nhật:
Tôi đã cố gắng tìm các thông báo lỗi trong nhật ký bằng cách sử dụng tạp chíctl -fu kubelet
và đây là thứ gần nhất tôi có thể tìm thấy.
Ngày 31 tháng 5 08:58:12 test-master systemd[1]: kubelet.service hết thời gian chờ, lên lịch khởi động lại.
Ngày 31 tháng 5 08:58:12 test-master systemd[1]: Đã dừng kubelet: Tác nhân nút Kubernetes.
Ngày 31 tháng 5 08:58:12 test-master systemd[1]: Bắt đầu kubelet: Tác nhân nút Kubernetes.
Ngày 31 tháng 5 08:58:12 test-master kubelet[5280]: Lỗi: không thể phân tích cú pháp cờ kubelet: cờ không xác định: --network-plugin
Ngoài ra, đây là của tôi phiên bản của kubelet Kubernetes v1.24.1
.
Có vẻ như nó liên quan đến vấn đề này trên GitHub, https://github.com/kubernetes/website/issues/33640.